Graph composer "generate_extensions.py" fails to generate extension for decodebin, "KeywordError: brief"

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.

We are investigating this issue. Will be back when there is any progress.

Same issue with other gst extensions such as v4l2src.

bumping to keep open

bumping to keep open

no worry, we’ll keep this topic open until the solution is released.

any updates? my team is holding off on graph composer for now.

The bug is fixed. Please try with the latest DeepStream 6.4 and Graph Composer 3.1.0
https://docs.nvidia.com/metropolis/deepstream/dev-guide/graphtools-docs/docs/text/GraphComposer_intro.html

1 Like

ok i will try and see if that has it working

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.