NVIDIA DeepStream SDK API Reference

8.0 Release
9.0/sources/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,
  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...
 
gboolean gst_nvmultiurisrcbincreator_get_source_info_list (NvDst_Handle_NvMultiUriSrcCreator apiHandle, GList **sensor_info_list)
 API to procure the list of active 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...
 
gchar * gst_nvmultiurisrcbincreator_get_sensor_id_from_source_id (NvDst_Handle_NvMultiUriSrcCreator apiHandle, guint sourceId)
 API to get the sensor id from the source id. More...
 
guint get_gpu_id (NvDst_Handle_NvMultiUriSrcCreator apiHandle)
 API to get the GPU ID configured for the nvmultiurisrcbin creator. 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 
NVDS_MULTIURISRCBIN_MODE_VIDEO 
NVDS_MULTIURISRCBIN_MODE_AUDIO 
NVDS_MULTIURISRCBIN_MODE_VIDEO 
NVDS_MULTIURISRCBIN_MODE_AUDIO 

Definition at line 33 of file 9.0/sources/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

◆ get_gpu_id()

guint get_gpu_id ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle)

API to get the GPU ID configured for the nvmultiurisrcbin creator.

This function retrieves the GPU ID that is being used by the nvstreammux component within the nvmultiurisrcbin. The GPU ID determines which GPU device is used for processing streams.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
Returns
The GPU ID configured in the mux configuration Returns 0 if muxConfig is NULL or not set

◆ 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_sensor_id_from_source_id()

gchar* gst_nvmultiurisrcbincreator_get_sensor_id_from_source_id ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
guint  sourceId 
)

API to get the sensor id from the source id.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in]sourceIdThe source id
Returns
The sensor id

◆ 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_info_list()

gboolean gst_nvmultiurisrcbincreator_get_source_info_list ( NvDst_Handle_NvMultiUriSrcCreator  apiHandle,
GList **  sensor_info_list 
)

API to procure the list of active sources.

Parameters
[in]apiHandleThe nvmultiurisrcbincreator API handle returned by init
[in/out]sensor_info_list A list which would contain the sensor realted info
Returns
TRUE if API was successful; FALSE otherwise

◆ 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