diff --git a/gst-libs/gst/codecs/gstvp8decoder.c b/gst-libs/gst/codecs/gstvp8decoder.c index 1ae42a629e..d3f2aa1007 100644 --- a/gst-libs/gst/codecs/gstvp8decoder.c +++ b/gst-libs/gst/codecs/gstvp8decoder.c @@ -169,6 +169,12 @@ gst_vp8_decoder_check_codec_change (GstVp8Decoder * self, priv->had_sequence = TRUE; + if (klass->get_preferred_output_delay) + priv->preferred_output_delay = + klass->get_preferred_output_delay (self, priv->is_live); + else + priv->preferred_output_delay = 0; + if (klass->new_sequence) ret = klass->new_sequence (self, frame_hdr); } @@ -338,10 +344,6 @@ gst_vp8_decoder_handle_frame (GstVideoDecoder * decoder, GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_PTS (in_buf)), GST_TIME_ARGS (GST_BUFFER_DTS (in_buf))); - if (klass->get_preferred_output_delay) - priv->preferred_output_delay = - klass->get_preferred_output_delay (self, priv->is_live); - if (!gst_buffer_map (in_buf, &map, GST_MAP_READ)) { GST_ERROR_OBJECT (self, "Cannot map buffer");