playsinkconvertbin: Be more consistent with ghostpad targets
authorThiago Santos <thiago.sousa.santos@collabora.com>
Mon, 17 Oct 2011 23:14:54 +0000 (23:14 +0000)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 3 Nov 2011 09:03:07 +0000 (10:03 +0100)
Set up targets on READY->PAUSED state change to passthrough by
default. This prevents the targets from being unset on the
first run, while the 'raw' variable would mean that some
target is set.

gst/playback/gstplaysinkconvertbin.c

index 7c1bb68..6123d11 100644 (file)
@@ -464,6 +464,13 @@ gst_play_sink_convert_bin_change_state (GstElement * element,
             (GDestroyNotify) gst_object_unref);
       GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
       break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      GST_PLAY_SINK_CONVERT_BIN_LOCK (self);
+      gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
+      gst_play_sink_convert_bin_set_targets (self, TRUE);
+      self->raw = FALSE;
+      GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
+      break;
     default:
       break;
   }