summaryrefslogtreecommitdiffstats
path: root/libavformat/flvenc.c
Commit message (Collapse)AuthorAgeFilesLines
* avformat/flvenc: Check audio packet sizeMichael Niedermayer2018-10-071-0/+5
| | | | | | | | | | Fixes: Assertion failure Fixes: assert_flvenc.c:941_1.swf Found-by: #CHEN HONGXU# <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 6b67d7f05918f7a1ee8fc6ff21355d7e8736aa10) Signed-off-by: Michael Niedermayer <[email protected]>
* avformat: migrate to AVFormatContext->urlMarton Balint2018-01-281-2/+2
| | | | Signed-off-by: Marton Balint <[email protected]>
* avformat/flvenc: flx flvflags no_metadata bugSteven Liu2017-03-141-12/+14
| | | | | | | When use flvflags no_metadata , the FLV header will be cover by write tailer This commit fix the bug Signed-off-by: Steven Liu <[email protected]>
* avformat/flvenc: refine the flvenc shift_data codeSteven Liu2017-01-241-5/+7
| | | | | | refine the flvenc shift_data move data option Signed-off-by: Steven Liu <[email protected]>
* avformat/flvenc: Check for extradata allocation failureMichael Niedermayer2017-01-031-0/+4
| | | | | | Fixes CID1396539 Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: fix ticket 5976 and use old commitSteven Liu2016-11-261-4/+7
| | | | | | | | | mythtv have problem with non-seekable dont write duration and filesize and there have problem with some other server and player with 0 value duation and filesize. So add a flv flags to fix the ticket and make a choose for users. Signed-off-by: Steven Liu <[email protected]>
* avformat/flvenc: add no_metadata to flvflagsSteven Liu2016-11-221-1/+7
| | | | | | | some flv have no metadata, ffmpeg will same with the source flv stream. Signed-off-by: Steven Liu <[email protected]>
* avformat/flvenc: add add_keyframe_index optionSteven Liu2016-11-101-10/+321
| | | | | | | | | | | | | | | | | | | | | Add keyframe index metadata Used to facilitate seeking; particularly for HTTP pseudo streaming. 1. read live streaming or file by sequence 2. if use add_keyframe_index option, add a mark flag at the position, use to insert new context at the last step. 3. add the keyframes *offset* and *timestamp* into a list 4. if use add_keyframe_index option, shift the metadata data from mark flag offset 5. insert the keyframes *offset* and *timestamp* from the list by sequence 6. free the list 7. end. Add FATE test case; Reviewed-by: Lou Logan <[email protected]> Signed-off-by: Steven Liu <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: support mp3 audio with 48khzfuqiuping2016-11-061-0/+9
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: do not attempt to write duration and filesize when not seekableSteven Liu2016-10-201-21/+28
| | | | | | | Its impossible to update the filesize & duration values if seekback is not possible as with live streams Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: add no_sequence_end flags for flvflagsSteven Liu2016-09-141-7/+13
| | | | | | | | | | when split flv file by flv format at first, and cat flvs file into one flv file, the flv sequence end is be used, then the whole flv have many flv sequence end TAG. this flags can give user an option to ignore write sequence end TAG Signed-off-by: Steven Liu <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: Add () around &Michael Niedermayer2016-09-141-1/+1
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/flvenc: add FLVFlags for flvflags optionsSteven Liu2016-09-141-2/+6
| | | | | | | add FLVFlags type, be used to add new FLVFlags options Signed-off-by: Steven Liu <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* Merge commit '371df9ba71393a1c5429d5f40c76348b30e556c7'Matthieu Bouron2016-06-231-0/+4
|\ | | | | | | | | | | | | * commit '371df9ba71393a1c5429d5f40c76348b30e556c7': flvenc: Provide output bytestream markers Merged-by: Matthieu Bouron <[email protected]>
| * flvenc: Provide output bytestream markersMartin Storsjö2016-05-181-0/+4
| | | | | | | | Signed-off-by: Martin Storsjö <[email protected]>
* | libavformat/flvenc: support for codec configuration change mid streamIvan2016-06-111-0/+13
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | libavformat/flvenc: refactoring: extracted method for writing codec headersIvan2016-06-111-52/+64
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-95/+95
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <[email protected]> - Hendrik Leppkes <[email protected]> - wm4 <[email protected]> - Clément Bœsch <[email protected]> - James Almer <[email protected]> - Michael Niedermayer <[email protected]> - Rostislav Pehlivanov <[email protected]> Merged-by: Derek Buitenhuis <[email protected]>
| * lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-231-76/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* | avformat: use ff_standardize_creation_time for formats writing all format ↵Marton Balint2016-03-031-0/+1
| | | | | | | | | | | | | | string metadata Reviewed-by: wm4 <[email protected]> Signed-off-by: Marton Balint <[email protected]>
* | avformat/flvenc: copyts in FLV muxerIvan2016-01-261-1/+1
| | | | | | | | | | | | | | | | | | The purpose of this patch is to preserve timestamps when using ffmpeg for publishing RTMP streams, e.g. ffmpeg -i rtmp://source/stream -f flv rtmp://target/stream. There is a setting "copyts" for that purpose. Unfortunately it doesn't work with FLV muxer because it has its own timestamp correction which makes global setting "copyts" ineffective. This patch removes timestamp correction in FLV muxer. This means FLV will rely on ffmpeg timestamp correction which makes it possible to use copyts. Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/flvenc: Add aac_seq_header_detect and flvflagsMaksym Veremeyenko2015-11-201-0/+45
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | doc: fix spelling errorsAndreas Cadhalpun2015-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | Neccessary -> Necessary formated -> formatted thee -> the eventhough -> even though seperately -> separately Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Andreas Cadhalpun <[email protected]>
* | Revert "avformat/flvenc: Allow muxing video codecs which are not explicitly ↵Michael Niedermayer2015-03-221-11/+2
| | | | | | | | | | | | | | | | | | | | supported by the muxer" This commit has no known use case ATM as there are no unsupported video codecs in flv and could theoretically be use to generate broken files allthough that would be not entirely easy as tags/codecs still get sanity checked This reverts commit 76f4b117807c30a528539fc5c7a7e35cb288cfcf.
* | avformat/flvenc: Allow muxing video codecs which are not explicitly ↵Michael Niedermayer2015-03-221-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | supported by the muxer This allows stream copying video codecs before they are explicitly supported. The same feature was in the past useful for audio codecs in flv This partly reverts the changes from 735ab7c5e04e2316afbd56643c13de17a7ac89cd Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5'Michael Niedermayer2015-03-041-18/+18
|\| | | | | | | | | | | | | | | | | | | * commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5': flv: Validate and reject unsupported codecs Conflicts: libavformat/flvenc.c Merged-by: Michael Niedermayer <[email protected]>
| * flv: Validate and reject unsupported codecsLuca Barbato2015-03-041-16/+17
| | | | | | | | | | | | And provide a more informative message in case of failure. CC: [email protected]
| * flvenc: Remove an unused variableMichael Niedermayer2014-11-221-1/+1
| | | | | | | | Signed-off-by: Martin Storsjö <[email protected]>
* | avformat/flvenc: check that the codec_tag fits in the available bitsAndreas Cadhalpun2015-02-281-1/+1
| | | | | | | | | | | | | | flags is later written with avio_w8 and if it doesn't fit in one byte it triggers an av_assert2. Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/flvenc: accept AVMEDIA_TYPE_SUBTITLE instead of DATA for subtitlesMichael Niedermayer2015-01-221-1/+11
| | | | | | | | | | Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/flvenc: omit more metadata elements with specific meaningMichael Niedermayer2015-01-051-0/+8
| | | | | | | | | | Reviewed-by: Thilo Borgmann <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | Print a warning if vp6 is muxed into flv: The output is flipped.Carl Eugen Hoyos2014-11-231-0/+3
| | | | | | | | Fixes ticket #4132.
* | avformat/flvenc: remove unused variableMichael Niedermayer2014-11-171-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit 'c64f3615118d757dcf76040fe5407bf2b3883206'Michael Niedermayer2014-11-171-14/+19
|\| | | | | | | | | | | | | * commit 'c64f3615118d757dcf76040fe5407bf2b3883206': flvenc: Send new metadata when FLAG_METADATA_UPDATED is set. Merged-by: Michael Niedermayer <[email protected]>
| * flvenc: Send new metadata when FLAG_METADATA_UPDATED is set.Andrew Stone2014-11-171-14/+19
| | | | | | | | Signed-off-by: Anton Khirnov <[email protected]>
* | Merge commit '4d0cd5f58c892276716f46f4b2702915e5018215'Michael Niedermayer2014-11-171-108/+121
|\| | | | | | | | | | | | | | | | | | | * commit '4d0cd5f58c892276716f46f4b2702915e5018215': flvenc: move metadata updates into a single function Conflicts: libavformat/flvenc.c Merged-by: Michael Niedermayer <[email protected]>
| * flvenc: move metadata updates into a single functionAndrew Stone2014-11-171-90/+103
| | | | | | | | Signed-off-by: Anton Khirnov <[email protected]>
* | avformat/flvenc: Use AVFormatContext strict_std_compliance instead of ↵Michael Niedermayer2014-11-061-1/+1
| | | | | | | | | | | | AVCodecContext Signed-off-by: Michael Niedermayer <[email protected]>
* | lavf/flvenc: fail in case the muxed packet is too bigStefano Sabatini2014-11-031-0/+6
| | | | | | | | | | | | Avoid the creation of files which cannot be successfully decoded by ffmpeg, for example generated with: ffmpeg -f lavfi -i sine -af "aselect='not(between(t,100,500))',aresample=min_comp=0.001:min_hard_comp=0.100000" -acodec pcm_s16le -t 1000 -y out_audio.flv
* | avformat/flvenc: fix codec_id_text checkMichael Niedermayer2014-10-021-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/flvenc: When using "-c:d copy", don't require a codec for passing ↵Jeffrey Wescott2014-09-301-13/+19
| | | | | | | | the AMF metadata through from input to output.
* | align and correct messages regarding bitstream filtersMoritz Barsnick2014-08-191-1/+1
| | | | | | | | | | | | | | The messages regarding the recommended use of bitstream filters are somewhat different. This also adds the ":v" stream specifier to "-bsf h264_mp4toannexb". Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '74bc9458057f07c0820c3d3264396c4c64442e47'Michael Niedermayer2014-06-181-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '74bc9458057f07c0820c3d3264396c4c64442e47': flvenc: Don't over-count metadata. Conflicts: tests/ref/lavf/flv_fmt tests/ref/vsynth/vsynth1-flashsv tests/ref/vsynth/vsynth1-flv tests/ref/vsynth/vsynth2-flashsv tests/ref/vsynth/vsynth2-flv Merged-by: Michael Niedermayer <[email protected]>
| * flvenc: Don't over-count metadata.Josh Allmann2014-06-171-1/+2
| | | | | | | | | | | | Over-counting occurs if framerate is not set. Signed-off-by: Anton Khirnov <[email protected]>
* | avformat/flvenc: Do not allow creating h263/mpeg4 in flv without unofficial ↵Michael Niedermayer2014-06-071-0/+12
| | | | | | | | | | | | | | format extensions being enabled. Found-by: Jean-Baptiste Kempf <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/flvenc: fix assertion failure after 4h muxingMichael Niedermayer2014-05-311-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '43e7f0797f9f821a3866a20f05e512e13c82076a'Michael Niedermayer2014-05-291-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '43e7f0797f9f821a3866a20f05e512e13c82076a': flvenc: only write the framerate tag based on avg_frame_rate Conflicts: tests/ref/lavf/flv_fmt tests/ref/seek/lavf-flv_fmt tests/ref/seek/vsynth2-flv tests/ref/vsynth/vsynth1-flashsv tests/ref/vsynth/vsynth1-flv tests/ref/vsynth/vsynth2-flashsv tests/ref/vsynth/vsynth2-flv Merged-by: Michael Niedermayer <[email protected]>
| * flvenc: only write the framerate tag based on avg_frame_rateAnton Khirnov2014-05-291-4/+4
| | | | | | | | | | Do not fall back on the codec timebase, since that can be anything for VFR video.
* | Warn if s16be is muxed into flv.Carl Eugen Hoyos2014-01-161-0/+3
| | | | | | | | | | Players that conform to the specification can only playback such files correctly on big-endian hardware.
* | Merge commit 'f412b2c9f3a7add0ab8021262ec4bad249347e30'Michael Niedermayer2013-12-211-1/+1
|\| | | | | | | | | | | | | * commit 'f412b2c9f3a7add0ab8021262ec4bad249347e30': flv: Use the correct type to hold the file offset Merged-by: Michael Niedermayer <[email protected]>