# rtsp onvif media factory

The GstRTSPOnvifMediaFactory is responsible for creating or recycling GstRTSPMedia objects based on the passed URL. Different to GstRTSPMediaFactory, this supports special ONVIF features and can create GstRTSPOnvifMedia in addition to normal GstRTSPMedia.

Special ONVIF features that are currently supported is a backchannel for the client to send back media to the server in a normal PLAY media, see gst_rtsp_onvif_media_factory_set_backchannel_launch and gst_rtsp_onvif_media_factory_set_backchannel_bandwidth.

## GstRTSPOnvifMediaFactory

    GObject
        ╰──GstRTSPMediaFactory
            ╰──GstRTSPOnvifMediaFactory

### Members

`parent` (GstRTSPMediaFactory) –
No description available
`priv` (GstRTSPOnvifMediaFactoryPrivate*) –
No description available

Since : 1.14

### Class structure

#### GstRTSPOnvifMediaFactoryClass

##### Fields

`parent` (GstRTSPMediaFactoryClass) –
No description available

### GstRtspServer.RTSPOnvifMediaFactoryClass

##### Attributes

`parent` (GstRtspServer.RTSPMediaFactoryClass) –
No description available

### GstRtspServer.RTSPOnvifMediaFactoryClass

##### Attributes

`parent` (GstRtspServer.RTSPMediaFactoryClass) –
No description available

## GstRtspServer.RTSPOnvifMediaFactory

    GObject.Object
        ╰──GstRtspServer.RTSPMediaFactory
            ╰──GstRtspServer.RTSPOnvifMediaFactory

### Members

`parent` (GstRtspServer.RTSPMediaFactory) –
No description available
`priv` (GstRtspServer.RTSPOnvifMediaFactoryPrivate) –
No description available

Since : 1.14

## GstRtspServer.RTSPOnvifMediaFactory

    GObject.Object
        ╰──GstRtspServer.RTSPMediaFactory
            ╰──GstRtspServer.RTSPOnvifMediaFactory

### Members

`parent` (GstRtspServer.RTSPMediaFactory) –
No description available
`priv` (GstRtspServer.RTSPOnvifMediaFactoryPrivate) –
No description available

Since : 1.14

### Constructors

#### gst_rtsp_onvif_media_factory_new

    GstRTSPMediaFactory *
    gst_rtsp_onvif_media_factory_new ()

Create a new GstRTSPOnvifMediaFactory

Returns –

A new GstRTSPOnvifMediaFactory

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.new

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.new(): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_new'
    }

Create a new GstRtspServer.RTSPOnvifMediaFactory

Returns (GstRtspServer.RTSPMediaFactory) –

A new GstRtspServer.RTSPOnvifMediaFactory

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.new

    def GstRtspServer.RTSPOnvifMediaFactory.new ():
        #python wrapper for 'gst_rtsp_onvif_media_factory_new'

Create a new GstRtspServer.RTSPOnvifMediaFactory

Returns (GstRtspServer.RTSPMediaFactory) –

A new GstRtspServer.RTSPOnvifMediaFactory

Since : 1.14

### Methods

#### gst_rtsp_onvif_media_factory_get_backchannel_bandwidth

    guint
    gst_rtsp_onvif_media_factory_get_backchannel_bandwidth (GstRTSPOnvifMediaFactory * factory)

