rtpptdemux

rtpptdemux — Parses codec streams transmitted in the same RTP session

Synopsis

struct              GstRtpPtDemux;

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GstObject
               +----GstElement
                     +----GstRtpPtDemux

Signals

  "clear-pt-map"                                   : Action
  "new-payload-type"                               : Run Last
  "payload-type-change"                            : Run Last
  "request-pt-map"                                 : Run Last

Description

rtpptdemux acts as a demuxer for RTP packets based on the payload type of the packets. Its main purpose is to allow an application to easily receive and decode an RTP stream with multiple payload types.

For each payload type that is detected, a new pad will be created and the "new-payload-type" signal will be emitted. When the payload for the RTP stream changes, the "payload-type-change" signal will be emitted.

The element will try to set complete and unique application/x-rtp caps on the outgoing buffers and pads based on the result of the "request-pt-map" signal.

Example pipelines

1
gst-launch-1.0 udpsrc caps="application/x-rtp" ! rtpptdemux ! fakesink
Takes an RTP stream and send the RTP packets with the first detected payload type to fakesink, discarding the other payload types.

Last reviewed on 2007-05-28 (0.10.5)

Synopsis

Element Information

plugin

rtpmanager

author

Kai Vehmanen <kai.vehmanen@nokia.com>

class

Demux/Network/RTP

Element Pads

name

sink

direction

sink

presence

always

details

application/x-rtp

name

src_%u

direction

source

presence

sometimes

details

application/x-rtp, payload=(int)[ 0, 255 ]

Details

struct GstRtpPtDemux

struct GstRtpPtDemux;

Signal Details

The "clear-pt-map" signal

void                user_function                      (GstRtpPtDemux *demux,
                                                        gpointer       user_data)      : Action

The application can call this signal to instruct the element to discard the currently cached payload type map.

demux :

the object which received the signal

user_data :

user data set when the signal handler was connected.

The "new-payload-type" signal

void                user_function                      (GstRtpPtDemux *demux,
                                                        guint          pt,
                                                        GstPad        *pad,
                                                        gpointer       user_data)      : Run Last

Emited when a new payload type pad has been created in demux.

demux :

the object which received the signal

pt :

the payload type

pad :

the pad with the new payload

user_data :

user data set when the signal handler was connected.

The "payload-type-change" signal

void                user_function                      (GstRtpPtDemux *demux,
                                                        guint          pt,
                                                        gpointer       user_data)      : Run Last

Emited when the payload type changed.

demux :

the object which received the signal

pt :

the new payload type

user_data :

user data set when the signal handler was connected.

The "request-pt-map" signal

GstCaps*            user_function                      (GstRtpPtDemux *demux,
                                                        guint          pt,
                                                        gpointer       user_data)      : Run Last

Request the payload type as GstCaps for pt.

demux :

the object which received the signal

pt :

the payload type

user_data :

user data set when the signal handler was connected.