Commit Graph

65 Commits

Author SHA1 Message Date
Anton Khirnov 384c9c2fa7 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
2011-03-05 02:29:31 +01:00
Anton Khirnov 74b3f67c9c lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e356fc57a2)
2011-03-03 14:15:08 +01:00
Anton Khirnov f59d8ff8cd avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b4aa5dac8)
2011-03-03 14:15:03 +01:00
Anton Khirnov e63a362857 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
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b7effd4e83)
2011-02-22 02:44:37 +01:00
Anton Khirnov 90ed2776ea avio: rename av_alloc_put_byte -> avio_alloc_context for consistency
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 8d9ac969cb)
2011-02-22 02:44:36 +01:00
Anton Khirnov ae99313aa5 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 <rsbultje@gmail.com>
(cherry picked from commit e731b8d872)
2011-02-20 19:05:47 +01:00
Anton Khirnov 471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01:00
Martin Storsjö ae9c5ea2ad 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.

Also, we don't need to clear the priv_data in rdt cleanup any longer,
since it isn't set to duplicate pointers.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b2dd842d21)
2011-02-13 00:54:05 +01:00
Mans Rullgard 98ec828775 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 44adbebe17)
2011-02-11 02:54:10 +01:00
Diego Elio Pettenò 66355be3c3 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.
(cherry picked from commit c6610a216e)
2011-01-28 03:15:34 +01:00
Martin Storsjö ad4ad27fb6 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
2010-10-01 17:43:27 +00:00
Aurelien Jacobs dfdb353cd5 get rid of MAX_STREAMS limit in RDT
Originally committed as revision 24751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 22:58:54 +00:00
Diego Biurrun 0baf34d844 Remove angular brackets from Doxygen comments; Doxygen confuses them for HTML.
Originally committed as revision 23991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 12:48:32 +00:00
Diego Biurrun ba87f0801d 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
2010-04-20 14:45:34 +00:00
Ronald S. Bultje 0b9535b9a2 Remove dead initialization.
Originally committed as revision 22780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:55:01 +00:00
Stefano Sabatini 72415b2adb 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
2010-03-30 23:30:55 +00:00
Martin Storsjö ddbeb95447 Add a lowercase parameter to ff_data_to_hex
Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:13:20 +00:00
Ronald S. Bultje 84f0aba18d 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
2010-01-07 23:05:19 +00:00
Ronald S. Bultje 34bddc39b4 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
updated within ff_rm_parse_packet() anymore, and thus do not need to be
a pointer.

Originally committed as revision 19539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 15:04:19 +00:00
Colin McQuillan 202a6697ba 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
2009-07-27 14:29:06 +00:00
Stefano Sabatini 9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Ronald S. Bultje c882927957 Reindent after r18010.
Originally committed as revision 18011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:01:02 +00:00
Ronald S. Bultje c5efef7be9 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
2009-03-16 12:57:49 +00:00
Ronald S. Bultje a68d44ed6f 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
2009-02-26 14:23:05 +00:00
Luca Abeni 302879cb36 Split rtp.h in rtp.h, rtpdec.h, and rtpenc.h
Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-06 10:35:52 +00:00
Ronald S. Bultje 1a45a9f4c0 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
to parse SDP values (which occur even before the payload ID is given), store
them in the RTSPState and then retrieve them while parsing payload data. See
"[PATCH] RTSP-MS 13/15: add RTSP demuxer AVFormatContext to parse_packet()
function pointer (was: transport context)" mailinglist thread.

Originally committed as revision 17015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-06 01:37:19 +00:00
Diego Biurrun bad5537e2c 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
2009-02-01 02:00:19 +00:00
Luca Abeni 20631a9c15 Merge rtp_internal.h in rtp.h, and remove rtp_internal.h
Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 12:23:16 +00:00
Diego Biurrun c2fef0c163 Use "" instead of <> when #including non-system headers.
Originally committed as revision 16689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 23:41:46 +00:00
Ronald S. Bultje 7c68a17754 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
RM file header would. See "[PATCH] multi-stream MDPR parsing" thread on
mailinglist.

Originally committed as revision 16468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:45:13 +00:00
Ronald S. Bultje 530bca9439 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
on. (Of course, it is also possible to select based on anything else, that
is entirely up to the client.) See "[PATCH] rdt.c: ASM rulebook bitrate
reading" thread on mailinglist.

Originally committed as revision 16467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:41:40 +00:00
Ronald S. Bultje 3ca45429fe 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
rulebook parsing and AVStream creation" thread on mailinglist.

Originally committed as revision 16466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:38:44 +00:00
Ronald S. Bultje c49a3ec30a 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
2008-12-28 23:23:59 +00:00
Ronald S. Bultje ade8fb4d75 Reindent after r16368.
Originally committed as revision 16369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 05:59:11 +00:00
Ronald S. Bultje a9f84821c5 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
2008-12-28 05:58:23 +00:00
Ronald S. Bultje 5d88c2647d 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
2008-12-28 05:55:09 +00:00
Ronald S. Bultje 886e89d0d0 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.

Originally committed as revision 16366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 00:21:11 +00:00
Ronald S. Bultje a15ebf34c7 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"
on ML.

Originally committed as revision 16110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 21:37:27 +00:00
Ronald S. Bultje 7b2a070800 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
a set of streams of identical content, and can thus represent multiple
AVStreams. Therefore, it should not take an AVStream as argument. This
patch modifies it to accept a AVFormatContext (of the RTSP/SDP demuxer)
instead. See discussion in "[PATCH/RFC] change function prototype of
parse_sdp_a_line" thread on ML.

Originally committed as revision 16024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 18:41:17 +00:00
Ronald S. Bultje 7960e18fdf 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
2008-12-01 00:08:42 +00:00
Ronald S. Bultje 4f60285658 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
2008-11-30 22:24:35 +00:00
Ronald S. Bultje e0d1eabf14 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
2008-11-30 20:39:16 +00:00
Ronald S. Bultje 63f412f902 Document 'ic' variable. See "[PATCH] RDT/Realmedia patches #2" thread in ML.
Originally committed as revision 15916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-23 16:54:31 +00:00
Ronald S. Bultje 9168f7e671 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
2008-11-17 18:10:02 +00:00
Ronald S. Bultje 90e0450fa8 Reindent after r15853.
Originally committed as revision 15854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-17 14:32:56 +00:00
Ronald S. Bultje 43af8b2b42 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
2008-11-17 14:32:01 +00:00
Ronald S. Bultje 6bafd6f53e 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
2008-11-17 14:30:31 +00:00
Ronald S. Bultje e269ab791d 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
2008-11-17 14:28:12 +00:00
Ronald S. Bultje a4b8cb3c55 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
around for longer than within the function context, we allocate it with
av_alloc_put_byte() and free it with av_free() instead. Discussed in ML
thread "[PATCH] fix small memleak in rdt.c".

Originally committed as revision 15850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-17 14:23:20 +00:00
Ronald S. Bultje fcc995a533 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
2008-11-17 14:20:00 +00:00