Get the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` –

a GstRTSPMediaFactory

Returns –

the configured/supported backchannel bandwidth.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.get_backchannel_bandwidth

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.get_backchannel_bandwidth(): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_get_backchannel_bandwidth'
    }

Get the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (Number) –

the configured/supported backchannel bandwidth.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.get_backchannel_bandwidth

    def GstRtspServer.RTSPOnvifMediaFactory.get_backchannel_bandwidth (self):
        #python wrapper for 'gst_rtsp_onvif_media_factory_get_backchannel_bandwidth'

Get the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (int) –

the configured/supported backchannel bandwidth.

Since : 1.14

#### gst_rtsp_onvif_media_factory_get_backchannel_launch

    gchar *
    gst_rtsp_onvif_media_factory_get_backchannel_launch (GstRTSPOnvifMediaFactory * factory)

Get the gst_parse_launch pipeline description that will be used in the default prepare vmethod for generating the ONVIF backchannel pipeline.

Parameters:

`factory` –

a GstRTSPMediaFactory

Returns ( [transfer: full][nullable]) –

the configured backchannel launch description. g_free after usage.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.get_backchannel_launch

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.get_backchannel_launch(): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_get_backchannel_launch'
    }

Get the Gst.prototype.parse_launch pipeline description that will be used in the default prepare vmethod for generating the ONVIF backchannel pipeline.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (String) –

the configured backchannel launch description. GLib.prototype.free after usage.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.get_backchannel_launch

    def GstRtspServer.RTSPOnvifMediaFactory.get_backchannel_launch (self):
        #python wrapper for 'gst_rtsp_onvif_media_factory_get_backchannel_launch'

Get the Gst.parse_launch pipeline description that will be used in the default prepare vmethod for generating the ONVIF backchannel pipeline.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (str) –

the configured backchannel launch description. GLib.free after usage.

Since : 1.14

#### gst_rtsp_onvif_media_factory_has_backchannel_support

    gboolean
    gst_rtsp_onvif_media_factory_has_backchannel_support (GstRTSPOnvifMediaFactory * factory)

Returns TRUE if an ONVIF backchannel is supported by the media factory.

Parameters:

`factory` –

a GstRTSPMediaFactory

Returns –

TRUE if an ONVIF backchannel is supported by the media factory.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.has_backchannel_support

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.has_backchannel_support(): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_has_backchannel_support'
    }

Returns true if an ONVIF backchannel is supported by the media factory.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (Number) –

true if an ONVIF backchannel is supported by the media factory.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.has_backchannel_support

    def GstRtspServer.RTSPOnvifMediaFactory.has_backchannel_support (self):
        #python wrapper for 'gst_rtsp_onvif_media_factory_has_backchannel_support'

Returns True if an ONVIF backchannel is supported by the media factory.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

Returns (bool) –

True if an ONVIF backchannel is supported by the media factory.

Since : 1.14

#### gst_rtsp_onvif_media_factory_has_replay_support

    gboolean
    gst_rtsp_onvif_media_factory_has_replay_support (GstRTSPOnvifMediaFactory * factory)

Parameters:

`factory` –
No description available
Returns –

TRUE if ONVIF replay is supported by the media factory.

Since : 1.18

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.has_replay_support

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.has_replay_support(): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_has_replay_support'
    }

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
Returns (Number) –

true if ONVIF replay is supported by the media factory.

Since : 1.18

#### GstRtspServer.RTSPOnvifMediaFactory.has_replay_support

    def GstRtspServer.RTSPOnvifMediaFactory.has_replay_support (self):
        #python wrapper for 'gst_rtsp_onvif_media_factory_has_replay_support'

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
Returns (bool) –

True if ONVIF replay is supported by the media factory.

Since : 1.18

#### gst_rtsp_onvif_media_factory_set_backchannel_bandwidth

    gst_rtsp_onvif_media_factory_set_backchannel_bandwidth (GstRTSPOnvifMediaFactory * factory,
                                                            guint bandwidth)

Set the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` –

a GstRTSPMediaFactory

`bandwidth` –

the bandwidth in bits per second

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.set_backchannel_bandwidth

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.set_backchannel_bandwidth(bandwidth: Number): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_set_backchannel_bandwidth'
    }

Set the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`bandwidth` (Number) –

the bandwidth in bits per second

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.set_backchannel_bandwidth

    def GstRtspServer.RTSPOnvifMediaFactory.set_backchannel_bandwidth (self, bandwidth):
        #python wrapper for 'gst_rtsp_onvif_media_factory_set_backchannel_bandwidth'

Set the configured/supported bandwidth of the ONVIF backchannel pipeline in bits per second.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`bandwidth` (int) –

the bandwidth in bits per second

Since : 1.14

#### gst_rtsp_onvif_media_factory_set_backchannel_launch

    gst_rtsp_onvif_media_factory_set_backchannel_launch (GstRTSPOnvifMediaFactory * factory,
                                                         const gchar * launch)

The gst_parse_launch line to use for constructing the ONVIF backchannel pipeline in the default prepare vmethod if requested by the client.

The pipeline description should return a GstBin as the toplevel element which can be accomplished by enclosing the description with brackets '(' ')'.

The description should return a pipeline with a single depayloader named depay_backchannel. A caps query on the depayloader's sinkpad should return all possible, complete RTP caps that are going to be supported. At least the payload type, clock-rate and encoding-name need to be specified.

