basevideodecoder: First inform subclass about resetting before resetting/freeing...
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 11 Jul 2011 10:59:07 +0000 (12:59 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 12 Jul 2011 06:36:01 +0000 (08:36 +0200)
The subclass might want to access the old state.

omx/gstbasevideodecoder.c

index f2b2a68..0278abc 100644 (file)
@@ -359,6 +359,11 @@ gst_base_video_decoder_flush (GstBaseVideoDecoder * dec, gboolean hard)
 
   GST_LOG_OBJECT (dec, "flush hard %d", hard);
 
+  /* Inform subclass */
+  /* FIXME ? only if hard, or tell it if hard ? */
+  if (klass->reset)
+    klass->reset (dec);
+
   /* FIXME make some more distinction between hard and soft,
    * but subclass may not be prepared for that */
   /* FIXME perhaps also clear pending frames ?,
@@ -377,11 +382,6 @@ gst_base_video_decoder_flush (GstBaseVideoDecoder * dec, gboolean hard)
   /* and get (re)set for the sequel */
   gst_base_video_decoder_reset (dec, FALSE);
 
-  /* also inform subclass */
-  /* FIXME ? only if hard, or tell it if hard ? */
-  if (klass->reset)
-    klass->reset (dec);
-
   return ret;
 }