mftransform: Don't try to drain if MFT is not running
authorSeungha Yang <seungha@centricular.com>
Sat, 6 Jun 2020 12:01:24 +0000 (21:01 +0900)
committerSeungha Yang <seungha@centricular.com>
Sat, 6 Jun 2020 12:03:05 +0000 (21:03 +0900)
Otherwise MFT will be blocked forever as no event can be generated by
IMFMediaEventGenerator.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322>

sys/mediafoundation/gstmftransform.cpp

index d8677ad..08f5f30 100644 (file)
@@ -625,7 +625,7 @@ gst_mf_transform_drain (GstMFTransform * object)
 
   g_return_val_if_fail (GST_IS_MF_TRANSFORM (object), FALSE);
 
-  if (!object->transform)
+  if (!object->transform || !object->running)
     return TRUE;
 
   object->running = FALSE;