can not gst-launch-1.0 decodebin

previous question : https://devtalk.nvidia.com/default/topic/1066977/jetson-nano/-i-run-detectornet-camera-i-see-a-green-screen-/post/5404662/#5404662

In previous versions of Jetson-inference, modified gstcamera.cpp to use decodebin. but, not available in the latest version.

Why not and how can I use it?

Hi barca105, I am able to find decodebin element available on my Nano:

$ gst-inspect-1.0 decodebin
Factory Details:
  Rank                     none (0)
  Long-name                Decoder Bin
  Klass                    Generic/Bin/Decoder
  Description              Autoplug and decode to raw media
  Author                   Edward Hervey <edward.hervey@collabora.co.uk>, Sebastian Dröge <sebastian.droege@collabora.co.uk>

Plugin Details:
  Name                     playback
  Description              various playback elements
  Filename                 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstplayback.so
  Version                  1.14.1
  License                  LGPL
  Source module            gst-plugins-base
  Source release date      2018-05-17
  Binary package           GStreamer Base Plugins (Ubuntu)
  Origin URL               https://launchpad.net/distros/ubuntu/+source/gst-plugins-base1.0

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBin
                         +----GstDecodeBin

Implemented Interfaces:
  GstChildProxy

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY

  SRC template: 'src_%u'
    Availability: Sometimes
    Capabilities:
      ANY

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "decodebin0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  async-handling      : The bin will handle Asynchronous state changes
                        flags: readable, writable
                        Boolean. Default: false
  message-forward     : Forwards all children messages
                        flags: readable, writable
                        Boolean. Default: false
  caps                : The caps on which to stop decoding.
                        flags: readable, writable
                                                   video/x-raw(ANY)
                                                   audio/x-raw(ANY)
                                                   text/x-raw(ANY)
                                                   subpicture/x-dvd
                                                   subpicture/x-dvb
                                                   subpicture/x-xsub
                                                   subpicture/x-pgs

  subtitle-encoding   : Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.
                        flags: readable, writable
                        String. Default: null
  sink-caps           : The caps of the input data. (NULL = use typefind element)
                        flags: readable, writable
                        Caps (NULL)
  use-buffering       : Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds
                        flags: readable, writable
                        Boolean. Default: false
  low-percent         : Low threshold for buffering to start
                        flags: readable, writable
                        Integer. Range: 0 - 100 Default: 10
  high-percent        : High threshold for buffering to finish
                        flags: readable, writable
                        Integer. Range: 0 - 100 Default: 99
  max-size-bytes      : Max. amount of bytes in the queue (0=automatic)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 0
  max-size-buffers    : Max. number of buffers in the queue (0=automatic)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 0
  max-size-time       : Max. amount of data in the queue (in ns, 0=automatic)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
  post-stream-topology: Post stream-topology messages
                        flags: readable, writable
                        Boolean. Default: false
  expose-all-streams  : Expose all streams, including those of unknown type or that don't match the 'caps' property
                        flags: readable, writable
                        Boolean. Default: true
  connection-speed    : Network connection speed in kbps (0 = unknown)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551 Default: 0

Element Signals:
  "pad-added" :  void user_function (GstElement* object,
                                     GstPad* arg0,
                                     gpointer user_data);
  "pad-removed" :  void user_function (GstElement* object,
                                       GstPad* arg0,
                                       gpointer user_data);
  "no-more-pads" :  void user_function (GstElement* object,
                                        gpointer user_data);
  "unknown-type" :  void user_function (GstElement* object,
                                        GstPad* arg0,
                                        GstCaps* arg1,
                                        gpointer user_data);
  "autoplug-continue" :  gboolean user_function (GstElement* object,
                                                 GstPad* arg0,
                                                 GstCaps* arg1,
                                                 gpointer user_data);
  "autoplug-factories" :  GValueArray * user_function (GstElement* object,
                                                       GstPad* arg0,
                                                       GstCaps* arg1,
                                                       gpointer user_data);
  "autoplug-sort" :  GValueArray * user_function (GstElement* object,
                                                  GstPad* arg0,
                                                  GstCaps* arg1,
                                                  GValueArray* arg2,
                                                  gpointer user_data);
  "autoplug-select" :  GstAutoplugSelectResult user_function (GstElement* object,
                                                              GstPad* arg0,
                                                              GstCaps* arg1,
                                                              GstElementFactory* arg2,
                                                              gpointer user_data);
  "autoplug-query" :  gboolean user_function (GstElement* object,
                                              GstPad* arg0,
                                              GstElement* arg1,
                                              GstQuery* arg2,
                                              gpointer user_data);
  "drained" :  void user_function (GstElement* object,
                                   gpointer user_data);

