Skip to content

Commit d4389aa

Browse files
committed
fix: Add av1parse element for low rank GStreamer av1 decoders
- affects av1dec, dav1ddec and vaapiav1dec - workaround for typefind GStreamer issue when decoder has low rank
1 parent e8aaad3 commit d4389aa

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

fluster/decoders/gstreamer.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ class GStreamer(Decoder):
9292
api = ""
9393
provider = ""
9494
sink = ""
95+
parser = ""
9596

9697
def __init__(self) -> None:
9798
super().__init__()
@@ -114,7 +115,7 @@ def gen_pipeline(
114115
return PIPELINE_TPL.format(
115116
self.cmd,
116117
input_filepath,
117-
"parsebin",
118+
self.parser if self.parser else "parsebin",
118119
self.decoder_bin,
119120
self.caps,
120121
self.sink,
@@ -185,6 +186,7 @@ class GStreamer10Video(GStreamer):
185186
gst_api = "1.0"
186187
sink = "videocodectestsink"
187188
provider = "GStreamer"
189+
parser = ""
188190

189191
def gen_pipeline(
190192
self,
@@ -205,7 +207,7 @@ def gen_pipeline(
205207
return PIPELINE_TPL.format(
206208
self.cmd,
207209
input_filepath,
208-
"parsebin",
210+
self.parser if self.parser else "parsebin",
209211
self.decoder_bin,
210212
caps,
211213
self.sink,
@@ -580,6 +582,7 @@ class GStreamerAomAV1Gst10Decoder(GStreamer10Video):
580582

581583
codec = Codec.AV1
582584
decoder_bin = " av1dec "
585+
parser = " parsebin ! av1parse "
583586
api = "libaom"
584587

585588

@@ -643,6 +646,7 @@ class GStreamerVaapiAV1Gst10Decoder(GStreamer10Video):
643646

644647
codec = Codec.AV1
645648
decoder_bin = " vaapiav1dec "
649+
parser = " parsebin ! av1parse "
646650
api = "VAAPI"
647651

648652

@@ -652,6 +656,7 @@ class GStreamerDav1dAV1Decoder(GStreamer10Video):
652656

653657
codec = Codec.AV1
654658
decoder_bin = " dav1ddec "
659+
parser = " parsebin ! av1parse "
655660
api = "dav1d"
656661

657662

0 commit comments

Comments
 (0)