본문으로 건너뛰기
SDK Version: 2.3.3

DxOutputSelector

DxOutputSelector is a GStreamer element used in multi-channel streaming pipelines. It receives a unified stream from DxInputSelector and redistributes the buffers to N output pads based on metadata, such as stream_id.

Key Features

Buffer Routing

  • Buffers arriving at the single sink pad are routed to the correct src pad using the stream_id field found in the associated DXFrameMeta.
  • This enables seamless demultiplexing of multiple logical video streams within a unified pipeline.

Custom Event Handling

  • DxOutputSelector processes sticky events (e.g., caps, segment) using custom routing events generated by DxInputSelector. This ensures that each src pad receives the correct contextual information.

Hierarchy

GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstDxOutputSelector

Properties

NameDescriptionTypeDefault Value
nameSets the unique name of the DxOutputSelector element.String"dxoutputselector0"
NOTE
  • DxOutputSelector requires asynchronous operation between its upstream and downstream elements. To achieve this, a queue element must be added to each of its src pads. Failure to do so may result in abnormal pipeline hangs.
  • The stream_id from the DXFrameMeta of the buffer received on the sink pad is parsed and used as the index of the src pad. Therefore, if the stream_id does not correspond to a valid src pad index in DxOutputSelector, an error will occur.

  • DxOSD removes the original buffer and creates a new one for drawing. During this process, DXFrameMeta is discarded, which can cause issues if DxOSD is placed upstream of DxOutputSelector.