NVIDIA DeepStream SDK API Reference

6.4 Release
includes/gst-nvmultiurisrcbincreator.h File Reference

Go to the source code of this file.

Typedefs

typedef struct NvDsServerDecInfo NvDsServerDecInfo
 
typedef struct NvDsServerMuxInfo NvDsServerMuxInfo
 
typedef struct NvDsServerConvInfo NvDsServerConvInfo
 
typedef struct NvDsServerAppInstanceInfo NvDsServerAppInstanceInfo
 
typedef void * NvDst_Handle_NvMultiUriSrcCreator
 

Enumerations

enum  NvDsMultiUriMode {
  NVDS_MULTIURISRCBIN_MODE_VIDEO,
  NVDS_MULTIURISRCBIN_MODE_AUDIO,
  NVDS_MULTIURISRCBIN_MODE_VIDEO,
  NVDS_MULTIURISRCBIN_MODE_AUDIO
}
 

Functions

gboolean find_source (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
 API to check if sourceId related source exist. More...
 
gboolean set_nvuribin_dec_prop (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId, NvDsServerDecInfo *dec_info)
 API to set property value on nvv4l2decoder of nvmultiurisrcbin instance. More...
 
gboolean set_nvuribin_conv_prop (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId, NvDsServerConvInfo *conv_info)
 API to set property value on nvvideoconvert of nvmultiurisrcbin instance. More...
 
gboolean set_nvuribin_mux_prop (NvDst_Handle_NvMultiUriSrcCreator apiHandle, NvDsServerMuxInfo *mux_info)
 API to set property value on nvstreammux of nvmultiurisrcbin instance. More...
 
gboolean s_force_eos_handle (NvDst_Handle_NvMultiUriSrcCreator apiHandle, NvDsServerAppInstanceInfo *appinstance_info)
 API to set EOS related properties on nvstreammux of nvmultiurisrcbin instance. More...
 
NvDst_Handle_NvMultiUriSrcCreator gst_nvmultiurisrcbincreator_init (gchar *binName, NvDsMultiUriMode mode, GstDsNvStreammuxConfig *muxConfig)
 Initialize the API for nvmultiurisrcbin creation Note: nvmultiurisrcbin is a collection of DeepStream plugins viz: nvurisrcbin X N -> nvstreammux. More...
 
gboolean gst_nvmultiurisrcbincreator_add_source (NvDst_Handle_NvMultiUriSrcCreator apiHandle, GstDsNvUriSrcConfig *sourceConfig)
 API to add a source/stream into the nvmultiurisrcbin instance A new instance of nvurisrcbin will be created for this stream and be linked with appropriate sink pad of the nvstreammux instance. More...
 
gboolean gst_nvmultiurisrcbincreator_remove_source (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
 API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will be unlinked from nvstreammux and removed from the parent nvmultiurisrcbin instance. More...
 
gboolean gst_nvmultiurisrcbincreator_remove_source_without_forced_state_change (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
 API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will be unlinked from nvstreammux and removed from the parent nvmultiurisrcbin instance. More...
 
GstElement * gst_nvmultiurisrcbincreator_get_bin (NvDst_Handle_NvMultiUriSrcCreator apiHandle)
 Get the nvmultiurisrcbin GstBin User may: a) add this Bin/Element into their pipeline and b) link the bin's src pad to downstream element Note: This bin's src pad capability will be same as nvstreammux src pad capability. More...
 
GstPad * gst_nvmultiurisrcbincreator_get_source_pad (NvDst_Handle_NvMultiUriSrcCreator apiHandle)
 API to procure the source pad ("src") of this nvmultiurisrcbin instance Note: User may link the bin's src pad to downstream element Note: This src pad is the nvstreammux instance's src pad. More...
 
gboolean gst_nvmultiurisrcbincreator_sync_children_states (NvDst_Handle_NvMultiUriSrcCreator apiHandle)
 
void gst_nvmultiurisrcbincreator_deinit (NvDst_Handle_NvMultiUriSrcCreator apiHandle)
 Deinit the nvmultiurisrcbin creator API Note: If this bin was added to a parent pipeline instance, Use this API before calling gst_object_unref on the pipeline object. More...
 
GstDsNvUriSrcConfiggst_nvmultiurisrcbincreator_get_source_config (NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *uri, gchar const *sensorId)
 API to procure the source config for a particular sensor. More...
 
GstDsNvUriSrcConfiggst_nvmultiurisrcbincreator_src_config_dup (GstDsNvUriSrcConfig *sourceConfig)
 API to create duplicate of GstDsNvUriSrcConfig. More...
 
void gst_nvmultiurisrcbincreator_src_config_free (GstDsNvUriSrcConfig *config)
 API to free GstDsNvUriSrcConfig object obtained with API: gst_nvmultiurisrcbincreator_src_config_dup. More...
 
GstDsNvUriSrcConfiggst_nvmultiurisrcbincreator_get_source_config_by_sensorid (NvDst_Handle_NvMultiUriSrcCreator apiHandle, gchar const *sensorId)
 API to procure the source config for a particular sensor. More...
 
gboolean gst_nvmultiurisrcbincreator_get_active_sources_list (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint *count, GstDsNvUriSrcConfig ***configs)
 API to procure the list of sources. More...
 
void gst_nvmultiurisrcbincreator_src_config_list_free (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint count, GstDsNvUriSrcConfig **configs)
 API to destroy the memory allocation for list of sources procured with API: gst_nvmultiurisrcbincreator_get_active_sources_list() More...
 

Typedef Documentation

◆ NvDsServerAppInstanceInfo

◆ NvDsServerConvInfo

◆ NvDsServerDecInfo

◆ NvDsServerMuxInfo

◆ NvDst_Handle_NvMultiUriSrcCreator

Enumeration Type Documentation

◆ NvDsMultiUriMode

Enumerator
NVDS_MULTIURISRCBIN_MODE_VIDEO 
NVDS_MULTIURISRCBIN_MODE_AUDIO 
NVDS_MULTIURISRCBIN_MODE_VIDEO 
NVDS_MULTIURISRCBIN_MODE_AUDIO 

Definition at line 43 of file includes/gst-nvmultiurisrcbincreator.h.

Function Documentation

◆ find_source()

gboolean find_source ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId 
)

