diff --git a/ext/mad/gstmad.c b/ext/mad/gstmad.c index ada0f79e5f..d3283ad9de 100644 --- a/ext/mad/gstmad.c +++ b/ext/mad/gstmad.c @@ -990,6 +990,10 @@ gst_mad_change_state (GstElement *element) mad->tempsize = 0; mad->can_seek = FALSE; mad->total_samples = 0; + mad->caps_set = FALSE; + mad->vbr_average = 0; + mad->frame.header.samplerate = 0; + mad->restart = TRUE; break; case GST_STATE_PAUSED_TO_PLAYING: /* do something to get out of the chain function faster */ @@ -1000,10 +1004,6 @@ gst_mad_change_state (GstElement *element) mad_synth_finish (&mad->synth); mad_frame_finish (&mad->frame); mad_stream_finish (&mad->stream); - mad->vbr_average = 0; - mad->frame.header.samplerate = 0; - mad->can_seek = FALSE; - mad->restart = TRUE; break; case GST_STATE_READY_TO_NULL: break;