Children:
  typefind

Do you see similar output from “gst-inspect-1.0 decodebin” on your system? If so, then perhaps decodebin is there, but how you are using it in pipeline is invalid. I do not recall using decodebin in jetson-inference/jetson-utils code itself.

when I was 3 month ago. Obviously, I used decodebin in jetson-inference.
Is there any change in the meantime?

please.

my gst-inspect-1.0 decodebin log:

Factory Details:
Rank none (0)
Long-name Decoder Bin
Klass Generic/Bin/Decoder
Description Autoplug and decode to raw media
Author Edward Hervey edward.hervey@collabora.co.uk, Sebastian Dröge sebastian.droege@collabora.co.uk

Plugin Details:
Name playback
Description various playback elements
Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstplayback.so
Version 1.14.5
License LGPL
Source module gst-plugins-base
Source release date 2019-05-29
Binary package GStreamer Base Plugins (Ubuntu)
Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-base1.0

GObject
±—GInitiallyUnowned
±—GstObject
±—GstElement
±—GstBin
±—GstDecodeBin

Implemented Interfaces:
GstChildProxy

Pad Templates:
SINK template: ‘sink’
Availability: Always
Capabilities:
ANY

SRC template: ‘src_%u’
Availability: Sometimes
Capabilities:
ANY

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
SINK: ‘sink’
Pad Template: ‘sink’

Element Properties:
name : The name of the object
flags: readable, writable
String. Default: “decodebin0”
parent : The parent of the object
flags: readable, writable
Object of type “GstObject”
async-handling : The bin will handle Asynchronous state changes
flags: readable, writable
Boolean. Default: false
message-forward : Forwards all children messages
flags: readable, writable
Boolean. Default: false
caps : The caps on which to stop decoding.
flags: readable, writable
video/x-raw(ANY)
audio/x-raw(ANY)
text/x-raw(ANY)
subpicture/x-dvd
subpicture/x-dvb
subpicture/x-xsub
subpicture/x-pgs

subtitle-encoding : Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.
flags: readable, writable
String. Default: null
sink-caps : The caps of the input data. (NULL = use typefind element)
flags: readable, writable
Caps (NULL)
use-buffering : Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds
flags: readable, writable
Boolean. Default: false
low-percent : Low threshold for buffering to start
flags: readable, writable
Integer. Range: 0 - 100 Default: 10
high-percent : High threshold for buffering to finish
flags: readable, writable
Integer. Range: 0 - 100 Default: 99
max-size-bytes : Max. amount of bytes in the queue (0=automatic)
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 0
max-size-buffers : Max. number of buffers in the queue (0=automatic)
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 0
max-size-time : Max. amount of data in the queue (in ns, 0=automatic)
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
post-stream-topology: Post stream-topology messages
flags: readable, writable
Boolean. Default: false
expose-all-streams : Expose all streams, including those of unknown type or that don’t match the ‘caps’ property
flags: readable, writable
Boolean. Default: true
connection-speed : Network connection speed in kbps (0 = unknown)
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551 Default: 0

Element Signals:
“pad-added” : void user_function (GstElement* object,
GstPad* arg0,
gpointer user_data);
“pad-removed” : void user_function (GstElement* object,
GstPad* arg0,
gpointer user_data);
“no-more-pads” : void user_function (GstElement* object,
gpointer user_data);
“unknown-type” : void user_function (GstElement* object,
GstPad* arg0,
GstCaps* arg1,
gpointer user_data);
“autoplug-continue” : gboolean user_function (GstElement* object,
GstPad* arg0,
GstCaps* arg1,
gpointer user_data);
“autoplug-factories” : GValueArray * user_function (GstElement* object,
GstPad* arg0,
GstCaps* arg1,
gpointer user_data);
“autoplug-sort” : GValueArray * user_function (GstElement* object,
GstPad* arg0,
GstCaps* arg1,
GValueArray* arg2,
gpointer user_data);
“autoplug-select” : GstAutoplugSelectResult user_function (GstElement* object,
GstPad* arg0,
GstCaps* arg1,
GstElementFactory* arg2,
gpointer user_data);
“autoplug-query” : gboolean user_function (GstElement* object,
GstPad* arg0,
GstElement* arg1,
GstQuery* arg2,
gpointer user_data);
“drained” : void user_function (GstElement* object,
gpointer user_data);

Children:
typefind

Not to my knowledge, I had not recalled using decodebin in jetson-inference previously.

Are you able to use decodebin element through gst-launch-1.0?