API to check if sourceId related source exist.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdsourceId information of the stream
Returns
TRUE if source found, else FALSE

◆ gst_nvmultiurisrcbincreator_add_source()

gboolean gst_nvmultiurisrcbincreator_add_source ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
GstDsNvUriSrcConfig sourceConfig 
)

API to add a source/stream into the nvmultiurisrcbin instance A new instance of nvurisrcbin will be created for this stream and be linked with appropriate sink pad of the nvstreammux instance.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceConfigNew stream/source configuration information
Returns
TRUE if successful, else FALSE

◆ gst_nvmultiurisrcbincreator_deinit()

void gst_nvmultiurisrcbincreator_deinit ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle)

Deinit the nvmultiurisrcbin creator API Note: If this bin was added to a parent pipeline instance, Use this API before calling gst_object_unref on the pipeline object.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init

◆ gst_nvmultiurisrcbincreator_get_active_sources_list()

gboolean gst_nvmultiurisrcbincreator_get_active_sources_list ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint *  count,
GstDsNvUriSrcConfig ***  configs 
)

API to procure the list of sources.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in/out]count The number of streams added to this bin using API gst_nvmultiurisrcbincreator_add_source()
[in/out]configs An array of configs of size count [transfer-full] Please free this configs array using API gst_nvmultiurisrcbincreator_src_config_list_free() API gst_nvmultiurisrcbincreator_add_source()
Returns
TRUE if API was successful; FALSE otherwise

◆ gst_nvmultiurisrcbincreator_get_bin()

GstElement* gst_nvmultiurisrcbincreator_get_bin ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle)

Get the nvmultiurisrcbin GstBin User may: a) add this Bin/Element into their pipeline and b) link the bin's src pad to downstream element Note: This bin's src pad capability will be same as nvstreammux src pad capability.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
Returns
[transfer none] A pointer to the nvmultiurisrcbin instance GstBin typecasted to the parent GstElement

◆ gst_nvmultiurisrcbincreator_get_source_config()

GstDsNvUriSrcConfig* gst_nvmultiurisrcbincreator_get_source_config ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
gchar const *  uri,
gchar const *  sensorId 
)

API to procure the source config for a particular sensor.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]uriThe uri string (need to exactly match details provided with gst_nvmultiurisrcbincreator_add_source()
[in]sensorIdThe sensorId string (need to exactly match details provided with gst_nvmultiurisrcbincreator_add_source()
Returns
source config for the running sensor where uri and sensorId match [transfer-full] the pointer returned shall be freed using API gst_nvmultiurisrcbincreator_src_config_free(1, &returnedPointer)

◆ gst_nvmultiurisrcbincreator_get_source_config_by_sensorid()

GstDsNvUriSrcConfig* gst_nvmultiurisrcbincreator_get_source_config_by_sensorid ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
gchar const *  sensorId 
)

API to procure the source config for a particular sensor.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sensorIdThe sensorId string (need to exactly match details provided with gst_nvmultiurisrcbincreator_add_source()
Returns
source config for the running sensor where uri and sensorId match

◆ gst_nvmultiurisrcbincreator_get_source_pad()

GstPad* gst_nvmultiurisrcbincreator_get_source_pad ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle)

API to procure the source pad ("src") of this nvmultiurisrcbin instance Note: User may link the bin's src pad to downstream element Note: This src pad is the nvstreammux instance's src pad.

Thus, the src pad GstCaps capability will be same as nvstreammux src pad capability

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
Returns
source pad for nvmultiurisrcbin

◆ gst_nvmultiurisrcbincreator_init()

NvDst_Handle_NvMultiUriSrcCreator gst_nvmultiurisrcbincreator_init ( gchar *  binName,
NvDsMultiUriMode  mode,
GstDsNvStreammuxConfig muxConfig 
)

Initialize the API for nvmultiurisrcbin creation Note: nvmultiurisrcbin is a collection of DeepStream plugins viz: nvurisrcbin X N -> nvstreammux.

Parameters
[in]binNameA name to the nvmultiurisrcbin instance
[in]modeThe bin's mode can either be video-only or audio-only
[in]muxConfigThe nvstreammux config to use within nvmultiurisrcbin
Returns
The handle to this API instance

◆ gst_nvmultiurisrcbincreator_remove_source()

gboolean gst_nvmultiurisrcbincreator_remove_source ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId 
)

