Commit Graph

165 Commits

Author SHA1 Message Date
Michael Niedermayer
0b4ff0c9ef Replace buffer by AVPacket and avoid a memcpy() for video when the number
of allocated slices matches the actual.
Audio still does a copy (marked with FIXME in the code so this is not missed).

Originally committed as revision 16402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-31 01:53:12 +00:00
Michael Niedermayer
fce48f5b0b Merge videobuf and audiobuf.
Originally committed as revision 16401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-31 00:24:54 +00:00
Michael Niedermayer
f48d545736 Simplify the top of rm_assemble_video_frame().
Originally committed as revision 16400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-30 21:23:02 +00:00
Michael Niedermayer
e45673cb3a Add a few error checks to rm_assemble_video_frame()
Originally committed as revision 16399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-30 20:51:18 +00:00
Michael Niedermayer
51d6852f43 All non zero returns of rm_assemble_video_frame() are errors, check things
accordingly.

Originally committed as revision 16398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-30 19:49:27 +00:00
Reimar Döffinger
7d204e67e8 av_free() -> av_freep(), patch by Reimar Doffinger, see discussion in
"rmdec.c: double free" thread on mailinglist.

Originally committed as revision 16379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 23:25:17 +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
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
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
ba61472911 Implement RMStream stream-specific private data object in the RM demuxer.
This allows multiple video or audio streams per .rm file. See mailinglist
thread "[PATCH] rmdec.c: implement RMVideo/AudioStream".

Originally committed as revision 16365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 00:18:38 +00:00
Ronald S. Bultje
b9b2b8c93b Use get_buffer() and url_fskip() for some loops of get_byte()s. See discussion in ML thread
"[PATCH] rmdec.c: use get_buffer and skip_bytes instead of loops of get_byte".

Originally committed as revision 16139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 22:26:28 +00:00
Ronald S. Bultje
127ed7b07b Reindent something that looks weird.
Originally committed as revision 16138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 22:24:58 +00:00
Ronald S. Bultje
1edddc99dc Split RMContext into RMDemux/MuxContext and make them private in rmdec/enc.c.
Reason for this is that there are no shared entries in the demuxer/muxer
context, making it a mystery as to why it was shared between the two. See
"[PATCH] clean rmdemux/muxcontext" patch on mailinglist.

Originally committed as revision 16111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 21:40:20 +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
76f940b21e Fix indenting.
Originally committed as revision 16056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-11 18:48:08 +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
Michael Niedermayer
f23938f5b7 Check sub_packet_size against 0 to avoid div by zero later.
Fixes issue473

Originally committed as revision 15739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-29 00:16:50 +00:00
Benjamin Larsson
2426bb960a add ok parts to the rm demuxer for SIPRO support
Originally committed as revision 15426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-26 12:12:25 +00:00
Vitor Sessak
b93dd8383a Add support for RVTR fourCC
Originally committed as revision 15386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-23 06:24:00 +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
1599503043 Move av_set_pts_info() inside the mdpr_read_codecdata() call, so that it is
shared between the RM demuxer and the RTSP/RDT parser; both use the same
timebase. See discussion in "[PATCH] rmdec.c: move av_set_pts_info()" on ML.

