diff --git a/ChangeLog b/ChangeLog index f17737a207..2ea59ac4f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-01-19 Sebastian Dröge + + Patch by: Wouter Cloetens + + * ext/soup/gstsouphttpsrc.c: (soup_got_headers): + Correctly set duration on the GstBaseSrc segment when we know it + to fix failing the duration query. + 2008-01-18 Wim Taymans * gst/h264parse/gsth264parse.c: (gst_h264_parse_flush_decode), diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c index 064d4c5c1e..e3127e470e 100644 --- a/ext/soup/gstsouphttpsrc.c +++ b/ext/soup/gstsouphttpsrc.c @@ -558,6 +558,7 @@ soup_got_headers (SoupMessage * msg, GstSouphttpSrc * src) { const char *value; GstTagList *tag_list; + GstBaseSrc *basesrc; GST_DEBUG_OBJECT (src, "got headers"); @@ -568,6 +569,9 @@ soup_got_headers (SoupMessage * msg, GstSouphttpSrc * src) src->have_size = TRUE; GST_DEBUG_OBJECT (src, "size = %llu", src->content_size); + basesrc = GST_BASE_SRC_CAST (src); + gst_segment_set_duration (&basesrc->segment, GST_FORMAT_BYTES, + src->content_size); gst_element_post_message (GST_ELEMENT (src), gst_message_new_duration (GST_OBJECT (src), GST_FORMAT_BYTES, src->content_size));