diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c index 99b5ca6e9f..73a5f3748d 100644 --- a/gst-libs/gst/audio/gstaudioencoder.c +++ b/gst-libs/gst/audio/gstaudioencoder.c @@ -1971,8 +1971,12 @@ gst_audio_encoder_activate (GstAudioEncoder * enc, gboolean active) enc->priv->tags = gst_tag_list_new_empty (); enc->priv->tags_changed = FALSE; - if (!enc->priv->active && klass->start) - result = klass->start (enc); + if (!enc->priv->active) { + if (klass->start) + result = klass->start (enc); + else + result = TRUE; + } } else { /* We must make sure streaming has finished before resetting things * and calling the ::stop vfunc */