![]() |
![]() |
![]() |
GStreamer Bad Plugins 0.10 Plugins Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Signals |
The RTPDTMFMuxer mixes/muxes RTP DTMF stream(s) into other RTP streams. It does exactly what it's parent (RTPMuxer) does, except that it allows upstream peer elements to request exclusive access to the stream, which is required by the RTP DTMF standards (see RFC 2833, section 3.2, para 1 for details). The peer upstream element requests the acquisition and release of a stream lock beginning using custom downstream gstreamer events. To request the acquisition of the lock, the peer element must send an event of type GST_EVENT_CUSTOM_DOWNSTREAM_OOB, having a structure of name "stream-lock" with only one boolean field: "lock". If this field is set to TRUE, the request is for the acquisition of the lock, otherwise it is for release of the lock.
For example, the following code in an upstream peer element requests the acquisition of the stream lock:
GstEvent *event; GstStructure *structure; GstPad *srcpad; ... /\* srcpad initialization goes here \*\/ structure = gst_structure_new ("stream-lock", "lock", G_TYPE_BOOLEAN, TRUE, NULL); event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM_OOB, structure); gst_pad_push_event (dtmfsrc->srcpad, event);
"locking"
signalvoid user_function (GstRTPDTMFMux *gstrtpdtmfmux, GstPad *arg1, gpointer user_data) : Run Last
|
the object which received the signal. |
|
|
|
user data set when the signal handler was connected. |
"unlocked"
signalvoid user_function (GstRTPDTMFMux *gstrtpdtmfmux, GstPad *arg1, gpointer user_data) : Run Last
|
the object which received the signal. |
|
|
|
user data set when the signal handler was connected. |