summaryrefslogtreecommitdiff
path: root/libavformat/flvdec.c
Commit message (Collapse)AuthorAge
* flvdec: set channel layoutJustin Ruggles2012-11-12
|
* flvdec: always set AVFMTCTX_NOHEADER.Anton Khirnov2012-09-11
| | | | New streams may be created at any time, e.g. on codec change.
* avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* Improve descriptiveness of a number of codec and container long namesDiego Biurrun2012-07-30
|
* flvdec: remove spurious use of stream idLuca Barbato2012-07-29
| | | | We match streams by codec id now.
* flvdec: Treat all nellymoser versions as the same codecMartin Storsjö2012-07-05
| | | | | | | | This avoids creating new AVStreams for them when switching between different variants of them, since we can handle changes between different sample rates of nellymoser within the same stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: optionally trust the metadataLuca Barbato2012-07-05
| | | | | In certain conditions video or audio frames might appear way later in the stream.
* flvdec: initial stream switch supportLuca Barbato2012-07-03
| | | | Codec change midstream gets mapped to a separate stream.
* flv: add support for G.711Damien Fetis2012-06-28
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* flvdec: remove incomplete, disabled seeking codeRonald S. Bultje2012-06-19
|
* flv: support stream text data as onTextDataLuca Barbato2012-06-03
| | | | | | | Adobe specifies onTextData as the standard message to use to deliver text information. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* flvdec: Make sure sample_rate is set to the updated valueMartin Storsjö2012-05-23
| | | | | | | | | | | | | | | | The sample_rate variable is used for checks for audio format changes at the end of the function. This fixes cases where the sample rate was set from the codec id by flv_set_audio_codec (as for nellymoser 8 kHz/16 kHz), so the value set to last_sample_rate wasn't equal to sample_rate at this point. This caused the demuxer otherwise reports a spurious change to 5512 Hz and back to the correct one. Updating channels in the same way is only done for consistency. Currently, flv_set_audio_codec doesn't update that value. Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Align muxer/demuxer declarationsMartin Storsjö2012-04-06
| | | | | | | Also add missing trailing commas, break long codec_tag lines and add spaces in codec_tag declarations. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Remove the now redundant check for known broken metadata creatorMichael Niedermayer2012-02-27
| | | | | | The index validation identifies these indexes as broken. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Validate index entries added from metadata while readingMartin Storsjö2012-02-27
| | | | | | | | | | | By validating the index entries while reading, we don't need to seek at startup to validate the entries. If the error in the index entries is not pointing to (our definition of) the start of packets, and there is an index entry pointing at some of the first packets after the metadata, the invalid index can be discarded almost immediately. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Ignore the index if the ignidx flag is setMartin Storsjö2012-02-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Fix indentationMartin Storsjö2012-02-22
| | | | | | Also split a long line. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove the pointless value field from flv and iv8Anton Khirnov2012-01-31
| | | | The demuxers don't use it in any way.
* flvdec: Interpret a toplevel 'object' type metadata item as normal metadata, tooMartin Storsjö2012-01-30
| | | | | | | | | | | | Previously, we've only passed the key string on to the recursive amf_parse_object for the mixedarray type, not for 'object'. By passing the key string on, the recursive amf_parse_object can store the amf objects as metadata. This kind of data was seen in data from XSplit Broadcaster, received over RTMP via Wowza. This patch allows reading this metadata. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov2012-01-27
|
* flvdec: Fix compiler warning for uninitialized variablesJean First2012-01-04
| | | | | | | These can't be used uninitialized in practice, but the compiler doesn't realize it. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Add param change side data if the sample rate or channels have changedMartin Storsjö2011-12-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Export new AAC/H.264 extradata as side data on the next packetMartin Storsjö2011-12-21
| | | | | | | | | | | | | | | | | | Compared to just overwriting the old extradata, this has the advantage of letting the decoder know exactly when the extradata changed (otherwise it is changed immediately when the new extradata packet is demuxed, even if there's old queued packets awaiting to be decoded). This makes it easier for decoders to actually react to the change, so they won't have to inspect the extradata for each packet to see if it might have changed. This works when sequentially playing a file with sample rate changes, but if seeking past a new extradata packet in the file, it obviously doesn't work properly. That case doesn't work in flash player either, so it's probably ok not to handle it. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu: replace int/float punning functionsMans Rullgard2011-12-11
| | | | | | | | | | | | | | | | | | The existing functions defined in intfloat_readwrite.[ch] are both slow and incorrect (infinities are not handled). This introduces a new header with fast, inline conversion functions using direct union punning assuming an IEEE-754 system, an assumption already made throughout the code. The one use of Intel/Motorola extended 80-bit format is replaced by simpler code sufficient under the present constraints (positive normal values). The old functions are marked deprecated and retained for compatibility. Signed-off-by: Mans Rullgard <mans@mansr.com>
* latmdec: fix audio specific config parsingJanne Grunau2011-12-03
| | | | | | | | | Pass the correct size in bits to mpeg4audio_get_config and add a flag to disable parsing of the sync extension when the size is not known. Latm with AudioMuxVersion 0 does not specify the size of the audio specific config. Data after the audio specific config can be misinterpreted as sync extension resulting in random and wrong configs.
* lavf: make av_set_pts_info private.Anton Khirnov2011-11-30
| | | | It's supposed to be called only from (de)muxers.
* flvdec: Do not call parse_keyframes_index with a NULL streamReimar Döffinger2011-10-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.Anton Khirnov2011-10-20
| | | | | Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and ff_copy_pce_data
* lavf: replace av_new_stream->avformat_new_stream part II.Anton Khirnov2011-10-19
| | | | | | | | Manual replacements are done in this commit. In many cases, the id is some constant made up number (e.g. 0 for video and 1 for audio), which is then not used in the demuxer for anything. Those ids are removed.
* flvdec: Don't export metadata entries that aren't proper metadataMartin Storsjö2011-10-12
| | | | | | | | | This avoids writing these entries doubly if transcoding from flv to flv, since the muxer blindly writes any and all metadata keys set, in addition to the fixed fields that the muxer always writes. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Split out setting of numeric fields from storing metadataMartin Storsjö2011-10-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Check for overflow before allocating arraysMichael Niedermayer2011-09-25
| | | | | | | On allocation, the array length is multiplied by sizeof(int64_t), this prevents the multiplication from overflowing. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Fix invalid pointer deferences when parsing indexLaurent Aimar2011-09-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Ignore the index if it's from a creator known to be differentMartin Storsjö2011-09-23
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Add some missing mathematics.h #includes for av_rescale().Diego Biurrun2011-07-05
|
* Do not include intfloat_readwrite.h in avutil.hMans Rullgard2011-07-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
|
* flvdec: clenup debug codeAlex Converse2011-05-17
|
* flvdec: Allow parsing keyframes metadata without seeking in most casesMartin Storsjö2011-04-12
| | | | | | | | | | | | | Stop the avio input at a point where amf_parse_object can continue parsing the end of the object seamlessly, when all data is available. If unsupported data is encountered within the keyframes object, try seeking to the start of the keyframes object - if the seek back was successful, the caller can continue parsing the rest of the AMF data. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: undeprecate av_url_read_fseek/fpause under nicer namesAnton Khirnov2011-04-12
| | | | It seems their replacements won't be ready anytime soon.
* flvdec: Fix support for flvtool2 "keyframes based" generated indexKharkov Alexander2011-04-12
| | | | | | | | | | | Current keyframes data parser unconditionally rewind metadata to the end at the end of function. As result ALL metadata located after keyframes index not parsed, and as metadata object can have ANY placement inside metadata it can lead to unpredictable result (bitrate can not be found, etc.). As result FLV movie will not play at all in such situation. Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: fix segfault in amf_parse_object() due to NULL keyJustin Ruggles2011-04-03
| | | | fixes Issue 2674
* avio: introduce an AVIOContext.seekable fieldAnton Khirnov2011-04-03
| | | | Use it instead of url_is_streamed and AVIOContext.is_streamed.
* flvdec: read index stored in the 'keyframes' tag.Kharkov Alexander2011-03-31
| | | | | | | | | | | | | | | | 'keyframes' metatag is not part of the standard, it is just convention to use such kind of metatag information for indexing. Structure is following, it allows to have it inconsistent: keyframes: times (array): time0 (num) time1 (num) time2 (num) filepositions (array) position0 (num) position1 (num) Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: make av_url_read_fseek/fpause internal.Anton Khirnov2011-03-21
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes senseAnton Khirnov2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: deprecate url_feofAnton Khirnov2011-03-07
| | | | | | AVIOContext.eof_reached should be used directly instead. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>