gstrtpptdemux

gstrtpptdemux — separate RTP payloads based on the payload type

Synopsis




                    GstRTPPtDemux;

Object Hierarchy


  GObject
   +----GstObject
         +----GstElement
               +----GstRTPPtDemux

Signals


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

Description

gstrtpptdemux 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

gst-launch udpsrc caps="application/x-rtp" ! gstrtpptdemux ! 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)

Element Information

plugin gstrtpmanager
author Kai Vehmanen <kai.vehmanen@nokia.com>
class Demux/Network/RTP

Details

GstRTPPtDemux

typedef struct _GstRTPPtDemux GstRTPPtDemux;

Signal Details

The "clear-pt-map" signal

void                user_function                      (GstRTPPtDemux *demux,
                                                        gpointer       user_data)      : Run Last / 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.