Hello,
here's the next one. I've used the prio:medium tag to indicate that this
item should be done after all prio:urgent items are done. This is not to
say this is important, just a way to prioritize what should be done
first.
Pull-based RTP stream consumption (prio:medium)
-----------------------------------------------
Currently (in gst-0.10.0), packets are stored in a playout buffer
(gstbasertpdepayload.c in 0.10.0), and periodically pushed downstream.
In general, we want to minimize the time between receiving
packets and playing them out on a sink device/element. Of that
time, we want packets to spend as long as possible in the playout/jitter
buffer, allowing us to wait for late packets until the very
last moment. Once a decision is made to play a segment of
media, it should be done with minimal delay (to minimize overall
end to end delay).
To realize the above goal, packets should be fetched from
the playout buffer when the sink really needs more data (otherwise
we risk of an underrun at the sink). In practise this means
that data should be pulled by the sink, not pushed by the
upstream, as upstream has no information about the buffering
status of the sink.
Pull-based approach is important for sinks that require
a continuous stream of data, like audio playback. Sinks,
like video output, which consume data in discrete steps,
work better with the current push-based approach.
Rationale:
- To enable minimizing the delay of audio playback
when receiving real-time audio over RTP.
Open issues:
- Should we have a separate playout buffer implementations
for audio (pull) and video (push) processing?
- Feasibility. Implementating this item is not trivial
as all elements between the sink and the playout buffer
(possibly located in "gstrtprecv"), have to be modified
to support pull-based used (see for example:
gst-plugins-good-cvs/ext/ladspa/gstsignalprocessor.c ).
--
under work: Sofia-SIP at http://sofia-sip.sf.net
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Farsight-devel mailing list
Farsight-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/farsight-devel