Hi, here's an updated version (prio lowered to 'low', plus other changes):
Gapless playback of streams with mixed payload types (prio:low;v2) ------------------------------------------------------------------ To further improve the 'Codec independent playout buffer element', it should be possible to depayload and decode streams with packets with mixed payload types (TS=x/codecA, TS=x+ptime/codecB), without audible pauses in the stream. The current rtpdemux element (part of gst-plugins-farsight) is able to demux the different payload types, and push the packets to different src pads. A new work item is to develop an element that is able to gather buffers from multiple decoder paths, and push forward a continuous media stream to the sink. Although packets might traverse different depayloader+decoder chains, the timestamp ranges will not overlap. Thus the "enhanced-adder" element must assemble a continuous stream from discontinuous segments created by the decoders. Rationale: - Mixing payload types in a single logical stream is valid use of RTP, and used by some clients. Alternatives: - Do not provide gapless support for streams with payload-type changes. - Implement a mechanism to reconnect the rtpdemux->depayloader->decoder->sink chain without stopping the pipeline (based on events from rtpdemux). This, together with the codec-independent playout buffer, would allow gapless playback of multi-pt streams without need for "enhanced-adder" type of element. On Tue, 13 Dec 2005, Kai Vehmanen wrote:
And more... Gapless playback of streams with mixed payload types (prio:medium;v1) --------------------------------------------------------------------- To further improve the 'Codec independent playout buffer element', it should be possible to depayload and decode streams with packets with mixed payload types (TS=x/codecA, TS=x+ptime/codecB), without audible pauses in the stream. The current rtpdemux element (part of gst-plugins-farsight) is able to demux the different payload types, and push the packets to different src pads. A new work item is to develop an element that is able to gather buffers from multiple decoder paths, and push forward a continuous media stream to the sink. Although packets might traverse different depayloader+decoder chains, the timestamp ranges will not overlap. Thus the "rtpmux" element must assemble a continuous stream from discontinuous segments created by the decoders. Rationale: - Mixing payload types in a single logical stream is valid use of RTP, and used by some clients.
-- 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