I am able to generate gstreamer extensions with the generate_extensions.py
script.
I was able to generate extensions for the following extensions:
timeoverlay
videotestsrc
xvimagesink
filesrc
videoconvert
However, when I try and generate the extension for decodebin
, I see a different message. Here is an example of me running the generate extensions script with a file gst-plugins-gen-list.txt
with contents only decodebin
.
python3 /opt/nvidia/deepstream/deepstream/tools/graph_extension_generator/generate_extensions.py gst-plugins-gen-list.txt out2
('opening component definition: output/extensions/playback/decodebin_def.yaml',)
("Generating code for 'decodebin'",)
Traceback (most recent call last):
File "/opt/nvidia/deepstream/deepstream/tools/graph_extension_generator/generate_extensions.py", line 77, in <module>
generator.generateExtension(autogenBasePath, pluginName, pluginElements)
File "/opt/nvidia/deepstream/deepstream-6.2/tools/graph_extension_generator/graph_gstextension_generator.py", line 86, in generateExtension
generator.generateComponent(autogenBasePath, elem)
File "/opt/nvidia/deepstream/deepstream-6.2/tools/graph_extension_generator/graph_gstcomponent_generator.py", line 894, in generateComponent
self.__generateComponent(
File "/opt/nvidia/deepstream/deepstream-6.2/tools/graph_extension_generator/graph_gstcomponent_generator.py", line 802, in __generateComponent
(classCode, interfaceDefs) = self.__generateClass(elementName)
File "/opt/nvidia/deepstream/deepstream-6.2/tools/graph_extension_generator/graph_gstcomponent_generator.py", line 431, in __generateClass
_signal_set_str) = self.__generateSignal(elementName, signal, className)
File "/opt/nvidia/deepstream/deepstream-6.2/tools/graph_extension_generator/graph_gstcomponent_generator.py", line 388, in __generateSignal
factory_add_code = factory_add_code.replace("<BRIEF>", yamlSignalDef["brief"])
KeyError: 'brief'
the output contents are as follows
# out2/extensions/playback/decodebin_def.yaml
name: decodebin
uuid: 06789a91917537d882a3e288add2ad90
description: Autoplug and decode to raw media
namespace: nvidia
sub-namespace: deepstream
class-name: GstDecodeBin
signals:
- name: unknown-type
uuid: 5124a1432c0a37bb9a124256074bbadb
description: unknown-type placeholder description
argument-names:
- placeholderArgName0
- placeholderArgName1
ignore: false
# out2/extensions/playback/playback_extdef.yaml
---
name: playback
uuid: 30a77fc0a2f635c1814790d2451208fb
version: 0.0.1
author: AUTHOR
license: LICENSE
url: www.example.com
description: various playback elements
labels:
- nvidia
- gpu
- deepstream
However, as I mentioned, it appears to work for other gstreamer plugins without issue, I can see them generate and use them in graph compose.