Add dynamic payload handlers to rdt.c. These follow the same API as the ones
commit99f393f2893767d36353160444032cef6d7237b6
authorrbultje <rbultje@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 7 Sep 2008 01:21:24 +0000 (7 01:21 +0000)
committerrbultje <rbultje@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 7 Sep 2008 01:21:24 +0000 (7 01:21 +0000)
treeeadf52d6ff3dd376a730075353bf73281e87fd78
parent95576dac972235dc86350a1904c1e1384b22ff2d
Add dynamic payload handlers to rdt.c. These follow the same API as the ones
in rtpdec.c, so that they can be shared and used in the same way in rtsp.c.
The handlers, since they are specific for RDT, are registered in rdt.c and
a new registration function is thus called from allformats.c.

The dynamic payload handler also implements RDT-specific SDP-line parsing for
OpaqueData and StartTime, which are specific for RDT and needed for proper
playback. OpaqueData contains one or a list ("MLTI") of "MDPR" chunks that
can be parsed by the rmdec.c function ff_rm_read_mdpr_codecdata(). To use
this function, we create a new rdt_demuxer, which has the same private data
as the rm_demuxer. The resulting AVFormatContext created with _open_stream()
can thus be used to call functions in the RM demuxer.

See discussion in "Realmedia patch" thread on ML.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15234 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
libavformat/allformats.c
libavformat/rdt.c
libavformat/rdt.h
libavformat/rm.h
libavformat/rmdec.c