Commit Graph

63 Commits

Author SHA1 Message Date
Ronald S. Bultje
114732f4c7 Add is_keyframe param to ff_rdt_parse_header(). See ML discussion in
"[PATCH] RDT/Realmedia patches #2" thread.

Originally committed as revision 15833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 20:41:59 +00:00
Ronald S. Bultje
239dec21ab Rename variables in ff_rdt_parse_header() and callers to match the
comment documentation in that function. See discussion on ML in the
"[PATCH] RDT/Realmedia patches #2" thread.

Originally committed as revision 15825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 02:22:47 +00:00
Ronald S. Bultje
9e16439287 Add comment describing the RDT packet header. See discussion in "[PATCH]
RDT/Realmedia patches #2" thread on the mailinglist.

Originally committed as revision 15823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-14 18:37:58 +00:00
Ronald S. Bultje
accc248f28 Implement RDTDemuxContext, which contains RDT-specific data (similar to
RTPDemuxContext for RTP) for these streams where the transport protocol
is RDT (as served by Realmedia servers).

Originally committed as revision 15544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:19:15 +00:00
Ronald S. Bultje
9b932b8ac0 Change function prototype of RTPDynamicPayloadHandler.parse_packet() to
not use RTPDemuxContext, but rather take a pointer to the payload context
directly. This allows using payload handlers regardless over the transport
over which they were sent, and prepares for the introduction of a future
RDTDemuxContext. See discussion in "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:15:06 +00:00
Ronald S. Bultje
ed0aacc76e Rename RTP payload contexts to PayloadContext, suggested by Luca in
"RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:11:12 +00:00
Ronald S. Bultje
3ff2a06228 Use parse_packet vfunc in RTPDynamicProtocolHandler instead of hardcoding
the use of rdt_parse_packet(). See "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 12:38:41 +00:00
Ronald S. Bultje
985b05d3c9 This patch refactors RDT packet header parsing so that it can be used in
rtsp.c to detect the ID of the packet source also in case of TCP streams.
This allows proper playback of RDT streams with multiple stream types, e.g.
audio + video. Accepted by LucaB in "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 12:37:07 +00:00
Ronald S. Bultje
ab63fb0360 Remove access to rdt_data struct in functions called outside of the
DynamicProtocol* context. Doing so could lead to problems if we're accessing
Real servers serving non-RDT data (or the other way around). Temporarily,
this patch adds a _subscribe2() function which will soon be removed in one
of the subsequent commits. OK'ed by Luca in "Realmedia patch" thread on ML.

Originally committed as revision 15483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:23:33 +00:00
Ronald S. Bultje
4fce284c08 Implement RDT-specific data parsing routines. After these changes, simple
playback of RTSP/RDT streams should work. See discussion in "Realmedia patch"
thread on ML.

Originally committed as revision 15237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:25:47 +00:00
Ronald S. Bultje
1256d16b6c Implement a RDT-specific SET_PARAMETER command that subscribes to the
first stream in a RTSP/RDT session. See discussion in "Realmedia patch"
thread on ML.

Originally committed as revision 15235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:22:18 +00:00
Ronald S. Bultje
ff13ba92fd 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.

Originally committed as revision 15234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:21:24 +00:00
Ronald S. Bultje
e9dea59f16 Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
of the "RealChallenge2" response, which is some sort of authentication. See
discussion in "Realmedia patch" thread on ffmpeg-devel.

Originally committed as revision 15170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 04:44:58 +00:00