Originally committed as revision 15164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 00:07:34 +00:00
Ronald S. Bultje
79d5045d33 Use chunk-size in function calling mdpr_read_codecdata() rather than in the
function itself. This way, old-style (.ra4) RTSP/RDT OpaqueData chunks can
be parsed using this function as well (they don't have the size bits). See
discussion on ML in "[PATCH] rmdec.c - small read_mdpr_codecdata() API
modification".

Originally committed as revision 15163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 00:05:55 +00:00
Diego Biurrun
07cb073bf9 Remove unused variable, fixes the warning:
libavformat/rmdec.c:280: warning: unused variable 'i'

Originally committed as revision 13909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-23 08:52:44 +00:00
Baptiste Coudurier
ccafd47251 factorize read_header failure freeing code
Originally committed as revision 13837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-20 17:16:56 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Panagiotis Issaris
437fd77b05 Check whether the memory allocation for extradata succeeded. Fixes issue 472.
Originally committed as revision 13603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-01 16:25:05 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Michael Niedermayer
fd31550d23 Fix seeking in rm.
Originally committed as revision 12779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-09 23:19:05 +00:00
Roberto Togni
badbe09af3 Fix forgotten braces from r11039
Originally committed as revision 11552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-17 20:48:07 +00:00
Diego Biurrun
9b41eb37a1 Remove some spaces to keep certain people's eyes from hurting.
Originally committed as revision 11544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-16 22:47:51 +00:00
Diego Biurrun
c807e68f46 cosmetics: Add another pair of parentheses to aid readability.
Originally committed as revision 11437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 22:50:09 +00:00
Ronald S. Bultje
0fd36362b8 Make three rm demuxer functions non static.
Patch by Ronald S. Bultje rsbultje gmail com
Original thread: [FFmpeg-devel] [PATCH] Realmedia / RTSP (RDT)
Date: 12/28/2007 10:19 PM

Originally committed as revision 11392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 13:00:47 +00:00
Diego Biurrun
8f8fae80b2 cosmetics: Reindent.
Originally committed as revision 11375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-02 18:53:38 +00:00
Ronald S. Bultje
b83a84242c Merge double-nested if into && condition.
patch by Ronald S. Bultje, rsbultje gmail com

Originally committed as revision 11374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-02 18:53:12 +00:00
Roberto Togni
ab19baef36 Typo
Originally committed as revision 11165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-04 23:43:01 +00:00
Roberto Togni
e3052ce7b1 Revert r10892, it's wrong and no longer needed to prevent crashes
Originally committed as revision 11127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-02 17:41:12 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Roberto Togni
2b013568f9 Replace realloc with free+malloc, the previous content of the buffer is
not needed

Originally committed as revision 11065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-19 20:28:11 +00:00
Roberto Togni
e35033e6e3 Cosmetics
Originally committed as revision 11056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-19 00:02:58 +00:00
Roberto Togni
69434d2f73 No need to update pos, it's not used after that line
Originally committed as revision 11055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-19 00:02:03 +00:00
Roberto Togni
6887cb8bc5 Cleanup: remove ssize
Originally committed as revision 11054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-18 22:58:40 +00:00
Roberto Togni
52537534d2 Check for memory allocation failure of temp buffer
Originally committed as revision 11053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-18 22:49:41 +00:00
Roberto Togni
e11d0145e2 Optimize memory management to create an av_packet from multiple slices:
- remove memmove to pack the data, instead copy only the used areas
from the temp buffer in their final position
- use the minimum possible size for the av_packet (relevant when some
slices are missing)

Originally committed as revision 11052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-18 22:40:02 +00:00
Roberto Togni
27a2f87da8 1000l: Fix check for max slice number
Originally committed as revision 11040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 21:13:36 +00:00
Roberto Togni
e29378ff88 Move dnet-ac3 byte-swapping code close to audio packet read code
Fixed version of patch in
[FFmpeg-devel] [PATCH 5/6] rmdec.c: move around rm_ac3_swap_bytes()

Originally committed as revision 11039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 21:04:06 +00:00
Ronald S. Bultje
5c470b910e Split ac3 byte swapping into a separate function.
Patch by Ronald S. Bultje: rsbultje gmail com
Original thread: Re: [FFmpeg-devel] [PATCH 4/6] rmdec.c: rm_ac3_swap_bytes()
Date: 11/05/2007 09:27 PM

Originally committed as revision 10964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 15:52:53 +00:00
Ronald S. Bultje
d4d1b5fbde Isolate caching of audio frames in its own function.
Patch by Ronald S. Bultje: rsbultje gmail com
Original thread: Re: [FFmpeg-devel] [PATCH 3/6] rmdec.c: ff_rm_retrieve_cache()
Date: 11/05/2007 09:25 PM

Originally committed as revision 10963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 15:14:37 +00:00
Ronald S. Bultje
66911b1552 Change a stream indexer.
Patch by Ronald S. Bultje: rsbultje gmail com

Originally committed as revision 10962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 15:09:37 +00:00
Ronald S. Bultje
afd302fa62 Split out the packet parsing from the main function body in rmdec.c
into its own function
Patch by Ronald S. Bultje: rsbultje gmail com
Original thread: Re: [FFmpeg-devel] [PATCH 2/6] rmdec.c: ff_rm_parse_frame()
Date: 11/05/2007 09:23 PM

Originally committed as revision 10961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 15:07:34 +00:00
Ronald S. Bultje
7e4b161188 Change parse indexer.
Patch by Ronald S. Bultje: rsbultje gmail com

Originally committed as revision 10960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 15:05:40 +00:00
Benoit Fouet
36c9e40ab4 Change ff_rm_read_mdpr_codecdata to get back to old behavior.
Originally committed as revision 10954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-08 09:14:09 +00:00
Ronald S. Bultje
ff1463dc37 Split out the MDPR chunk reading into its own function.
Patch by Ronald S. Bultje: rsbultje gmail com
Original thread:[FFmpeg-devel] [PATCH 1/6] rmdec.c: ff_rm_read_mdpr_codecdata()
Date: 11/05/2007 09:21 PM

Originally committed as revision 10934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-06 16:02:33 +00:00
Kostya Shishkov
d447fc3132 Seek regression for RM demuxer fix
Originally committed as revision 10907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-03 06:43:29 +00:00
Kostya Shishkov
83c95cd462 Revert get_num() to old behaviour in order to handle
incorrect RMs generated by lavf muxer.

Originally committed as revision 10892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 09:02:29 +00:00
Kostya Shishkov
383b123ed3 Demux full frames instead of sliced for RealVideo.
Some changes by Roberto Togni and blessed by him on IRC.

Originally committed as revision 10823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-21 17:17:28 +00:00
Justin Ruggles
bf41512100 dnet audio needs avparser to work with the lavc ac3 decoder.
Fixes issue 121
Patch by Justin Ruggles

Originally committed as revision 10634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 19:48:02 +00:00
Kostya Shishkov
1ddcd07fda Set correct length for last slice in frame subpacket
Originally committed as revision 10420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-06 03:36:38 +00:00
Ronald S. Bultje
36cf20f5a6 Merge get_str() and get_str8() functions.
patch by Ronald S. Bultje, rsbultje gmail com

Originally committed as revision 9818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 18:05:11 +00:00
Ronald S. Bultje
28263f5f15 Fix get_str/get_str8() to also work if the target string is not long enough to
fit all data from the container string, and allow NULL as a string also to
simply skip the string altogether.
patch by Ronald S. Bultje, rsbultje gmail com

Originally committed as revision 9817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 18:02:19 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Måns Rullgård
34174abf64 avoid uninitialised variable warning and clarify code
Originally committed as revision 9543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 13:42:52 +00:00
Måns Rullgård
75e61b0e88 use new string functions
based on patch by Reimar Döffinger

Originally committed as revision 9401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-23 23:10:32 +00:00
Aurelien Jacobs
d6649b2a58 use FFSWAP()
Originally committed as revision 9158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 09:50:35 +00:00
Aurelien Jacobs
43e869147a cosmetics: indentation
Originally committed as revision 9157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 09:45:09 +00:00
Aurelien Jacobs
7b2a2ce556 split rm muxer and demuxer in their own files
Originally committed as revision 9156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 09:44:16 +00:00