diff options
author | Thiago Santos <thiago.sousa.santos@collabora.co.uk> | 2009-12-24 17:04:28 -0300 |
---|---|---|
committer | Thiago Santos <thiago.sousa.santos@collabora.co.uk> | 2009-12-24 17:08:22 -0300 |
commit | ac03ad782a9bc059089fd1a91eb00a9b1ba05186 (patch) | |
tree | 6982b50f0b30f7d3a808122ef2cce5068167bbb5 | |
parent | 5d86010dad63e02f3d1dfb80723aadc29441d141 (diff) |
rtspsrc: Parse all rtpinfo entries
Do not forget to parse all rtp-info entries, instead of
parsing the first one only.
Fixes #605222
-rw-r--r-- | 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 1549d9449..5455002df 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); |