gstrtpjitterbuffer

gstrtpjitterbuffer — buffer, reorder and remove duplicate RTP packets to compensate for network oddities.

Synopsis




                    GstRTPJitterBuffer;

Object Hierarchy


  GObject
   +----GstObject
         +----GstElement
               +----GstRTPJitterBuffer

Properties


  "drop-on-latency"          gboolean              : Read / Write
  "latency"                  guint                 : Read / Write

Signals


  "clear-pt-map"                                   : Run Last
  "request-pt-map"                                 : Run Last

Description

This element reorders and removes duplicate RTP packets as they are received from a network source. It will also wait for missing packets up to a configurable time limit using the ::latency property. Packets arriving too late are considered to be lost packets.

This element acts as a live element and so adds ::latency to the pipeline.

The element needs the clock-rate of the RTP payload in order to estimate the delay. This information is obtained either from the caps on the sink pad or, when no caps are present, from the ::request-pt-map signal. To clear the previous pt-map use the ::clear-pt-map signal.

This element will automatically be used inside gstrtpbin.

Example pipelines

gst-launch rtspsrc location=rtsp://192.168.1.133:8554/mpeg1or2AudioVideoTest ! gstrtpjitterbuffer ! rtpmpvdepay ! mpeg2dec ! xvimagesink

Connect to a streaming server and decode the MPEG video. The jitterbuffer is inserted into the pipeline to smooth out network jitter and to reorder the out-of-order RTP packets.

Last reviewed on 2007-05-28 (0.10.5)

Element Information

plugin gstrtpmanager
author Philippe Kalaf <philippe.kalaf@collabora.co.uk>, Wim Taymans <wim@fluendo.com>
class Filter/Network/RTP

Details

GstRTPJitterBuffer

typedef struct _GstRTPJitterBuffer GstRTPJitterBuffer;

Opaque jitterbuffer structure.

Property Details

The "drop-on-latency" property

  "drop-on-latency"          gboolean              : Read / Write

Tells the jitterbuffer to never exceed the given latency in size.

Default value: FALSE


The "latency" property

  "latency"                  guint                 : Read / Write

Amount of ms to buffer.

Default value: 200

Signal Details

The "clear-pt-map" signal

void                user_function                      (GstRTPJitterBuffer *buffer,
                                                        gpointer            user_data)      : Run Last

Invalidate the clock-rate as obtained with the ::request-pt-map signal.

buffer : the object which received the signal
user_data : user data set when the signal handler was connected.

The "request-pt-map" signal

GstCaps*            user_function                      (GstRTPJitterBuffer *buffer,
                                                        guint               pt,
                                                        gpointer            user_data)      : Run Last

Request the payload type as GstCaps for pt.

buffer : the object which received the signal
pt : the pt
user_data : user data set when the signal handler was connected.