Top |
#define GST_RTP_BASE_DEPAYLOAD_SINKPAD(depayload) (GST_RTP_BASE_DEPAYLOAD_CAST (depayload)->sinkpad)
#define GST_RTP_BASE_DEPAYLOAD_SRCPAD(depayload) (GST_RTP_BASE_DEPAYLOAD_CAST (depayload)->srcpad)
GstFlowReturn gst_rtp_base_depayload_push (GstRTPBaseDepayload *filter
,GstBuffer *out_buf
);
Push out_buf
to the peer of filter
. This function takes ownership of
out_buf
.
This function will by default apply the last incomming timestamp on the outgoing buffer when it didn't have a timestamp already.
GstFlowReturn gst_rtp_base_depayload_push_list (GstRTPBaseDepayload *filter
,GstBufferList *out_list
);
Push out_list
to the peer of filter
. This function takes ownership of
out_list
.
struct GstRTPBaseDepayloadClass { GstElementClass parent_class; /* virtuals, inform the subclass of the caps. */ gboolean (*set_caps) (GstRTPBaseDepayload *filter, GstCaps *caps); /* pure virtual function, child must implement either this method * or the process_rtp_packet virtual method to process incoming * rtp packets. If the child returns a buffer without a valid timestamp, * the timestamp of @in will be applied to the result buffer and the * buffer will be pushed. If this function returns %NULL, nothing is * pushed. */ GstBuffer * (*process) (GstRTPBaseDepayload *base, GstBuffer *in); /* non-pure function used to to signal the depayloader about packet loss. the * timestamp and duration are the estimated values of the lost packet. * The default implementation of this message pushes a segment update. */ gboolean (*packet_lost) (GstRTPBaseDepayload *filter, GstEvent *event); /* the default implementation does the default actions for events but * implementation can override. */ gboolean (*handle_event) (GstRTPBaseDepayload * filter, GstEvent * event); /* Optional. Same as the process virtual function, but slightly more * efficient, since it is passed the rtp buffer structure that has already * been mapped (with GST_MAP_READ) by the base class and thus does not have * to be mapped again by the subclass. Can be used by the subclass to process * incoming rtp packets. If the subclass returns a buffer without a valid * timestamp, the timestamp of the input buffer will be applied to the result * buffer and the output buffer will be pushed out. If this function returns * %NULL, nothing is pushed out. * * Since: 1.6 */ GstBuffer * (*process_rtp_packet) (GstRTPBaseDepayload *base, GstRTPBuffer * rtp_buffer); };
Base class for audio RTP payloader.
“stats”
property“stats” GstStructure *
Various depayloader statistics retrieved atomically (and are therefore synchroized with each other). This property return a GstStructure named application/x-rtp-depayload-stats containing the following fields relating to the last processed buffer and current state of the stream being depayloaded:
clock-rate |
G_TYPE_UINT, clock-rate of the stream |
npt-start |
G_TYPE_UINT64, time of playback start |
npt-stop |
G_TYPE_UINT64, time of playback stop |
play-speed |
G_TYPE_DOUBLE, the playback speed |
play-scale |
G_TYPE_DOUBLE, the playback scale |
running-time-dts |
G_TYPE_UINT64, the last running-time of the last DTS |
running-time-pts |
G_TYPE_UINT64, the last running-time of the last PTS |
seqnum |
G_TYPE_UINT, the last seen seqnum |
timestamp |
G_TYPE_UINT, the last seen RTP timestamp |
Flags: Read