git.videolan.org Git - ffmpeg.git/rss log
FFmpeg git repo
Les articles publiés sur le site
-
avcodec/libx264 : Remove unnecessary include
7 juin, par Zhao Zhili -
libavformat/rtpdec : Fix RTP timestamp wraparound in Producer Reference Time
7 juin, par Clément Péronlibavformat/rtpdec: Fix RTP timestamp wraparound in Producer Reference Time The rtp_set_prft() function incorrectly calculates the timestamp delta when RTP timestamps wrap around the 32-bit boundary. The current code: delta_timestamp = (int64_t)timestamp - (int64_t)s->last_rtcp_timestamp; treats both timestamps as large positive values, causing wraparound to produce a large negative delta instead of the correct small positive delta. For example, with a 90kHz video clock: - last_rtcp_timestamp = 0xFFFFFF00 (near wraparound) - timestamp = 0x00000100 (after wraparound) - Current result: delta ≈ -4.3 billion ticks ≈ -47,721 seconds - Expected result: delta ≈ +512 ticks ≈ +0.006 seconds This causes prft->wallclock to jump backward by approximately: - 90kHz video: ~47,721 seconds (~13.25 hours) - 48kHz audio: ~89,478 seconds (~24.9 hours) - 8kHz audio: ~536,871 seconds (~6.2 days) Fix by casting the subtraction result to int32_t, which correctly handles wraparound through modular arithmetic: delta_timestamp = (int32_t)(timestamp - s->last_rtcp_timestamp); This ensures the delta is always in the range [-2^31, 2^31-1], making wraparound produce the correct small positive values. Fixes timing jumps in applications that rely on Producer Reference Time for media synchronization. Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
avformat/dhav : Do not evaluate avio_size() multiple times
6 juin, par Michael Niedermayeravformat/dhav: Do not evaluate avio_size() multiple times Code like FFMIN(MAX_DURATION_BUFFER_SIZE, avio_size(s->pb)) is not safe as FFMIN() is a macro and avio_size() is thus evaluated multiple times Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
configure : rename POSIX ioctl check
6 juin, par Leo Izenconfigure: rename POSIX ioctl check Commit 00b64fca55a3a009c9d0e391c85f4fd3291e5d12 introduced configure detection for HAVE_POSIX_IOCTL but unfortunately this conflicts with v4l-utils version 1.30, which itself checks for #ifdef HAVE_POSIX_IOCTL in a public header and erroneously determines it to be true because we define this to be 0. Since this is only used for avdevice/v4l2, we rename this to something else, namely ioctl_posix, simply to prevent the name conflict with the file /usr/include/libv4l2.h at least until they can upstream a fix on their end. Signed-off-by: Leo Izen <leo.izen@gmail.com>
-
tools/target_dem_fuzzer : remove unused fuzz_tag
6 juin, par Kacper Michajłow