[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