summaryrefslogtreecommitdiff
path: root/libavformat/flvdec.c
Commit message (Collapse)AuthorAge
...
* 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>
* avio: avio_ prefix for url_fsizeAnton Khirnov2011-03-07
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavf: replace all uses of url_fskip with avio_seekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefix for url_fseekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefixes for get_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | | | 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>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace dprintf with av_dlogLuca Barbato2011-01-29
| | | | dprintf clashes with POSIX.1-2008
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | 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.
* Fix 16kHz Mono NellyMoser in flv.Thierry Foucu2010-11-03
| | | | | | Patch by Thierry Foucu, tfoucu gmail Originally committed as revision 25667 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use ext sample from mpeg4audio config if set with AAC SBRBaptiste Coudurier2010-07-01
| | | | Originally committed as revision 23947 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
* Implement librtmp seek support.Howard Chu2010-04-18
| | | | | | | | | | | | | | | | | | | Implement flv_read_seek(), add a missing check on stream_index and fix timestamp rounding in rtmp_read_seek(). Also add the flv_read_seek2() function, which is not enabled but is useful as reference. To actually implement flv_read_seek2() correctly, there would need to be some corresponding av_url_read_fseek2() function to propagate the timestamps down to the ByteIOContext and URLContext. Patch by Howard Chu <hyc <at> highlandsun.com>. See the thread: Subject: [FFmpeg-devel] RTMP seek support Date: 2010-03-28 23:35:02 GMT Originally committed as revision 22904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set audio bit rate.Howard Chu2010-04-11
| | | | | | Patch by Howard Chu, hyc highlandsun com Originally committed as revision 22835 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix flvdec start-of-frame.Howard Chu2010-04-01
| | | | | | Patch by Howard Chu hyc highlandsun com Originally committed as revision 22757 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
* fetch flv duration from file if it is set to 0 in metadataBaptiste Coudurier2010-01-19
| | | | Originally committed as revision 21329 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Revert flvdec.c part of r20836Michael Niedermayer2009-12-14
| | | | | | | | | | Log: Use AV_METADATA_DONT_STRDUP* / use av_malloced metadata instead of strduped arrays of fixed length. Code from ffmbc with changes to adapt to our metadata API. Reason: memleak & fix is not trivial Originally committed as revision 20866 to svn://svn.ffmpeg.org/ffmpeg/trunk
* FLV 8-bit PCM is unsigned, not signedDaniel Verkamp2009-12-14
| | | | | | Fixes issue #1569 Originally committed as revision 20853 to svn://svn.ffmpeg.org/ffmpeg/trunk