Merge branch 'master' into 0.11
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 21 Jul 2011 14:49:13 +0000 (16:49 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 21 Jul 2011 14:49:13 +0000 (16:49 +0200)
Conflicts:
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesink.c

1  2 
gst/gstevent.c
gst/gstmessage.c
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesink.c
tests/check/elements/filesrc.c

diff --cc gst/gstevent.c
Simple merge
Simple merge
index da7e324981582a97b475c4752ccab5f180b5d8d0,59865c277592b2defcbae58e42a776f0e2cc1400..11b926747904dc3a35c56d9ff7fc7a6a4b47dea8
@@@ -1935,20 -1925,21 +1935,21 @@@ gst_base_parse_push_frame (GstBasePars
      ret = GST_FLOW_OK;
    } else if (ret == GST_FLOW_OK) {
      if (parse->segment.rate > 0.0) {
 -      GST_LOG_OBJECT (parse, "pushing frame (%d bytes) now..",
 -          GST_BUFFER_SIZE (buffer));
++      GST_LOG_OBJECT (parse, "pushing frame (%" G_GSIZE_FORMAT " bytes) now..",
++          size);
        ret = gst_pad_push (parse->srcpad, buffer);
-       GST_LOG_OBJECT (parse, "frame (%" G_GSIZE_FORMAT " bytes) pushed: %s",
-           size, gst_flow_get_name (ret));
+       GST_LOG_OBJECT (parse, "frame pushed, flow %s", gst_flow_get_name (ret));
      } else {
 -      GST_LOG_OBJECT (parse, "frame (%d bytes) queued for now",
 -          GST_BUFFER_SIZE (buffer));
 +      GST_LOG_OBJECT (parse, "frame (%" G_GSIZE_FORMAT " bytes) queued for now",
 +          size);
        parse->priv->buffers_queued =
            g_slist_prepend (parse->priv->buffers_queued, buffer);
        ret = GST_FLOW_OK;
      }
    } else {
-     gst_buffer_unref (buffer);
 -    GST_LOG_OBJECT (parse, "frame (%d bytes) not pushed: %s",
 -        GST_BUFFER_SIZE (buffer), gst_flow_get_name (ret));
 +    GST_LOG_OBJECT (parse, "frame (%" G_GSIZE_FORMAT " bytes) not pushed: %s",
 +        size, gst_flow_get_name (ret));
+     gst_buffer_unref (buffer);
      /* if we are not sufficiently in control, let upstream decide on EOS */
      if (ret == GST_FLOW_UNEXPECTED &&
          (parse->priv->passthrough ||
index d9cf0b0cf3a00bf6acc6e6bb766b619108916593,4d4deaef2ae9a5f0a517aaceceb768959069f225..0d7e1737cad0e4c54c1db7ffc16f99a117634a81
@@@ -4903,10 -4994,11 +4913,11 @@@ gst_base_sink_change_state (GstElement 
        } else {
          priv->have_latency = TRUE;
        }
 -      GST_PAD_PREROLL_UNLOCK (basesink->sinkpad);
 +      GST_BASE_SINK_PREROLL_UNLOCK (basesink);
        break;
      case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
 -      GST_PAD_PREROLL_LOCK (basesink->sinkpad);
 +      GST_BASE_SINK_PREROLL_LOCK (basesink);
+       g_atomic_int_set (&basesink->priv->to_playing, TRUE);
        if (!gst_base_sink_needs_preroll (basesink)) {
          GST_DEBUG_OBJECT (basesink, "PAUSED to PLAYING, don't need preroll");
          /* no preroll needed anymore now. */
Simple merge