msdk: vpp: set passthrough from set_caps method for code clarity
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 7 Jun 2018 23:30:23 +0000 (15:30 -0800)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 7 Jun 2018 23:30:23 +0000 (15:30 -0800)
Call passthrough setting method from set_caps so that
msdk initialize subroutine looks more clear.

sys/msdk/gstmsdkvpp.c

index 2fd71f4..924f4e9 100644 (file)
@@ -901,9 +901,7 @@ gst_msdkvpp_set_passthrough (GstMsdkVPP * thiz)
       GST_VIDEO_INFO_FORMAT (&thiz->srcpad_info))
     passthrough = FALSE;
 
-  GST_OBJECT_UNLOCK (thiz);
   gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (thiz), passthrough);
-  GST_OBJECT_LOCK (thiz);
 }
 
 static gboolean
@@ -979,9 +977,6 @@ gst_msdkvpp_initialize (GstMsdkVPP * thiz)
         msdk_status_to_string (status));
   }
 
-  /* set passthrough according to filter operation change */
-  gst_msdkvpp_set_passthrough (thiz);
-
   status = MFXVideoVPP_QueryIOSurf (session, &thiz->param, request);
   if (status < MFX_ERR_NONE) {
     GST_ERROR_OBJECT (thiz, "VPP Query IO surfaces failed (%s)",
@@ -1074,6 +1069,9 @@ gst_msdkvpp_set_caps (GstBaseTransform * trans, GstCaps * caps,
   if (!gst_msdkvpp_initialize (thiz))
     return FALSE;
 
+  /* set passthrough according to filter operation change */
+  gst_msdkvpp_set_passthrough (thiz);
+
   /* Ensure sinkpad buffer pool */
   thiz->sinkpad_buffer_pool =
       gst_msdkvpp_create_buffer_pool (thiz, GST_PAD_SINK, caps,