audioencoder: flush encoder in transition PAUSED->READY
authorNicola Murino <nicola.murino@gmail.com>
Wed, 27 Sep 2017 14:32:13 +0000 (16:32 +0200)
committerMatthew Waters <matthew@centricular.com>
Thu, 19 Oct 2017 14:55:04 +0000 (01:55 +1100)
https://bugzilla.gnome.org/show_bug.cgi?id=787311

gst-libs/gst/audio/gstaudioencoder.c

index 2f690dd..e5a5527 100644 (file)
@@ -530,6 +530,14 @@ gst_audio_encoder_change_state (GstElement * element, GstStateChange transition)
         if (!klass->open (enc))
           goto open_failed;
       }
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      if (klass->flush) {
+        GST_AUDIO_ENCODER_STREAM_LOCK (enc);
+        klass->flush (enc);
+        GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
+      }
+      break;
     default:
       break;
   }