Note: The pipeline part passed here must end in sinks that are not waiting until pre-rolling before reaching the PAUSED state, i.e. setting async=false on GstBaseSink. Otherwise the whole media will not be able to prepare.

Parameters:

`factory` –

a GstRTSPMediaFactory

`launch` ( [nullable]) –

the launch description

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.set_backchannel_launch

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.set_backchannel_launch(launch: String): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_set_backchannel_launch'
    }

The Gst.prototype.parse_launch line to use for constructing the ONVIF backchannel pipeline in the default prepare vmethod if requested by the client.

The pipeline description should return a GstBin as the toplevel element which can be accomplished by enclosing the description with brackets '(' ')'.

The description should return a pipeline with a single depayloader named depay_backchannel. A caps query on the depayloader's sinkpad should return all possible, complete RTP caps that are going to be supported. At least the payload type, clock-rate and encoding-name need to be specified.

Note: The pipeline part passed here must end in sinks that are not waiting until pre-rolling before reaching the PAUSED state, i.e. setting async=false on GstBase.BaseSink. Otherwise the whole media will not be able to prepare.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`launch` (String) –

the launch description

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.set_backchannel_launch

    def GstRtspServer.RTSPOnvifMediaFactory.set_backchannel_launch (self, launch):
        #python wrapper for 'gst_rtsp_onvif_media_factory_set_backchannel_launch'

The Gst.parse_launch line to use for constructing the ONVIF backchannel pipeline in the default prepare vmethod if requested by the client.

The pipeline description should return a GstBin as the toplevel element which can be accomplished by enclosing the description with brackets '(' ')'.

The description should return a pipeline with a single depayloader named depay_backchannel. A caps query on the depayloader's sinkpad should return all possible, complete RTP caps that are going to be supported. At least the payload type, clock-rate and encoding-name need to be specified.

Note: The pipeline part passed here must end in sinks that are not waiting until pre-rolling before reaching the PAUSED state, i.e. setting async=false on GstBase.BaseSink. Otherwise the whole media will not be able to prepare.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`launch` (str) –

the launch description

Since : 1.14

#### gst_rtsp_onvif_media_factory_set_replay_support

    gst_rtsp_onvif_media_factory_set_replay_support (GstRTSPOnvifMediaFactory * factory,
                                                     gboolean has_replay_support)

Set to TRUE if ONVIF replay is supported by the media factory.

Parameters:

`factory` –
No description available
`has_replay_support` –
No description available

Since : 1.18

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.set_replay_support

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.set_replay_support(has_replay_support: Number): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_set_replay_support'
    }

Set to true if ONVIF replay is supported by the media factory.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
`has_replay_support` (Number) –
No description available

Since : 1.18

#### GstRtspServer.RTSPOnvifMediaFactory.set_replay_support

    def GstRtspServer.RTSPOnvifMediaFactory.set_replay_support (self, has_replay_support):
        #python wrapper for 'gst_rtsp_onvif_media_factory_set_replay_support'

Set to True if ONVIF replay is supported by the media factory.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
`has_replay_support` (bool) –
No description available

Since : 1.18

### Functions

#### gst_rtsp_onvif_media_factory_requires_backchannel

    gboolean
    gst_rtsp_onvif_media_factory_requires_backchannel (GstRTSPMediaFactory * factory,
                                                       GstRTSPContext * ctx)

Checks whether the client request requires backchannel.

Parameters:

`factory` –

a GstRTSPMediaFactory

`ctx` –
No description available
Returns –

TRUE if the client request requires backchannel.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.prototype.requires_backchannel

    function GstRtspServer.RTSPOnvifMediaFactory.prototype.requires_backchannel(factory: GstRtspServer.RTSPMediaFactory, ctx: GstRtspServer.RTSPContext): {
        // javascript wrapper for 'gst_rtsp_onvif_media_factory_requires_backchannel'
    }

Checks whether the client request requires backchannel.

Parameters:

`factory` (GstRtspServer.RTSPMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`ctx` (GstRtspServer.RTSPContext) –
No description available
Returns (Number) –

true if the client request requires backchannel.

Since : 1.14

#### GstRtspServer.RTSPOnvifMediaFactory.requires_backchannel

    def GstRtspServer.RTSPOnvifMediaFactory.requires_backchannel (factory, ctx):
        #python wrapper for 'gst_rtsp_onvif_media_factory_requires_backchannel'

Checks whether the client request requires backchannel.

Parameters:

`factory` (GstRtspServer.RTSPMediaFactory) –

a GstRtspServer.RTSPMediaFactory

`ctx` (GstRtspServer.RTSPContext) –
No description available
Returns (bool) –

True if the client request requires backchannel.

Since : 1.14

### Virtual Methods

#### create_backchannel_stream

    gboolean
    create_backchannel_stream (GstRTSPOnvifMediaFactory * factory,
                               GstRTSPOnvifMedia * media,
                               GstRTSPContext * ctx)

Called by the factory from construct(). The default implementation creates the * GstRTSPStream for the backchannel receiver by calling gst_rtsp_onvif_media_collect_backchannel (media). Implementations that want to create the backchannel later should return TRUE here and call gst_rtsp_onvif_media_collect_backchannel later, but must do so before the media finishes preparing.

Parameters:

`factory` –

a GstRTSPOnvifMediaFactory

`media` –

a GstRTSPOnvifMedia

`ctx` –

a GstRTSPContext

Returns –

TRUE on success. FALSE on a fatal error.

Since : 1.26

#### vfunc_create_backchannel_stream

    function vfunc_create_backchannel_stream(factory: GstRtspServer.RTSPOnvifMediaFactory, media: GstRtspServer.RTSPOnvifMedia, ctx: GstRtspServer.RTSPContext): {
        // javascript implementation of the 'create_backchannel_stream' virtual method
    }

Called by the factory from vfunc_construct(). The default implementation creates the * GstRtspServer.RTSPStream for the backchannel receiver by calling gst_rtsp_onvif_media_collect_backchannel (media). Implementations that want to create the backchannel later should return TRUE here and call GstRtspServer.RTSPOnvifMedia.prototype.collect_backchannel later, but must do so before the media finishes preparing.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPOnvifMediaFactory

`media` (GstRtspServer.RTSPOnvifMedia) –

a GstRtspServer.RTSPOnvifMedia

`ctx` (GstRtspServer.RTSPContext) –

a GstRtspServer.RTSPContext

Returns (Number) –

TRUE on success. FALSE on a fatal error.

Since : 1.26

#### do_create_backchannel_stream

    def do_create_backchannel_stream (factory, media, ctx):
        #python implementation of the 'create_backchannel_stream' virtual method

Called by the factory from do_construct(). The default implementation creates the * GstRtspServer.RTSPStream for the backchannel receiver by calling gst_rtsp_onvif_media_collect_backchannel (media). Implementations that want to create the backchannel later should return TRUE here and call GstRtspServer.RTSPOnvifMedia.collect_backchannel later, but must do so before the media finishes preparing.

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –

a GstRtspServer.RTSPOnvifMediaFactory

`media` (GstRtspServer.RTSPOnvifMedia) –

a GstRtspServer.RTSPOnvifMedia

`ctx` (GstRtspServer.RTSPContext) –

a GstRtspServer.RTSPContext

Returns (bool) –

TRUE on success. FALSE on a fatal error.

Since : 1.26

#### has_backchannel_support

    gboolean
    has_backchannel_support (GstRTSPOnvifMediaFactory * factory)

Parameters:

`factory` –
No description available
Returns –
No description available

#### vfunc_has_backchannel_support

    function vfunc_has_backchannel_support(factory: GstRtspServer.RTSPOnvifMediaFactory): {
        // javascript implementation of the 'has_backchannel_support' virtual method
    }

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
Returns (Number) –
No description available

#### do_has_backchannel_support

    def do_has_backchannel_support (factory):
        #python implementation of the 'has_backchannel_support' virtual method

Parameters:

`factory` (GstRtspServer.RTSPOnvifMediaFactory) –
No description available
Returns (bool) –
No description available

## Function Macros

### GST_RTSP_ONVIF_MEDIA_FACTORY_CAST

    #define GST_RTSP_ONVIF_MEDIA_FACTORY_CAST(obj)         ((GstRTSPOnvifMediaFactory*)(obj))

### GST_RTSP_ONVIF_MEDIA_FACTORY_CLASS_CAST

    #define GST_RTSP_ONVIF_MEDIA_FACTORY_CLASS_CAST(klass) ((GstRTSPOnvifMediaFactoryClass*)(klass))

The results of the search are