Statistics
| Branch: | Revision:

ffmpeg / libavformat / rdt.c @ 4dcde00c

History | View | Annotate | Download (18.1 KB)

# Date Author Comment
2912e87a 03/19/2011 01:33 PM Mans Rullgard

Replace FFmpeg with Libav in licence headers

Signed-off-by: Mans Rullgard <>

45a8a02a 03/17/2011 02:24 AM Anton Khirnov

lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense

Signed-off-by: Ronald S. Bultje <>

a2704c97 03/04/2011 04:26 PM Anton Khirnov

avio: add avio_tell macro as a replacement for url_ftell

Signed-off-by: Ronald S. Bultje <>

e356fc57 03/01/2011 05:22 PM Anton Khirnov

lavf: replace all uses of url_fskip with avio_seek

Signed-off-by: Ronald S. Bultje <>

6b4aa5da 03/01/2011 05:12 PM Anton Khirnov

avio: avio_ prefix for url_fseek

Signed-off-by: Ronald S. Bultje <>

b7effd4e 02/21/2011 04:23 PM Anton Khirnov

avio: avio_ prefixes for get_* functions

In the name of consistency:
get_byte -> avio_r8
get_<type> -> avio_r<type>
get_buffer -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return...

8d9ac969 02/21/2011 03:23 PM Anton Khirnov

avio: rename av_alloc_put_byte -> avio_alloc_context for consistency

Signed-off-by: Ronald S. Bultje <>

e731b8d8 02/20/2011 01:37 PM Anton Khirnov

avio: move init_put_byte() to a new private header and rename it

init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <>

ae628ec1 02/20/2011 01:37 PM Anton Khirnov

avio: rename ByteIOContext to AVIOContext.

Signed-off-by: Ronald S. Bultje <>

b2dd842d 02/11/2011 09:58 PM Martin Storsjö

rtsp/rdt: Assign the RTSPStream index to AVStream->id

This is used for mapping AVStreams back to their corresponding
RTSPStream. Since d9c0510, the RTSPStream pointer isn't stored in
AVStream->priv_data any longer, breaking this mapping from AVStreams
to RTSPStreams....

44adbebe 02/10/2011 09:45 PM Mans Rullgard

Remove final semicolon from some macros

This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <>

c6610a21 01/26/2011 10:10 PM Diego Elio Pettenò

Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.

This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.

ad4ad27f 10/01/2010 05:43 PM Martin Storsjö

rtsp/rtpdec: Allow rtp_parse_packet to take ownership of the packet buffer

Do the same change for ff_rdt_parse_packet, too, to keep the interfaces
similar.

Originally committed as revision 25289 to svn://svn.ffmpeg.org/ffmpeg/trunk

dfdb353c 08/09/2010 10:58 PM Aurelien Jacobs

get rid of MAX_STREAMS limit in RDT

Originally committed as revision 24751 to svn://svn.ffmpeg.org/ffmpeg/trunk

0baf34d8 07/02/2010 12:48 PM Diego Biurrun

Remove angular brackets from Doxygen comments; Doxygen confuses them for HTML.

Originally committed as revision 23991 to svn://svn.ffmpeg.org/ffmpeg/trunk

ba87f080 04/20/2010 02:45 PM Diego Biurrun

Remove explicit filename from Doxygen @file commands.

Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk

0b9535b9 04/02/2010 02:55 PM Ronald S. Bultje

Remove dead initialization.

Originally committed as revision 22780 to svn://svn.ffmpeg.org/ffmpeg/trunk

72415b2a 03/30/2010 11:30 PM Stefano Sabatini

Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk

ddbeb954 03/25/2010 07:13 AM Martin Storsjö

Add a lowercase parameter to ff_data_to_hex

Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk

84f0aba1 01/07/2010 11:05 PM Ronald S. Bultje

handler can be NULL if we did not support this dynamic format (codec).
Fixes issue 1658 (the crasher), although the format itself is obviously
still unsupported.

Originally committed as revision 21078 to svn://svn.ffmpeg.org/ffmpeg/trunk

34bddc39 07/30/2009 03:04 PM Ronald S. Bultje

Don't use a pointer-to-flags/timestamp in ff_rm_parse_packet(); the function
used to return packet data, which might update the flags/timestamp to be
used for the next packet data returned by the demuxer. However, that was
separated out into a new function, and the flags/timestamp are thus never...

202a6697 07/27/2009 02:29 PM Colin McQuillan

Use named initializers and use new/free_context() instead of extradata()
for context allocators. Patch by Colin McQuillan m niloc googlemail com.

Originally committed as revision 19518 to svn://svn.ffmpeg.org/ffmpeg/trunk

9106a698 04/13/2009 04:20 PM Stefano Sabatini

Rename bitstream.h to get_bits.h.

Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk

c8829279 03/16/2009 01:01 PM Ronald S. Bultje

Reindent after r18010.

Originally committed as revision 18011 to svn://svn.ffmpeg.org/ffmpeg/trunk

c5efef7b 03/16/2009 12:57 PM Ronald S. Bultje

