summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/rtsp/gstrtspsrc.c10
2 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b2241366..391445d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/rtsp/gstrtspsrc.c: (new_session_pad),
+ (gst_rtspsrc_parse_range):
+ Add some more debugging.
+ Use the reanges received from the server unconditionally.
+ Fixes #561625.
+
2008-11-23 Stefan Kost <ensonic@users.sf.net>
* ext/pulse/pulsesink.c:
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 109d74df..814cab8d 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -1667,6 +1667,10 @@ new_session_pad (GstElement * session, GstPad * pad, GstRTSPSrc * src)
all_added = TRUE;
for (lstream = src->streams; lstream; lstream = g_list_next (lstream)) {
stream = (GstRTSPStream *) lstream->data;
+
+ GST_DEBUG_OBJECT (src, "stream %p, container %d, disabled %d, added %d",
+ stream, stream->container, stream->disabled, stream->added);
+
/* a container stream only needs one pad added. Also disabled streams don't
* count */
if (!stream->container && !stream->disabled && !stream->added) {
@@ -4117,7 +4121,10 @@ gst_rtspsrc_parse_range (GstRTSPSrc * src, const gchar * range,
GST_DEBUG_OBJECT (src, "range: min %" GST_TIME_FORMAT,
GST_TIME_ARGS (seconds));
- gst_segment_set_last_stop (segment, GST_FORMAT_TIME, seconds);
+ /* we need to start playback without clipping from the position reported by
+ * the server */
+ segment->start = seconds;
+ segment->last_stop = seconds;
if (therange->max.type == GST_RTSP_TIME_NOW)
seconds = -1;
@@ -4959,6 +4966,7 @@ gst_rtspsrc_uri_get_type (void)
{
return GST_URI_SRC;
}
+
static gchar **
gst_rtspsrc_uri_get_protocols (void)
{