API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will be unlinked from nvstreammux and removed from the parent nvmultiurisrcbin instance.

The book-keeping for this source will also be cleared. Note: This API force the nvurisrcbin state to GST_STATE_NULL

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdstream/source ID matching the provided source configuration information
Returns
TRUE if successful, else FALSE

◆ gst_nvmultiurisrcbincreator_remove_source_without_forced_state_change()

gboolean gst_nvmultiurisrcbincreator_remove_source_without_forced_state_change ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId 
)

API to remove a source/stream from the nvmultiurisrcbin instance The corresponding nvurisrcbin will be unlinked from nvstreammux and removed from the parent nvmultiurisrcbin instance.

The book-keeping for this source will also be cleared. Note: This API does force the nvurisrcbin state to GST_STATE_NULL Users may leverage this API when the state change happens externally (example: when there is an ERROR)

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdstream/source ID matching the provided source configuration information
Returns
TRUE if successful, else FALSE

◆ gst_nvmultiurisrcbincreator_src_config_dup()

GstDsNvUriSrcConfig* gst_nvmultiurisrcbincreator_src_config_dup ( GstDsNvUriSrcConfig sourceConfig)

API to create duplicate of GstDsNvUriSrcConfig.

◆ gst_nvmultiurisrcbincreator_src_config_free()

void gst_nvmultiurisrcbincreator_src_config_free ( GstDsNvUriSrcConfig config)

API to free GstDsNvUriSrcConfig object obtained with API: gst_nvmultiurisrcbincreator_src_config_dup.

◆ gst_nvmultiurisrcbincreator_src_config_list_free()

void gst_nvmultiurisrcbincreator_src_config_list_free ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  count,
GstDsNvUriSrcConfig **  configs 
)

API to destroy the memory allocation for list of sources procured with API: gst_nvmultiurisrcbincreator_get_active_sources_list()

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]countThe size of configs array
[in]configsarray of configs returned by API gst_nvmultiurisrcbincreator_get_active_sources_list() API gst_nvmultiurisrcbincreator_add_source()

◆ gst_nvmultiurisrcbincreator_sync_children_states()

gboolean gst_nvmultiurisrcbincreator_sync_children_states ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle)
Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
Returns
TRUE if successful, else FALSE

◆ s_force_eos_handle()

gboolean s_force_eos_handle ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
NvDsServerAppInstanceInfo appinstance_info 
)

API to set EOS related properties on nvstreammux of nvmultiurisrcbin instance.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]appinstance_infoinfo structure with activity to be used to set eos related properties on the nvstreammux
Returns
TRUE if successful, else FALSE

◆ set_nvuribin_conv_prop()

gboolean set_nvuribin_conv_prop ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId,
NvDsServerConvInfo conv_info 
)

API to set property value on nvvideoconvert of nvmultiurisrcbin instance.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdsourceId information of the stream
[in]conv_infoconverter info structure with property value to be used to set on the nvvideoconvert
Returns
TRUE if successful, else FALSE

◆ set_nvuribin_dec_prop()

gboolean set_nvuribin_dec_prop ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId,
NvDsServerDecInfo dec_info 
)

API to set property value on nvv4l2decoder of nvmultiurisrcbin instance.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdsourceId information of the stream
[in]dec_infodecoder info structure with property value to be used to set on the nvv4l2decoder
Returns
TRUE if successful, else FALSE

◆ set_nvuribin_mux_prop()

gboolean set_nvuribin_mux_prop ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
NvDsServerMuxInfo mux_info 
)

API to set property value on nvstreammux of nvmultiurisrcbin instance.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]mux_infoinfo structure with property value to be used to set on the nvstreammux
Returns
TRUE if successful, else FALSE