Isaac Connor
ce5fb82f08
fix: handle AV_NOPTS_VALUE pts/dts in VideoStore
...
Some cameras produce packets where both pts and dts are AV_NOPTS_VALUE.
Previously, video passthrough skipped timestamp processing for these,
write_packet set dts to -1 and never updated tracking state,
audio_first_dts could be set to AV_NOPTS_VALUE permanently, and the
reorder queue compared AV_NOPTS_VALUE values meaninglessly.
- Video passthrough: synthesize dts as last_dts+1 when both pts/dts
are undefined, keeping monotonic ordering without colliding with the
next valid packet's timestamp
- Audio: guard audio_first_dts from being set to AV_NOPTS_VALUE, and
guard passthrough subtraction to avoid NOPTS arithmetic overflow
- write_packet: synthesize dts as last_dts+1 instead of reusing stale
last_dts, fall back to 0 when no history exists, and always update
tracking state (last_dts/next_dts/last_duration) regardless of
which branch was taken
- Reorder queue: skip reordering when incoming dts is undefined and
treat queued NOPTS packets as in-order
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 18:19:20 -05:00
..
2024-03-26 13:43:58 -05:00
2026-02-23 18:19:20 -05:00
2013-03-17 00:45:21 +01:00
2026-02-04 20:44:17 -05:00
2024-10-26 14:29:40 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-02 20:34:33 -05:00
2026-02-03 10:18:49 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 10:18:49 -05:00
2026-02-02 20:44:01 -05:00
2026-02-23 18:19:20 -05:00
2026-02-03 10:18:49 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2021-06-06 19:11:11 +02:00
2021-05-30 22:56:21 +02:00
2021-05-30 22:56:21 +02:00
2026-02-03 10:18:49 -05:00
2024-03-26 13:43:58 -05:00
2026-02-04 20:44:17 -05:00
2024-10-26 14:29:40 -04:00
2021-05-16 16:42:58 +02:00
2026-02-03 10:18:49 -05:00
2025-07-05 08:09:09 -04:00
2026-02-12 23:00:59 -05:00
2026-02-12 23:00:59 -05:00
2026-02-23 18:19:20 -05:00
2026-02-08 16:18:51 -06:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-23 18:16:55 -05:00
2026-01-26 14:40:10 -05:00
2026-02-09 17:38:14 -05:00
2025-09-22 09:52:25 -04:00
2026-02-03 11:03:17 -05:00
2024-03-26 13:43:58 -05:00
2026-02-05 09:08:02 -05:00
2026-01-26 14:40:10 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 11:36:53 -05:00
2024-03-26 13:43:58 -05:00
2026-02-02 23:24:08 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2021-05-30 21:41:58 +02:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 11:42:14 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-23 18:19:20 -05:00
2026-02-07 22:32:56 -05:00
2025-07-19 14:18:32 -04:00
2025-07-19 14:18:32 -04:00
2026-02-03 11:49:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:09:44 -05:00
2024-03-26 13:43:58 -05:00
2021-05-16 19:41:45 +02:00
2026-02-15 15:38:07 -05:00
2026-01-29 18:50:42 -05:00
2026-02-23 18:19:20 -05:00
2026-02-23 18:19:20 -05:00
2024-03-26 13:43:58 -05:00
2026-01-14 13:28:52 -05:00
2026-02-09 10:05:02 -05:00
2026-02-09 10:05:02 -05:00
2024-03-26 13:43:58 -05:00
2026-02-12 16:53:39 -05:00
2026-02-09 11:34:44 -05:00
2022-11-03 18:28:23 -04:00
2024-03-26 13:43:58 -05:00
2026-02-09 10:05:02 -05:00
2026-02-23 18:19:20 -05:00
2026-02-23 18:19:20 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-23 18:19:20 -05:00
2024-03-26 13:43:58 -05:00
2025-09-18 14:48:52 -04:00
2024-03-26 13:43:58 -05:00
2026-02-02 20:53:00 -05:00
2024-10-29 13:30:29 -04:00
2026-02-07 23:41:48 -05:00
2026-02-15 15:38:07 -05:00
2026-02-15 15:38:07 -05:00
2026-02-15 15:38:07 -05:00
2026-02-03 12:13:29 -05:00
2022-01-06 16:45:15 -06:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2025-02-26 21:04:32 +11:00
2025-02-26 21:04:32 +11:00
2026-02-04 17:41:37 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-09-14 11:06:55 +10:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:25:21 -05:00
2024-03-26 13:43:58 -05:00
2025-09-18 10:07:50 -04:00
2026-02-03 12:34:21 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:45:56 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:47:14 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-01-09 11:43:15 -05:00
2026-01-05 13:36:16 +00:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-01-31 12:43:03 -05:00
2026-01-31 16:19:38 -05:00
2026-01-31 16:19:38 -05:00
2026-01-30 15:30:40 -05:00
2024-03-26 13:43:58 -05:00
2026-01-30 14:49:53 -05:00
2026-01-30 14:49:53 -05:00
2024-03-26 13:43:58 -05:00
2026-01-31 12:43:03 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-01-31 12:43:03 -05:00
2026-02-03 12:28:30 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 13:34:17 -05:00
2024-03-26 13:43:58 -05:00
2023-01-18 16:01:42 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-01-30 15:09:02 -05:00
2026-01-30 15:09:02 -05:00
2026-02-03 12:30:06 -05:00
2024-03-26 13:43:58 -05:00
2026-02-23 18:19:20 -05:00
2026-02-23 18:19:20 -05:00
2026-02-03 16:47:43 -05:00
2024-03-26 13:43:58 -05:00
2025-07-05 08:09:09 -04:00
2025-07-05 08:09:09 -04:00
2026-02-12 16:53:39 -05:00
2026-02-12 16:53:39 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:24:07 -05:00
2025-08-05 14:13:39 -04:00
2026-02-04 20:45:46 -05:00
2026-02-15 15:38:07 -05:00
2024-03-26 13:43:58 -05:00
2026-02-23 18:19:20 -05:00
2025-09-18 09:27:31 -04:00
2026-02-07 22:52:15 -05:00
2026-02-23 18:16:56 -05:00
2026-02-12 18:06:56 -05:00
2026-01-05 16:36:36 -05:00
2026-01-05 16:36:36 -05:00
2026-02-23 18:19:20 -05:00
2024-03-26 13:43:58 -05:00
2026-02-15 15:38:08 -05:00
2026-01-05 16:38:35 -05:00
2025-12-31 22:29:37 +11:00