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

Reply via email to