Merge branch 'master' into 0.11
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 3 Oct 2011 08:06:17 +0000 (10:06 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 3 Oct 2011 08:06:17 +0000 (10:06 +0200)
Conflicts:
libs/gst/base/gstbaseparse.c

1  2 
gst/gst.h
libs/gst/base/gstbaseparse.c
tests/check/Makefile.am
tests/check/gst/.gitignore

diff --cc gst/gst.h
Simple merge
@@@ -3167,21 -3148,21 +3167,21 @@@ gst_base_parse_query (GstPad * pad, Gst
        GST_DEBUG_OBJECT (parse, "position query");
        gst_query_parse_position (query, &format, NULL);
  
-       GST_OBJECT_LOCK (parse);
-       if (format == GST_FORMAT_BYTES) {
-         dest_value = parse->priv->offset;
-         res = TRUE;
-       } else if (format == parse->segment.format &&
-           GST_CLOCK_TIME_IS_VALID (parse->segment.position)) {
-         dest_value = parse->segment.position;
-         res = TRUE;
-       }
-       GST_OBJECT_UNLOCK (parse);
-       if (res)
-         gst_query_set_position (query, format, dest_value);
-       else {
-         res = gst_pad_query_default (pad, query);
+       /* try upstream first */
+       res = gst_pad_query_default (pad, query);
+       if (!res) {
+         /* Fall back on interpreting segment */
+         GST_OBJECT_LOCK (parse);
+         if (format == GST_FORMAT_BYTES) {
+           dest_value = parse->priv->offset;
+           res = TRUE;
+         } else if (format == parse->segment.format &&
 -            GST_CLOCK_TIME_IS_VALID (parse->segment.last_stop)) {
++            GST_CLOCK_TIME_IS_VALID (parse->segment.position)) {
+           dest_value = gst_segment_to_stream_time (&parse->segment,
 -              parse->segment.format, parse->segment.last_stop);
++              parse->segment.format, parse->segment.position);
+           res = TRUE;
+         }
+         GST_OBJECT_UNLOCK (parse);
          if (!res) {
            /* no precise result, upstream no idea either, then best estimate */
            /* priv->offset is updated in both PUSH/PULL modes */
@@@ -98,9 -95,9 +98,10 @@@ endi
  
  check_PROGRAMS =                              \
        $(ABI_CHECKS)                           \
+       gst/gstatomicqueue                      \
        gst/gstbuffer                           \
        gst/gstbufferlist                       \
 +      gst/gstmeta                             \
        gst/gstbus                              \
        gst/gstcaps                             \
        $(CXX_CHECKS)                           \
Simple merge