GNOME Bugzilla – Bug 511686
make gstrtpjitterbuffer respect different clock rates for different pts
Last modified: 2008-01-25 16:01:21 UTC
Currently, the gstrtpjitterbuffer gets its clock-rate set at the beginning and it never changes, but its actually a per-pt value (and since there is one jb per SSRc, it could be a per-packet value). I'm attaching three additive patches. 1. gstrtpjitterbuffer-follow-pt-clock-rate-change.patch: this patch changes the clock-rate on the jb when the PT changes 2. jb-per-packet-clockrate.patch: This patch actually passes the clock-rate down to the jb with each packet 3. remove-unused-functions.patch, finally this one removes the now unused set/get_clock_rate functions on the jb
Created attachment 103590 [details] [review] Change the clockrate on the JB when the PT changes
Created attachment 103591 [details] [review] pass the clock-rate with each buffer
Created attachment 103592 [details] [review] remove the now unused clockrate inside rtpjitterbuffer
Created attachment 103683 [details] [review] Updated version of the patch to remove the unused functions I forgot one call, its now fixed
Patch by: Olivier Crete <tester@tester.ca> * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain): * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew), (rtp_jitter_buffer_insert): * gst/rtpmanager/rtpjitterbuffer.h: Remove the fixed clock-rate from the jitterbuffer and extend it so that a clock-rate can be provided with each buffer instead. Fixes #511686. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Remove old unused variable. Track pt on input buffers and get the clock-rate when it changes. Ignore packets with unknown clock-rate. See #511686.