vvas_xdefunnel

The Gstreamer plug-in, vvas_xdefunnel, is responsible for de-serializing data received from the vvas_xfunnel plug-in. This plug-in dynamically creates and removes source pads based on events received from the vvas_xfunnel plug-in.

For vvas_xdefunnel implementation details, refer to vvas_xdefunnel source code

This plug-in supports:

  • Single sink pad, multiple source pads.

  • Source pads are sometimes pad.

  • Source pads will be added and removed dynamically.

vvas_xdefunnel supports all caps.

Control Parameters and Plug-in Signals

The following table lists the GStreamer plug-in signals supported by the vvas_xdefunnel plug-in.

Table 11: vvas_xdefunnel Plug-in signals

Signal Name

Description

callback

pad-added

This signal will be emitted when new source pad is created.

void user_function (GstElement* object, GstPad* arg0, gpointer user_data);

pad-removed

This signal will be emitted when a source pad is removed.

void user_function (GstElement* object, GstPad* arg0, gpointer user_data);

no-more-pads

This signal indicates the element does not expect any more pads.

void user_function (GstElement* object, gpointer user_data);

The following table lists the GStreamer plug-in properties supported by the vvas_xdefunnel plug-in.

Table 12: vvas_xdefunnel Plug-in Properties

Property Name

Type

Default

Description

active-pad

GST_TYPE_PAD

Read Only property

Source pad to which current buffer is being pushed to

Example Pipelines

gst-launch-1.0 -v \
videotestsrc num-buffers=50 pattern=0  ! video/x-raw,format=NV12,width=640,height=480 ! funnel.sink_0 \
videotestsrc num-buffers=80 pattern=19 ! video/x-raw,format=NV12,width=640,height=480 ! funnel.sink_1 \
vvas_xfunnel name=funnel ! identity ! vvas_xdefunnel name=defunnel \
defunnel.src_0 ! queue ! filesink location=sink_0.yuv \
defunnel.src_1 ! queue ! filesink location=sink_1.yuv