.. _vvas_xdefunnel: vvas_xdefunnel ================ vvas_xdefunnel gstreamer plug-in de-serializes data coming from ``vvas_xfunnel`` plug-in. This plug-in creates and destroys source pads based on the events from the ``vvas_xfunnel`` plug-in. For ``vvas_xdefunnel`` implementation details, refer to `vvas_xdefunnel source code <https://github.com/Xilinx/VVAS/tree/master/vvas-gst-plugins/gst/defunnel>`_ 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 | void user_function (GstElement* object, | | | emitted when new source | GstPad* arg0, gpointer user_data); | | | pad is created. | | +--------------------+--------------------------+------------------------------------------+ | pad-removed | This signal will be | void user_function (GstElement* object, | | | emitted when a source | GstPad* arg0, gpointer user_data); | | | pad is removed. | | +--------------------+--------------------------+------------------------------------------+ 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 | Source pad to which current | | | | property | buffer is being pushed to | +--------------------+--------------+--------------+-----------------------------+ Example Pipelines ------------------------- .. code-block:: 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