summaryrefslogtreecommitdiff
path: root/libavformat/rmdec.c
Commit message (Collapse)AuthorAge
* Do not read the RM index when input is streamed (since it requires seekingReimar Döffinger2010-06-06
| | | | | | forward and then back again) or AVFMT_FLAG_IGNIDX is set. Originally committed as revision 23509 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move rm_codec_tags to rm.c so muxer/demuxer can share it.Francesco Lavra2010-05-28
| | | | | | Patch by Francesco Lavra <francescolavra interfree it>. Originally committed as revision 23360 to svn://svn.ffmpeg.org/ffmpeg/trunk
* We're using generic tag-to-ID functions, so specific codec_id assignmentsZhou Zongyi2010-05-25
| | | | | | are no longer necessary. Patch by Zhou Zongyi <zhouzy AT os pku edu cn>. Originally committed as revision 23312 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Mark av_metadata_set() as deprecated, and use av_metadata_set2()Stefano Sabatini2010-04-25
| | | | | | | | in its place. av_metadata_set() is going to be dropped at the next major bump. Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all remaining occurrences of AVERROR_NOMEM withStefano Sabatini2010-04-03
| | | | | | | | | AVERROR(ENOMEM). AVERROR_NOMEM is deprecated and will be dropped at the next libavutil major bump. Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Another uninitialized value.Ronald S. Bultje2010-04-02
| | | | | | See http://tranquillity.ath.cx/clang/2010-03-30-1/report-e6KUTb.html#EndPath Originally committed as revision 22783 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix uninitialized value in codepath.Ronald S. Bultje2010-04-02
| | | | | | See http://tranquillity.ath.cx/clang/2010-03-30-1/report-40QvF3.html#EndPath Originally committed as revision 22782 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove dead initialization.Ronald S. Bultje2010-04-02
| | | | Originally committed as revision 22781 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.Jean-Daniel Dupas2010-03-31
| | | | | | Patch by Jean-Daniel Dupas, devlists shadowlab org Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* export rm_reorder_sipr_data() for future use by matroska demuxerAurelien Jacobs2010-03-12
| | | | Originally committed as revision 22491 to svn://svn.ffmpeg.org/ffmpeg/trunk
* export sipr_subpk_size for future use by matroska demuxerAurelien Jacobs2010-03-12
| | | | Originally committed as revision 22490 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Print a warning when DATA chunk is encountered in the middle of chunk.Ronald S. Bultje2010-01-23
| | | | | | From multirate RM patch by Ronald S. Bultje Originally committed as revision 21392 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use the correct ByteIOContext in extradata parsing.Fixes half of issueRonald S. Bultje2010-01-08
| | | | | | 1658. Originally committed as revision 21095 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Get rid of useless casts.Michael Niedermayer2009-12-13
| | | | Originally committed as revision 20831 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Print extradata in case of failure. I had this in my local tree and itMichael Niedermayer2009-12-13
| | | | | | might be usefull for others ... Originally committed as revision 20828 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use constant CODEC_ID_NONE instead of 0 where appropriate.Carl Eugen Hoyos2009-12-13
| | | | Originally committed as revision 20824 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Factor out extradata reading code.Kostya Shishkov2009-12-13
| | | | | | Borrowed from RM demuxer in FFmbc. Originally committed as revision 20821 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RM audio stream version should be 16-bit followed by header size or reservedKostya Shishkov2009-12-13
| | | | | | | word, so treat it this way instead of extracting different parts from 32-bit value. Originally committed as revision 20820 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make RM demuxer look more like proper demuxer by introducing codec tagsKostya Shishkov2009-12-13
| | | | | | | instead of many strcmp() on always four-byte strings. Idea borrowed from RM demuxer in FFmbc by Baptiste Coudurier. Originally committed as revision 20819 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Factor out variable declarationKostya Shishkov2009-12-13
| | | | Originally committed as revision 20818 to svn://svn.ffmpeg.org/ffmpeg/trunk
* When resetting vst->pkt.data to NULL, also set vst->slices.Reimar Döffinger2009-09-13
| | | | | | | | | | This avoids a crash when the next slice is not a start slice and thus pkt->data is still NULL. This probably only happens with broken or unsupported files like http://samples.mplayerhq.hu/real/multirate/JustaSpa1937_64kb.rm that need further fixes, but keeping vst state consistent is still a good idea. Originally committed as revision 19830 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove old_flags variable, which is a duplicate of the flags variable.Ronald S. Bultje2009-07-30
| | | | Originally committed as revision 19540 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Don't use a pointer-to-flags/timestamp in ff_rm_parse_packet(); the functionRonald S. Bultje2009-07-30
| | | | | | | | | | 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
* Move declarations in sync() closer to where they are used.Michael Niedermayer2009-04-17
| | | | Originally committed as revision 18556 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a @todo with a comment from Kostya so we don't forget to optimize that atRonald S. Bultje2009-03-22
| | | | | | some point in the future. Originally committed as revision 18142 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Don't allow to sync on packets of zero-size length, since these are neverRonald S. Bultje2009-03-21
| | | | | | valid. See "[PATCH] rmdec.c: prevent zero-length packets" thread. Originally committed as revision 18118 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move "- 12" statement up a bit. See "[PATCH] rmdec.c: prevent zero-lengthRonald S. Bultje2009-03-21
| | | | | | packets" thread. Originally committed as revision 18117 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add byte reordering for the SIPRO audio codec. See "rmdec.c: add SIPR codecRonald S. Bultje2009-03-20
| | | | | | try #2" thread. Patch originally by Vladimir Voroshilov. Originally committed as revision 18062 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rmdec: fix crash at end of fileMåns Rullgård2009-03-16
| | | | Originally committed as revision 18018 to svn://svn.ffmpeg.org/ffmpeg/trunk
* More reindent, forgotten in previous commit.Ronald S. Bultje2009-03-16
| | | | Originally committed as revision 18014 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Parse index chunk so that seeking in modern .rm files becomes a lot faster.Ronald S. Bultje2009-03-16
| | | | | | | Has been tested against streamed / non-seekable input and passes make seektest. See "[PATCH] rmdec.c: parse INDX chunk" thread on mailinglist. Originally committed as revision 18013 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r18010.Ronald S. Bultje2009-03-16
| | | | Originally committed as revision 18011 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Mark the first output audio frame as keyframe (separate patch from previous,Ronald S. Bultje2009-03-16
| | | | | | | as requested by Kostya). See "[PATCH] rmdec.c: remove cache access duplication". Originally committed as revision 18010 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove packet returning in ff_rm_parse_packet() if we're using the packetRonald S. Bultje2009-03-16
| | | | | | | 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
* Reindent after r18005.Ronald S. Bultje2009-03-16
| | | | Originally committed as revision 18007 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge code for packet reading in "old" (.ra, audio-only) Realmedia files andRonald S. Bultje2009-03-16
| | | | | | | the newer (.rm, audio/video) files. See "[PATCH] rmdec.c: merge old/new packet reading code" thread on mailinglist. Originally committed as revision 18005 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix index generation in the way that it was supposed to be used. See theRonald S. Bultje2009-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | discussion in the ML thread "[PATCH] rmdec.c: merge old/new packet reading code". Over time, this code broke somewhat, e.g. seq was never actually written into (and was thus always 1, therefore the seq condition was always true), whereas it was supposed to be set to the sequence number of the video slice in case the video frame is divided over multiple RM packets (slices). The problem of this is that packets other than those containing the beginning of a video frame would be indexed as well. Secondly, flags&2 is supposed to be true for video keyframes and for these audio packets containing the start of a block. For some codecs (e.g. AAC), that is every single packet, whereas for others (e.g. cook), that is the packet containing the first of a series of scrambled packets that are to be descrambled together. Indexing any of the following would lead to incomplete and thus useless frames. Problem here is that flags would be reset to 2 to indicate that the first packet is ready to be returned, and in addition if no data was left to be returned (which is always true for the first packet), then we wouldn't actually write the index entry anyway. All in all, the idea was good and it probably worked at some point, but that is long ago. This patch should at the very least make it likely for this code to be executed again at the right times, i.e. the way it was originally intended to be used. Originally committed as revision 17993 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Correctly skip complete INDX chunks, i.e. read the 32-bit header correctlyRonald S. Bultje2009-03-10
| | | | | | | | and if the size is broken (20 bytes, header-only), calculate the expected size and skip the index entries anyway. See "[PATCH] rmdec.c: correctly skip indexes" thread. Originally committed as revision 17924 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Prevent (negative) overflow of rm->remaining_len. This evaluation really onlyRonald S. Bultje2009-03-09
| | | | | | | | | | | has two possible outcomes: either len and rm->remaining_len are the same, in which case we care about the outcome and it is zero, or rm->remaining_len is currently not in use and we don't care about the outcome. In that case, len is positive and rm->remaining_len is zero, which leads to a negative result. This is confusing and could eventually lead to a sign-flip if we skip a lot of packets (unlikely, but still). Therefore, just always set it to zero. Originally committed as revision 17919 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Revert to r17908.Ronald S. Bultje2009-03-09
| | | | Originally committed as revision 17918 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Prevent (negative) overflow of rm->remaining_len. This evaluation really onlyRonald S. Bultje2009-03-09
| | | | | | | | | | | has two possible outcomes: either len and rm->remaining_len are the same, in which case we care about the outcome and it is zero, or rm->remaining_len is currently not in use and we don't care about the outcome. In that case, len is positive and rm->remaining_len is zero, which leads to a negative result. This is confusing and could eventually lead to a sign-flip if we skip a lot of packets (unlikely, but still). Therefore, just always set it to zero. Originally committed as revision 17910 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace separate packet parsing for "old_format" .ra files by a call toRonald S. Bultje2009-03-09
| | | | | | | | ff_rm_parse_packet(). See "[PATCH] Make RM demuxer behave better with -an option" thread, which sort-of turned into an aggregate of unrelated rmdec.c cleanups. Originally committed as revision 17909 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move frame discarding out of the ff_rm_parse_packet() loop, and respectRonald S. Bultje2009-03-09
| | | | | | | | | rm->audio_pkt_cnt in case multiple packets should be read before the next syncpoint in the file, so that ffplay -an on a file containing AAC audio works. See "[PATCH] Make RM demuxer behave better with -an option" thread on mailinglist. Originally committed as revision 17908 to svn://svn.ffmpeg.org/ffmpeg/trunk
* remove now useless get_str16() from rmdec.cAurelien Jacobs2009-02-17
| | | | Originally committed as revision 17397 to svn://svn.ffmpeg.org/ffmpeg/trunk
* use new metadata API in rm (de)muxerAurelien Jacobs2009-02-17
| | | | Originally committed as revision 17396 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a context to av_log() calls.Benoit Fouet2009-02-16
| | | | Originally committed as revision 17377 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use more descriptive format long_names.Diego Biurrun2009-02-12
| | | | Originally committed as revision 17184 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reformat rdt_demuxer AVCodec struct sanely.Michael Niedermayer2009-02-03
| | | | Originally committed as revision 16969 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: Remove pointless period after copyright statement non-sentences.Diego Biurrun2009-01-19
| | | | Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk