Skip to content

Commit

Permalink
lib/gst-msdk/encode: Add WA for windows report miss plugin problem
Browse files Browse the repository at this point in the history
Signed-off-by: Wu, Bin1 <[email protected]>
  • Loading branch information
Bin-CI authored and uartie committed Aug 14, 2024
1 parent 5834544 commit 10c26a6
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion lib/gstreamer/msdk/encoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import slash

from ....lib.gstreamer.encoderbase import BaseEncoderTest, Encoder as GstEncoder
from ....lib.gstreamer.util import have_gst_element
from ....lib.gstreamer.util import have_gst_element, get_elements
from ....lib.gstreamer.msdk.util import using_compatible_driver, mapprofile, map_best_hw_format, mapformat
from ....lib.gstreamer.msdk.decoder import Decoder
from ....lib import platform
Expand Down Expand Up @@ -142,6 +142,22 @@ def before(self):
super().before()
os.environ["GST_MSDK_DRM_DEVICE"] = get_media().render_device

self.__rank_before = os.environ.get("GST_PLUGIN_FEATURE_RANK", None)
# WA: Fix the gst-discoverer-1.0.exe report Missing plugins problem on Windows OS
if platform.info()['os'] == 'wsl':
ranks = [] if self.__rank_before is None else self.__rank_before.split(',')
ranks += [f"{e}:MAX" for e in get_elements("msdk")]
os.environ["GST_PLUGIN_FEATURE_RANK"] = ','.join(ranks)

def after(self):
super().after()

if None == self.__rank_before:
if 'GST_PLUGIN_FEATURE_RANK' in os.environ:
del os.environ["GST_PLUGIN_FEATURE_RANK"]
else:
os.environ["GST_PLUGIN_FEATURE_RANK"] = self.__rank_before

def map_profile(self):
return mapprofile(self.codec, self.profile)

Expand Down

0 comments on commit 10c26a6

Please sign in to comment.