summaryrefslogtreecommitdiffstats
path: root/libavformat/segment.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | lavf/segment: add reset_timestamps optionStefano Sabatini2012-12-111-0/+25
| | | | | | | | | | | | | | The new options reset the timestamps at each new segment, so that the generated segments will have timestamps starting close to 0. It is meant to address trac ticket #1425.
* | lavf/segment: remove silly assert(), improve feedbackStefano Sabatini2012-12-091-3/+7
| | | | | | | | | | The code should not assert in case of invalid user input. Fails gracefully instead.
* | lavf/segment: fix value for the M3U8 EXT-X-MEDIAStefano Sabatini2012-11-201-3/+1
| | | | | | | | | | | | | | | | | | From the M3U8 specification: |The EXT-X-MEDIA-SEQUENCE tag indicates the sequence number of the first |URI that appears in a Playlist file. Previously it was using the list index number. Also remove now unused list_count field.
* | lavf/segment: do not pre-increment segment_idx valueStefano Sabatini2012-11-201-2/+3
| | | | | | | | | | Increment the value just when a new segment with the given index is started. Simplify logic, improve readability.
* | lavf/segment: unbreak behavior for segment muxerStefano Sabatini2012-11-201-1/+1
| | | | | | | | | | | | | | | | The segment muxer presumes the use of AVFMT_GLOBALHEADER, ssegment should be use in case of formats which requires no global headers. Regression introduced when merging 0826d8513d14f54da0b519360813327d5836b7fc.
* | lavf/segment: consistently use "seg" in segment_start()Stefano Sabatini2012-11-201-8/+8
| |
* | lavf/segment: do not copy codec_tag when not availableChanMin Kim2012-11-201-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some muxers do not allow stream if codec_tag is incompatible. Sometimes the passed input codec's codec_tag is not compatible with the output muxer. Because the codec_tag field of the segment muxer cannot be set, ffmpeg.c doesn't know how to handle these cases. Signed-off-by: ChanMin Kim <[email protected]> Signed-off-by: Stefano Sabatini <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | segment: fix null ptr derefMichael Niedermayer2012-11-051-1/+1
| | | | | | | | | | Fixes CID732220 Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c'Michael Niedermayer2012-10-111-2/+5
|\| | | | | | | | | | | | | | | | | | | | | * commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c': vc1dec: Set chroma reference field from REFFIELD for 1REF field pictures segment: support applehttp style list Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: support applehttp style listLuca Barbato2012-10-101-13/+72
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-081-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: drop global headers settingLuca Barbato2012-10-081-1/+1
| | | | | | | | | | | | | | | | avconv provides an option to set it externally and there isn't a way for the outer demuxer to report the inner demuxer flag. Solves a bad interaction between mpegts and x264, but requires additional setting for the user.
* | segment: reverse pass avoid_negative_ts from the muxerMichael Niedermayer2012-10-061-0/+3
| | | | | | | | | | | | This fixes failures with formats not supporting negative TS Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '65d12900432ac880d764edbbd36818431484a76e'Michael Niedermayer2012-10-051-6/+50
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '65d12900432ac880d764edbbd36818431484a76e': configure: add --enable-lto option x86: cpu: Break out test for cpuid capabilities into separate function x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO segment: Add comments about calls that only are relevant for some muxers segment: Add an option for omitting the first header and final trailer Conflicts: configure libavcodec/Makefile libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: Add comments about calls that only are relevant for some muxersMartin Storsjö2012-10-041-2/+2
| | | | | | | | Signed-off-by: Martin Storsjö <[email protected]>
| * segment: Add an option for omitting the first header and final trailerMartin Storsjö2012-10-041-4/+48
| | | | | | | | | | | | | | This allows writing totally bare segments, without any header/trailer included anywhere. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit 'a854362b40f0e458db5a1fb0d2612a5702ee0ace'Michael Niedermayer2012-10-051-0/+1
|\| | | | | | | | | | | | | * commit 'a854362b40f0e458db5a1fb0d2612a5702ee0ace': segment: Flush buffered data before finishing a segment Merged-by: Michael Niedermayer <[email protected]>
| * segment: Flush buffered data before finishing a segmentMartin Storsjö2012-10-041-0/+1
| | | | | | | | | | | | | | This makes sure any buffered data is written to the segment, for muxers that buffer up data internally (e.g. fragmented mp4). Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit 'f7b240434c015056bc6319ddbdb8483757cc13e2'Michael Niedermayer2012-10-051-0/+3
|\| | | | | | | | | | | | | * commit 'f7b240434c015056bc6319ddbdb8483757cc13e2': segment: Set the resend_headers flag for each segment Merged-by: Michael Niedermayer <[email protected]>
| * segment: Set the resend_headers flag for each segmentMartin Storsjö2012-10-041-0/+3
| | | | | | | | | | | | | | | | | | This makes sure new inline headers are emitted when the next packet is written. This allows segmenting mpegts without calling write_header/write_trailer (nor freeing/reiniting the muxer) for each segment. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '378a6315b7c48195ffd94e6aa9aa6d663d42b35e'Michael Niedermayer2012-10-051-13/+24
|\| | | | | | | | | | | | | | | | | | | * commit '378a6315b7c48195ffd94e6aa9aa6d663d42b35e': segment: Add an option for disabling writing of a header/trailer to each segment Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: Add an option for disabling writing of a header/trailer to each segmentMartin Storsjö2012-10-041-12/+19
| | | | | | | | | | | | | | | | Some segmented formats (such as fragmented mp4) are "bare", as in, the segment files do not have the same headers/trailers as full normal files of that format have. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit 'eb447d515956b3ce182d9750083131735f00324c'Michael Niedermayer2012-10-051-28/+50
|\| | | | | | | | | | | | | | | | | | | * commit 'eb447d515956b3ce182d9750083131735f00324c': segment: Free and reinit the muxer before calling avformat_write_header Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: Free and reinit the muxer before calling avformat_write_headerMartin Storsjö2012-10-041-22/+42
| | | | | | | | | | | | | | | | | | | | | | | | This makes sure the muxers are set up in the way they expect with no data left around from the previous run (which could cause various issues including memory leaks, depending on the chaine muxer). This fixes memory leaks with the mpegts and flv muxers. It also makes the usage of chained muxers correct. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87'Michael Niedermayer2012-10-051-28/+3
|\| | | | | | | | | | | | | | | | | | | * commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87': segment: Use the public av_write_header/av_write_trailer functions Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: Use the public av_write_header/av_write_trailer functionsMartin Storsjö2012-10-041-27/+3
| | | | | | | | | | | | | | | | | | With this change, the segmenter muxer doesn't rely on anything not available/supported to libavformat external users, making the segmenter muxer do things just like a normal segmenter application using libavformat would do. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '0edae4e6286096023cdd6adea74722fa06029867'Michael Niedermayer2012-10-051-14/+13
|\| | | | | | | | | | | | | | | | | | | | | * commit '0edae4e6286096023cdd6adea74722fa06029867': segment: Properly create new AVStreams for the chained muxer segment: Add a missing space Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * segment: Properly create new AVStreams for the chained muxerMartin Storsjö2012-10-041-10/+11
| | | | | | | | | | | | | | | | | | Before, the chained muxer reused the AVStreams array from the outer muxer, which made it impossible to use the proper public functions (such as av_write_frame) when calling the chained muxer. Signed-off-by: Martin Storsjö <[email protected]>
| * segment: Add a missing spaceMartin Storsjö2012-10-041-1/+1
| | | | | | | | Signed-off-by: Martin Storsjö <[email protected]>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-031-0/+1
|\| | | | | | | | | | | | | | | | | | | * qatar/master: ARM: use numeric ID for Tag_ABI_align_preserved segment: Pass the interrupt callback on to the chained AVFormatContext, too ARM: bswap: drop armcc version of av_bswap16() ARM: set Tag_ABI_align_preserved in all asm files Merged-by: Michael Niedermayer <[email protected]>
| * segment: Pass the interrupt callback on to the chained AVFormatContext, tooMartin Storsjö2012-10-021-0/+1
| | | | | | | | | | | | | | | | This might not be needed at the moment, but it's good practice to pass it to all chained AVFormatContexts, if it would happen to be used there at a later point. Signed-off-by: Martin Storsjö <[email protected]>
* | lavf/segment: Use distinct IDs for list type ext & csvAlexander Strasser2012-09-151-2/+2
| | | | | | | | | | | | | | | | | | Remove a bogus warning when using segment_list_type csv. The LIST_TYPE_EXT constant is only used internally, so it can be removed when the feature (segment_list_type ext) gets removed. Signed-off-by: Alexander Strasser <[email protected]>
* | lavf/segment: Rename variable in print_csv_escaped_str()Alexander Strasser2012-09-151-3/+3
| | | | | | | | | | | | Rename a local variable to make the code more self-explanatory. Signed-off-by: Alexander Strasser <[email protected]>
* | lavf/segment: Simplify CSV field quoting codeAlexander Strasser2012-09-151-12/+4
| | | | | | | | | | | | | | | | | | | | Should also be faster (though I doubt that hardly ever matters for the usage here). Also remove the pointer copy. Since we do not need to reset the pointer to the start of the string, it is not needed anymore. Signed-off-by: Alexander Strasser <[email protected]>
* | lavf/segment: add segment_list_flags optionStefano Sabatini2012-09-111-2/+24
| | | | | | | | | | | | | | | | | | | | | | Allow to specify options affecting the segment list generation. In particular: add +live and +cache flags. For a full discussion read trac ticket #1642: http://ffmpeg.org/trac/ffmpeg/ticket/1642 Also add live M3U8 generation example.
* | Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'Michael Niedermayer2012-09-051-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9': avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member Conflicts: libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/mpeg12enc.c libavcodec/options_table.h libavcodec/snowenc.c libavcodec/tiffenc.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/af_asyncts.c libavfilter/af_join.c libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_delogo.c libavfilter/vf_drawtext.c libavformat/http.c libavformat/img2dec.c libavformat/img2enc.c libavformat/movenc.c libavformat/mpegenc.c libavformat/mpegtsenc.c libavformat/options_table.h libavformat/segment.c Merged-by: Michael Niedermayer <[email protected]>
| * avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-041-2/+2
| | | | | | | | Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '124134e42455763b28cc346fed1d07017a76e84e'Michael Niedermayer2012-09-051-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '124134e42455763b28cc346fed1d07017a76e84e': avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member Conflicts: libavcodec/aacenc.c libavcodec/libopenjpegenc.c libavcodec/options_table.h libavdevice/bktr.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/vf_drawtext.c libavformat/movenc.c libavformat/options_table.h libavutil/opt.c Merged-by: Michael Niedermayer <[email protected]>
* | lavf/segment: add EXT-X-MEDIA-SEQUENCE tag in M3U8 headerStefano Sabatini2012-09-041-0/+3
| |
* | lavf/segment: deprecate "ext" format in favor of "csv"Stefano Sabatini2012-09-041-2/+8
| | | | | | | | The new option name is more descriptive.
* | lavf/segment: add escaping for filename field of the CSV list fileStefano Sabatini2012-09-041-1/+26
| | | | | | | | CSV escaping code is borrowed from ffprobe.c.
* | lavf/segment: set EXT-X-VERSION to 3 rather than to 4Stefano Sabatini2012-09-021-1/+1
| | | | | | | | | | | | | | | | There is nothing we use of the latest version, downgrade version number to increase decoding support. Based on this comment by vel2000: http://ffmpeg.org/trac/ffmpeg/ticket/1642#comment:17
* | lavf/segment: fix computation of M3U8 segment target durationStefano Sabatini2012-08-181-1/+1
| | | | | | | | | | Use ceil on the max duration, rather than approximating it to the nearest integer.
* | lavf/segment: change default value for segment_list_size option, from 5 to 0Stefano Sabatini2012-08-181-1/+1
| | | | | | | | | | This is technically a major compatibility break, but seems the most natural default and what users would expect without reading the docs.
* | lavf/segment: guess list type from list filename suffixStefano Sabatini2012-08-181-2/+9
| |
* | lavf/segment: add M3U8 list supportStefano Sabatini2012-08-181-0/+20
| | | | | | | | Address trac ticket #1642.
* | lavf/segment: compute max list segment durationStefano Sabatini2012-08-181-2/+10
| | | | | | | | This is useful for the M3U8 format incoming patch.
* | lavf/segment: create segment_list_open and close functionsStefano Sabatini2012-08-181-7/+18
| | | | | | | | | | Allow factorization for the incoming patches, and avoid code/logic duplication.
* | lavf/segment: fix bogus segment index rewrapping logicStefano Sabatini2012-08-181-11/+15
| | | | | | | | | | Decouple segment index wrapping and segment count logic. The counter should not be reset since it detects the segment increasing timeframe.
* | lavf/segment: move file description to @file doxyStefano Sabatini2012-08-181-1/+4
| |