diff options
author | Olivier Crete <tester@tester.ca> | 2008-08-05 09:42:53 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-08-11 02:30:37 +0100 |
commit | d392defbd3c060b7a32cd9720635e919586fefce (patch) | |
tree | 0be2176712c66c2d94dbd5ab6dec7f6fe464d2dc /gst/rtpmanager/rtpsession.c | |
parent | 1bef5a8ab8f65f05fcb20d77d8d1192d1e27e85f (diff) |
gst/rtpmanager/gstrtpjitterbuffer.c: Make the buffer metadata writable before inserting it in the jitterbuffer becaus...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
Make the buffer metadata writable before inserting it in the
jitterbuffer because the jitterbuffer will modify the timestamps.
* gst/rtpmanager/rtpjitterbuffer.c:
Update method comment about requiring writable metadata on buffers.
* gst/rtpmanager/rtpsession.c: (rtp_session_process_sr),
(rtp_session_process_rtcp):
Make the RTCP buffer metadata writable because we want to modify the
metadata.
Fixes #546312.
Diffstat (limited to 'gst/rtpmanager/rtpsession.c')
-rw-r--r-- | gst/rtpmanager/rtpsession.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 59b1d8d0..19982478 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -1437,6 +1437,9 @@ rtp_session_process_sr (RTPSession * sess, GstRTCPPacket * packet, if (!source) return; + /* we somehow need to transfer the clock_base and the base time to the next + * element, we use the offset and offset_end fields in the buffer for this + * hack */ GST_BUFFER_OFFSET (packet->buffer) = source->clock_base; GST_BUFFER_OFFSET_END (packet->buffer) = source->clock_base_time; @@ -1669,6 +1672,9 @@ rtp_session_process_rtcp (RTPSession * sess, GstBuffer * buffer, if (sess->sent_bye) goto ignore; + /* make writable, we might want to change the buffer */ + buffer = gst_buffer_make_metadata_writable (buffer); + /* start processing the compound packet */ more = gst_rtcp_buffer_get_first_packet (buffer, &packet); while (more) { |