gstrtpptdemux

gstrtpptdemux — Parses codec streams transmitted in the same RTP session

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)

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.