basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state

The subclass might want to access the old state.
This commit is contained in:
Sebastian Dröge 2011-07-11 12:59:07 +02:00
parent a59246c1d1
commit 83c4e8814e

View file

@ -359,6 +359,11 @@ gst_base_video_decoder_flush (GstBaseVideoDecoder * dec, gboolean hard)
GST_LOG_OBJECT (dec, "flush hard %d", 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, /* FIXME make some more distinction between hard and soft,
* but subclass may not be prepared for that */ * but subclass may not be prepared for that */
/* FIXME perhaps also clear pending frames ?, /* 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 */ /* and get (re)set for the sequel */
gst_base_video_decoder_reset (dec, FALSE); 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; return ret;
} }