Remove packet returning in ff_rm_parse_packet() if we're using the packet
cache, since this can already be accessed through ff_rm_retrieve_cache().
See "[PATCH] rmdec.c: remove cache access duplication" thread.

Originally committed as revision 18009 to svn://svn.ffmpeg.org/ffmpeg/trunk

a68d44ed 02/26/2009 02:23 PM Ronald S. Bultje

Don't (ab)use PKT_FLAG_* in RTP code, since the two have virtually nothing
in common except for this one value. Change was requested by Luca in the
"[FFmpeg-devel] RTP mark bit not passed to parse_packet" thread.

Originally committed as revision 17615 to svn://svn.ffmpeg.org/ffmpeg/trunk

302879cb 02/06/2009 10:35 AM Luca Abeni

Split rtp.h in rtp.h, rtpdec.h, and rtpenc.h

Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk

1a45a9f4 02/06/2009 01:37 AM Ronald S. Bultje

Add "AVFormatContext *ctx" (that being the RTSP demuxer's) as first argument
to the parse_packet() function pointer in RTPDynamicProtocolHandlers. This
allows these functions to peek back and retrieve values from the demuxer's
context (or RTSPState). The ASF/RTP payload parser will use this to be able...

bad5537e 02/01/2009 02:00 AM Diego Biurrun

Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk

20631a9c 01/27/2009 12:23 PM Luca Abeni

Merge rtp_internal.h in rtp.h, and remove rtp_internal.h

Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk

c2fef0c1 01/19/2009 11:41 PM Diego Biurrun

Use "" instead of <> when #including non-system headers.

Originally committed as revision 16689 to svn://svn.ffmpeg.org/ffmpeg/trunk

7c68a177 01/07/2009 02:45 PM Ronald S. Bultje

Parse the OpaqueData field for every AVStream represented by this "set of
streams" (a single RTSPStream / RDTDemuxContext can represent several
AVStreams, that's just how Real/RDT was designed...). This will fill in
most of the AVStream/AVCodecContext header fields, similar to reading a...

530bca94 01/07/2009 02:41 PM Ronald S. Bultje

Parse the bitrate field in the ASMRuleBook ("AverageBandwidth") to fill in
the AVStream->AVCodecContext->bit_rate field, which is not in the MDPR block
(the "OpaqueData" SDP field). This allows clients to choose streams based
on their bitrate, which is what most network-players base stream selection...

3ca45429 01/07/2009 02:38 PM Ronald S. Bultje

Parse the ASMRuleBook SDP line to dynamically create one new AVStream for
each "rule" described in the ASMRuleBook. Each rule represents a stream
of identical content compared to other streams in the same rulebook, but
with a possibly different codec/bitrate/etc. See "[PATCH] rdt.c: ASM...

c49a3ec3 12/28/2008 11:23 PM Ronald S. Bultje

Fix double free which happens for playback of .rm files after r16365. See
"rmdec.c: double free" discussion on mailinglist, patch with suggestions
from Reimar Doffinger.

Originally committed as revision 16378 to svn://svn.ffmpeg.org/ffmpeg/trunk

ade8fb4d 12/28/2008 05:59 AM Ronald S. Bultje

Reindent after r16368.

Originally committed as revision 16369 to svn://svn.ffmpeg.org/ffmpeg/trunk

a9f84821 12/28/2008 05:58 AM Ronald S. Bultje

Add audio_pkt_cnt return value to ff_rm_retrieve_cache(). See discussion in
"[PATCH] oops I broke rdt.c" mailinglist thread.

Originally committed as revision 16368 to svn://svn.ffmpeg.org/ffmpeg/trunk

5d88c264 12/28/2008 05:55 AM Ronald S. Bultje

Change audio_pkt_cnt from an array into a single field, since only a single
member of the array is ever used (compare to RMDemuxContext->audio_pkt_cnt).
See "[PATCH] oops I broke rdt.c" mailinglist thread.

Originally committed as revision 16367 to svn://svn.ffmpeg.org/ffmpeg/trunk

886e89d0 12/28/2008 12:21 AM Ronald S. Bultje

Add RMStream object as function argument to public functions so that non-.rm
AVStreams can be used to call these public rmdec.c functions as well, as is
the case for RDT/RTSP streams. See mailinglist discussion in "[PATCH] rdt.c:
don't reuse the same AVStream in both RTSP and RM demuxer" thread....

a15ebf34 12/13/2008 09:37 PM Ronald S. Bultje

Don't access RMContext directly in rdt.c. Rather, use the return value of
ff_rm_parse_packet() to indicate whether more audio packets are available
in the demuxer from the last RM frame, and save that in the RDT parsing
context. See patch/discussion in "[PATCH] rdt.c: don't access RMContext"...

7b2a0708 12/06/2008 06:41 PM Ronald S. Bultje

Change function prototype of the sdp_parse_a_line in DynamicProtocolHandler.
This function is called in rtsp.c for each a= line in the SDP of the Describe
response after m= RTSP stream descriptors. The function prototype used to
take an AVStream argument. For RDT, however, every RTSPStream represents...

7960e18f 12/01/2008 12:08 AM Ronald S. Bultje

Implement rule-number parsing, the initial step in stream (and bitrate)
selection. See discussion in ML thread "[PATCH] RDT/Realmedia patches #2".

Originally committed as revision 15966 to svn://svn.ffmpeg.org/ffmpeg/trunk

4f602856 11/30/2008 10:24 PM Ronald S. Bultje

Change RDTDemuxContext->st into an array of streams, which will make future
patches adding stream-selection easier in code. See discussion in ML thread
"[PATCH] RDT/Realmedia patches #2".

Originally committed as revision 15964 to svn://svn.ffmpeg.org/ffmpeg/trunk

e0d1eabf 11/30/2008 08:39 PM Ronald S. Bultje

Change function prototype from taking an AVStream to taking an index to the
stream itself, plus a name change to signify that there may be multiple
AVStreams per RDT set. See discussion in "[PATCH] RDT/Realmedia patches #2"
thread on ML.

Originally committed as revision 15962 to svn://svn.ffmpeg.org/ffmpeg/trunk

63f412f9 11/23/2008 04:54 PM Ronald S. Bultje

Document 'ic' variable. See "[PATCH] RDT/Realmedia patches #2" thread in ML.

Originally committed as revision 15916 to svn://svn.ffmpeg.org/ffmpeg/trunk

9168f7e6 11/17/2008 06:10 PM Ronald S. Bultje

Change type of prev_stream_id from uint32_t to int, since it has a max size
of 16bits. See discussion in "[PATCH] RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15864 to svn://svn.ffmpeg.org/ffmpeg/trunk

90e0450f 11/17/2008 02:32 PM Ronald S. Bultje

Reindent after r15853.

Originally committed as revision 15854 to svn://svn.ffmpeg.org/ffmpeg/trunk

43af8b2b 11/17/2008 02:32 PM Ronald S. Bultje

Read optional components of the RDT packet header, such as extended setID
and streamID and the length. of the packet in case of packet concatenation.
Discussed in ML thread "[PATCH] RDT/Realmedia patches #2".

Originally committed as revision 15853 to svn://svn.ffmpeg.org/ffmpeg/trunk

6bafd6f5 11/17/2008 02:30 PM Ronald S. Bultje

Change header reading implementation to using get_bits() instead of directly
accessing the data array. This allows to easily read optionally available
header bits without causing pains. See discussion in "[PATCH] RDT/Realmedia
patches #2" thread on ML.

Originally committed as revision 15852 to svn://svn.ffmpeg.org/ffmpeg/trunk

e269ab79 11/17/2008 02:28 PM Ronald S. Bultje

Prefix all ff_rdt_parse_header() arguments with a p, preparing for local
variables to temporary hold the values. Discussed in ML thread "[PATCH]
RDT/Realmedia patches #2".

Originally committed as revision 15851 to svn://svn.ffmpeg.org/ffmpeg/trunk

a4b8cb3c 11/17/2008 02:23 PM Ronald S. Bultje

Fix memleak caused by the fact that url_open_buf() allocates a context
when calling, but url_close_buf() doesn't free it. The better solution
is to not allocate it at all, init it with init_put_byte() and then
not have to close it at all. In the case where we do need to hold it...

fcc995a5 11/17/2008 02:20 PM Ronald S. Bultje

Add ByteIOContext argument to public ff_rm_* functions so that we can
specify the data source as function argument instead of in s->pb before
calling the function. Discussed in ML thread "[PATCH] fix small memleak
in rdt.c".

Originally committed as revision 15849 to svn://svn.ffmpeg.org/ffmpeg/trunk

e3b7216b 11/15/2008 08:45 PM Ronald S. Bultje

Change status packet skipping to be more spec-compliant. See discussion in
"[PATCH] RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15836 to svn://svn.ffmpeg.org/ffmpeg/trunk

3d883ad5 11/15/2008 08:42 PM Ronald S. Bultje

Reindent after r15833.

Originally committed as revision 15834 to svn://svn.ffmpeg.org/ffmpeg/trunk

114732f4 11/15/2008 08:41 PM Ronald S. Bultje

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

239dec21 11/15/2008 02:22 AM Ronald S. Bultje

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

9e164392 11/14/2008 06:37 PM Ronald S. Bultje

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

accc248f 10/04/2008 04:19 AM Ronald S. Bultje

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

9b932b8a 10/04/2008 04:15 AM Ronald S. Bultje

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...

ed0aacc7 10/04/2008 04:11 AM Ronald S. Bultje

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

3ff2a062 10/01/2008 12:38 PM Ronald S. Bultje

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

985b05d3 10/01/2008 12:37 PM Ronald S. Bultje

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....

ab63fb03 09/30/2008 01:23 PM Ronald S. Bultje

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...

4fce284c 09/07/2008 01:25 AM Ronald S. Bultje

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

1256d16b 09/07/2008 01:22 AM Ronald S. Bultje

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

ff13ba92 09/07/2008 01:21 AM Ronald S. Bultje

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....

e9dea59f 09/03/2008 04:44 AM Ronald S. Bultje

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