[gst-cvs] gst-plugins-good: rtspsrc: Parse all rtpinfo entries
Thiago Sousa Santos
thiagoss at kemper.freedesktop.org
Thu Dec 24 12:12:53 PST 2009
Module: gst-plugins-good
Branch: master
Commit: ac03ad782a9bc059089fd1a91eb00a9b1ba05186
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=ac03ad782a9bc059089fd1a91eb00a9b1ba05186
Author: Thiago Santos <thiago.sousa.santos at collabora.co.uk>
Date: Thu Dec 24 17:04:28 2009 -0300
rtspsrc: Parse all rtpinfo entries
Do not forget to parse all rtp-info entries, instead of
parsing the first one only.
Fixes #605222
---
gst/rtsp/gstrtspsrc.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 1549d94..5455002 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -5115,6 +5115,7 @@ gst_rtspsrc_play (GstRTSPSrc * src, GstSegment * segment)
GstRTSPResult res;
gchar *hval;
gfloat fval;
+ gint hval_idx;
GST_RTSP_STATE_LOCK (src);
@@ -5179,8 +5180,9 @@ gst_rtspsrc_play (GstRTSPSrc * src, GstSegment * segment)
/* parse the RTP-Info header field (if ANY) to get the base seqnum and timestamp
* for the RTP packets. If this is not present, we assume all starts from 0...
* This is info for the RTP session manager that we pass to it in caps. */
- if (gst_rtsp_message_get_header (&response, GST_RTSP_HDR_RTP_INFO,
- &hval, 0) == GST_RTSP_OK)
+ hval_idx = 0;
+ while (gst_rtsp_message_get_header (&response, GST_RTSP_HDR_RTP_INFO,
+ &hval, hval_idx++) == GST_RTSP_OK)
gst_rtspsrc_parse_rtpinfo (src, hval);
gst_rtsp_message_unset (&response);
More information about the Gstreamer-commits
mailing list