summaryrefslogtreecommitdiff
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>2009-12-24 20:04:28 (GMT)
committer Thiago Santos <thiago.sousa.santos@collabora.co.uk>2009-12-24 20:08:22 (GMT)
commitac03ad782a9bc059089fd1a91eb00a9b1ba05186 (patch) (side-by-side diff)
tree6982b50f0b30f7d3a808122ef2cce5068167bbb5
parent5d86010dad63e02f3d1dfb80723aadc29441d141 (diff)
downloadgst-plugins-good-ac03ad782a9bc059089fd1a91eb00a9b1ba05186.zip
gst-plugins-good-ac03ad782a9bc059089fd1a91eb00a9b1ba05186.tar.gz
rtspsrc: Parse all rtpinfo entries
Do not forget to parse all rtp-info entries, instead of parsing the first one only. Fixes #605222
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--gst/rtsp/gstrtspsrc.c6
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);