# GstRTSPExtension

This interface is implemented e.g. by the Windows Media Streaming RTSP exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).

## GstRTSPExtension

## GstRtsp.RTSPExtension

### Methods

#### gst_rtsp_extension_after_send

    GstRTSPResult
    gst_rtsp_extension_after_send (GstRTSPExtension * ext,
                                   GstRTSPMessage * req,
                                   GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`req` –
No description available
`resp` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.after_send

    function GstRtsp.RTSPExtension.prototype.after_send(req: GstRtsp.RTSPMessage, resp: GstRtsp.RTSPMessage): {
        // javascript wrapper for 'gst_rtsp_extension_after_send'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.after_send

    def GstRtsp.RTSPExtension.after_send (self, req, resp):
        #python wrapper for 'gst_rtsp_extension_after_send'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_before_send

    GstRTSPResult
    gst_rtsp_extension_before_send (GstRTSPExtension * ext,
                                    GstRTSPMessage * req)

Parameters:

`ext` –
No description available
`req` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.before_send

    function GstRtsp.RTSPExtension.prototype.before_send(req: GstRtsp.RTSPMessage): {
        // javascript wrapper for 'gst_rtsp_extension_before_send'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.before_send

    def GstRtsp.RTSPExtension.before_send (self, req):
        #python wrapper for 'gst_rtsp_extension_before_send'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_configure_stream

    gboolean
    gst_rtsp_extension_configure_stream (GstRTSPExtension * ext,
                                         GstCaps * caps)

Parameters:

`ext` –
No description available
`caps` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.configure_stream

    function GstRtsp.RTSPExtension.prototype.configure_stream(caps: Gst.Caps): {
        // javascript wrapper for 'gst_rtsp_extension_configure_stream'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (Number) –
No description available

#### GstRtsp.RTSPExtension.configure_stream

    def GstRtsp.RTSPExtension.configure_stream (self, caps):
        #python wrapper for 'gst_rtsp_extension_configure_stream'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (bool) –
No description available

#### gst_rtsp_extension_detect_server

    gboolean
    gst_rtsp_extension_detect_server (GstRTSPExtension * ext,
                                      GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`resp` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.detect_server

    function GstRtsp.RTSPExtension.prototype.detect_server(resp: GstRtsp.RTSPMessage): {
        // javascript wrapper for 'gst_rtsp_extension_detect_server'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (Number) –
No description available

#### GstRtsp.RTSPExtension.detect_server

    def GstRtsp.RTSPExtension.detect_server (self, resp):
        #python wrapper for 'gst_rtsp_extension_detect_server'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (bool) –
No description available

#### gst_rtsp_extension_get_transports

    GstRTSPResult
    gst_rtsp_extension_get_transports (GstRTSPExtension * ext,
                                       GstRTSPLowerTrans protocols,
                                       gchar ** transport)

Parameters:

`ext` –
No description available
`protocols` –
No description available
`transport` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.get_transports

    function GstRtsp.RTSPExtension.prototype.get_transports(protocols: GstRtsp.RTSPLowerTrans, transport: String): {
        // javascript wrapper for 'gst_rtsp_extension_get_transports'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`protocols` (GstRtsp.RTSPLowerTrans) –
No description available
`transport` (String) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.get_transports

    def GstRtsp.RTSPExtension.get_transports (self, protocols, transport):
        #python wrapper for 'gst_rtsp_extension_get_transports'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`protocols` (GstRtsp.RTSPLowerTrans) –
No description available
`transport` (str) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_parse_sdp

    GstRTSPResult
    gst_rtsp_extension_parse_sdp (GstRTSPExtension * ext,
                                  GstSDPMessage * sdp,
                                  GstStructure * s)

Parameters:

`ext` –
No description available
`sdp` –
No description available
`s` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.parse_sdp

    function GstRtsp.RTSPExtension.prototype.parse_sdp(sdp: GstSdp.SDPMessage, s: Gst.Structure): {
        // javascript wrapper for 'gst_rtsp_extension_parse_sdp'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`sdp` (GstSdp.SDPMessage) –
No description available
`s` (Gst.Structure) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.parse_sdp

    def GstRtsp.RTSPExtension.parse_sdp (self, sdp, s):
        #python wrapper for 'gst_rtsp_extension_parse_sdp'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`sdp` (GstSdp.SDPMessage) –
No description available
`s` (Gst.Structure) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_receive_request

    GstRTSPResult
    gst_rtsp_extension_receive_request (GstRTSPExtension * ext,
                                        GstRTSPMessage * req)

Parameters:

`ext` –
No description available
`req` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.receive_request

    function GstRtsp.RTSPExtension.prototype.receive_request(req: GstRtsp.RTSPMessage): {
        // javascript wrapper for 'gst_rtsp_extension_receive_request'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.receive_request

    def GstRtsp.RTSPExtension.receive_request (self, req):
        #python wrapper for 'gst_rtsp_extension_receive_request'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_send

    GstRTSPResult
    gst_rtsp_extension_send (GstRTSPExtension * ext,
                             GstRTSPMessage * req,
                             GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`req` –
No description available
`resp` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.send

    function GstRtsp.RTSPExtension.prototype.send(req: GstRtsp.RTSPMessage, resp: GstRtsp.RTSPMessage): {
        // javascript wrapper for 'gst_rtsp_extension_send'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.send

    def GstRtsp.RTSPExtension.send (self, req, resp):
        #python wrapper for 'gst_rtsp_extension_send'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_setup_media

    GstRTSPResult
    gst_rtsp_extension_setup_media (GstRTSPExtension * ext,
                                    GstSDPMedia * media)

Parameters:

`ext` –
No description available
`media` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.setup_media

    function GstRtsp.RTSPExtension.prototype.setup_media(media: GstSdp.SDPMedia): {
        // javascript wrapper for 'gst_rtsp_extension_setup_media'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`media` (GstSdp.SDPMedia) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.setup_media

    def GstRtsp.RTSPExtension.setup_media (self, media):
        #python wrapper for 'gst_rtsp_extension_setup_media'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`media` (GstSdp.SDPMedia) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### gst_rtsp_extension_stream_select

    GstRTSPResult
    gst_rtsp_extension_stream_select (GstRTSPExtension * ext,
                                      GstRTSPUrl * url)

Parameters:

`ext` –
No description available
`url` –
No description available
Returns –
No description available

#### GstRtsp.RTSPExtension.prototype.stream_select

    function GstRtsp.RTSPExtension.prototype.stream_select(url: GstRtsp.RTSPUrl): {
        // javascript wrapper for 'gst_rtsp_extension_stream_select'
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`url` (GstRtsp.RTSPUrl) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### GstRtsp.RTSPExtension.stream_select

    def GstRtsp.RTSPExtension.stream_select (self, url):
        #python wrapper for 'gst_rtsp_extension_stream_select'

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`url` (GstRtsp.RTSPUrl) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

### Signals

#### send

    GstRTSPResult *
    send_callback (GstRTSPExtension * self,
                   gpointer object,
                   gpointer p0,
                   gpointer user_data)

Parameters:

`self` –
No description available
`object` –
No description available
`p0` –
No description available
`user_data` –
No description available
Returns –
No description available

Flags: Run Last

#### send

    function send_callback(self: GstRtsp.RTSPExtension, object: Object, p0: Object, user_data: Object): {
        // javascript callback for the 'send' signal
    }

Parameters:

`self` (GstRtsp.RTSPExtension) –
No description available
`object` (Object) –
No description available
`p0` (Object) –
No description available
`user_data` (Object) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

Flags: Run Last

#### send

    def send_callback (self, object, p0, *user_data):
        #python callback for the 'send' signal

Parameters:

`self` (GstRtsp.RTSPExtension) –
No description available
`object` (object) –
No description available
`p0` (object) –
No description available
`user_data` (variadic) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

Flags: Run Last

### Virtual Methods

#### after_send

    GstRTSPResult
    after_send (GstRTSPExtension * ext,
                GstRTSPMessage * req,
                GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`req` –
No description available
`resp` –
No description available
Returns –
No description available

#### vfunc_after_send

    function vfunc_after_send(ext: GstRtsp.RTSPExtension, req: GstRtsp.RTSPMessage, resp: GstRtsp.RTSPMessage): {
        // javascript implementation of the 'after_send' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_after_send

    def do_after_send (ext, req, resp):
        #python implementation of the 'after_send' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### before_send

    GstRTSPResult
    before_send (GstRTSPExtension * ext,
                 GstRTSPMessage * req)

Parameters:

`ext` –
No description available
`req` –
No description available
Returns –
No description available

#### vfunc_before_send

    function vfunc_before_send(ext: GstRtsp.RTSPExtension, req: GstRtsp.RTSPMessage): {
        // javascript implementation of the 'before_send' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_before_send

    def do_before_send (ext, req):
        #python implementation of the 'before_send' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### configure_stream

    gboolean
    configure_stream (GstRTSPExtension * ext,
                      GstCaps * caps)

Parameters:

`ext` –
No description available
`caps` –
No description available
Returns –
No description available

#### vfunc_configure_stream

    function vfunc_configure_stream(ext: GstRtsp.RTSPExtension, caps: Gst.Caps): {
        // javascript implementation of the 'configure_stream' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (Number) –
No description available

#### do_configure_stream

    def do_configure_stream (ext, caps):
        #python implementation of the 'configure_stream' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`caps` (Gst.Caps) –
No description available
Returns (bool) –
No description available

#### detect_server

    gboolean
    detect_server (GstRTSPExtension * ext,
                   GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`resp` –
No description available
Returns –
No description available

#### vfunc_detect_server

    function vfunc_detect_server(ext: GstRtsp.RTSPExtension, resp: GstRtsp.RTSPMessage): {
        // javascript implementation of the 'detect_server' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (Number) –
No description available

#### do_detect_server

    def do_detect_server (ext, resp):
        #python implementation of the 'detect_server' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (bool) –
No description available

#### get_transports

    GstRTSPResult
    get_transports (GstRTSPExtension * ext,
                    GstRTSPLowerTrans protocols,
                    gchar ** transport)

Parameters:

`ext` –
No description available
`protocols` –
No description available
`transport` –
No description available
Returns –
No description available

#### vfunc_get_transports

    function vfunc_get_transports(ext: GstRtsp.RTSPExtension, protocols: GstRtsp.RTSPLowerTrans, transport: String): {
        // javascript implementation of the 'get_transports' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`protocols` (GstRtsp.RTSPLowerTrans) –
No description available
`transport` (String) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_get_transports

    def do_get_transports (ext, protocols, transport):
        #python implementation of the 'get_transports' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`protocols` (GstRtsp.RTSPLowerTrans) –
No description available
`transport` (str) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### parse_sdp

    GstRTSPResult
    parse_sdp (GstRTSPExtension * ext,
               GstSDPMessage * sdp,
               GstStructure * s)

Parameters:

`ext` –
No description available
`sdp` –
No description available
`s` –
No description available
Returns –
No description available

#### vfunc_parse_sdp

    function vfunc_parse_sdp(ext: GstRtsp.RTSPExtension, sdp: GstSdp.SDPMessage, s: Gst.Structure): {
        // javascript implementation of the 'parse_sdp' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`sdp` (GstSdp.SDPMessage) –
No description available
`s` (Gst.Structure) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_parse_sdp

    def do_parse_sdp (ext, sdp, s):
        #python implementation of the 'parse_sdp' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`sdp` (GstSdp.SDPMessage) –
No description available
`s` (Gst.Structure) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### receive_request

    GstRTSPResult
    receive_request (GstRTSPExtension * ext,
                     GstRTSPMessage * req)

Parameters:

`ext` –
No description available
`req` –
No description available
Returns –
No description available

#### vfunc_receive_request

    function vfunc_receive_request(ext: GstRtsp.RTSPExtension, req: GstRtsp.RTSPMessage): {
        // javascript implementation of the 'receive_request' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_receive_request

    def do_receive_request (ext, req):
        #python implementation of the 'receive_request' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### send

    GstRTSPResult
    send (GstRTSPExtension * ext,
          GstRTSPMessage * req,
          GstRTSPMessage * resp)

Parameters:

`ext` –
No description available
`req` –
No description available
`resp` –
No description available
Returns –
No description available

#### vfunc_send

    function vfunc_send(ext: GstRtsp.RTSPExtension, req: GstRtsp.RTSPMessage, resp: GstRtsp.RTSPMessage): {
        // javascript implementation of the 'send' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_send

    def do_send (ext, req, resp):
        #python implementation of the 'send' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`req` (GstRtsp.RTSPMessage) –
No description available
`resp` (GstRtsp.RTSPMessage) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### setup_media

    GstRTSPResult
    setup_media (GstRTSPExtension * ext,
                 GstSDPMedia * media)

Parameters:

`ext` –
No description available
`media` –
No description available
Returns –
No description available

#### vfunc_setup_media

    function vfunc_setup_media(ext: GstRtsp.RTSPExtension, media: GstSdp.SDPMedia): {
        // javascript implementation of the 'setup_media' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`media` (GstSdp.SDPMedia) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_setup_media

    def do_setup_media (ext, media):
        #python implementation of the 'setup_media' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`media` (GstSdp.SDPMedia) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### stream_select

    GstRTSPResult
    stream_select (GstRTSPExtension * ext,
                   GstRTSPUrl * url)

Parameters:

`ext` –
No description available
`url` –
No description available
Returns –
No description available

#### vfunc_stream_select

    function vfunc_stream_select(ext: GstRtsp.RTSPExtension, url: GstRtsp.RTSPUrl): {
        // javascript implementation of the 'stream_select' virtual method
    }

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`url` (GstRtsp.RTSPUrl) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

#### do_stream_select

    def do_stream_select (ext, url):
        #python implementation of the 'stream_select' virtual method

Parameters:

`ext` (GstRtsp.RTSPExtension) –
No description available
`url` (GstRtsp.RTSPUrl) –
No description available
Returns (GstRtsp.RTSPResult) –
No description available

## Function Macros

### GST_RTSP_EXTENSION_GET_INTERFACE

    #define GST_RTSP_EXTENSION_GET_INTERFACE(inst) \
      (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_RTSP_EXTENSION, GstRTSPExtensionInterface))

## Constants

### GST_TYPE_RTSP_EXTENSION

    #define GST_TYPE_RTSP_EXTENSION \
      (gst_rtsp_extension_get_type ())

The results of the search are