## rtpptdemux rtpptdemux — Parses codec streams transmitted in the same RTP session |

## Signals

void | clear-pt-map | Action
void | new-payload-type | Run Last
void | payload-type-change | Run Last
GstCaps* | request-pt-map | Run Last

## Types and Values

struct | GstRtpPtDemux

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstRtpPtDemux

## 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.

## 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 ]

## Functions

## Types and Values

### struct GstRtpPtDemux

    struct GstRtpPtDemux;

## Signal Details

### The `“clear-pt-map”` signal

    void
    user_function (GstRtpPtDemux *demux,
                   gpointer       user_data)

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

#### Parameters

demux | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Action

### The `“new-payload-type”` signal

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

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

#### Parameters

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. |

Flags: Run Last

### The `“payload-type-change”` signal

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

Emited when the payload type changed.

#### Parameters

demux | the object which received the signal |
pt | the new payload type |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“request-pt-map”` signal

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

Request the payload type as GstCaps for `pt` .

#### Parameters

demux | the object which received the signal |
pt | the payload type |
user_data | user data set when the signal handler was connected. |

Flags: Run Last