From: Wim Taymans Date: Thu, 9 Jun 2011 10:01:02 +0000 (+0200) Subject: Merge branch 'master' into 0.11 X-Git-Tag: RELEASE-0.11.0~127 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4d6e4ea9e6aacc124fa4a25f9b3865570eec869a;p=platform%2Fupstream%2Fgstreamer.git Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasesrc.c --- 4d6e4ea9e6aacc124fa4a25f9b3865570eec869a diff --cc libs/gst/base/gstbasesrc.c index 9f6a3ae,d4f332c..867b95b --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@@ -310,9 -324,16 +311,11 @@@ static GstFlowReturn gst_base_src_pad_g static GstFlowReturn gst_base_src_get_range (GstBaseSrc * src, guint64 offset, guint length, GstBuffer ** buf); static gboolean gst_base_src_seekable (GstBaseSrc * src); +static gboolean gst_base_src_negotiate (GstBaseSrc * basesrc); + static gboolean gst_base_src_update_length (GstBaseSrc * src, guint64 offset, + guint * length); static void -gst_base_src_base_init (gpointer g_class) -{ - GST_DEBUG_CATEGORY_INIT (gst_base_src_debug, "basesrc", 0, "basesrc element"); -} - -static void gst_base_src_class_init (GstBaseSrcClass * klass) { GObjectClass *gobject_class; @@@ -1983,7 -2060,7 +2008,7 @@@ gst_base_src_update_length (GstBaseSrc format = src->segment.format; stop = src->segment.stop; /* get total file size */ -- size = (guint64) src->segment.duration; ++ size = src->segment.duration; /* only operate if we are working with bytes */ if (format != GST_FORMAT_BYTES) @@@ -2032,18 -2112,10 +2060,10 @@@ /* keep track of current position and update duration. * segment is in bytes, we checked that above. */ GST_OBJECT_LOCK (src); - if (src->segment.duration != size) { - src->segment.duration = size; - event = gst_event_new_segment (&src->segment); - } - gst_segment_set_duration (&src->segment, GST_FORMAT_BYTES, size); - gst_segment_set_last_stop (&src->segment, GST_FORMAT_BYTES, offset); ++ src->segment.duration = size; + src->segment.position = offset; GST_OBJECT_UNLOCK (src); - /* If we updated the duration, we have to update the downstream - * segments to update the stop position */ - if (event) - gst_pad_push_event (src->srcpad, event); - return TRUE; /* ERRORS */