aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/segment.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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 <michaelni@gmx.at>
| * 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ö <martin@martin.st>
* | 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 <michaelni@gmx.at>
| * 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ö <martin@martin.st>
* | 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 <michaelni@gmx.at>
| * 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ö <martin@martin.st>
* | 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 <michaelni@gmx.at>
| * 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ö <martin@martin.st>
| * segment: Add a missing spaceMartin Storsjö2012-10-041-1/+1
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | 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 <michaelni@gmx.at>
| * 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ö <martin@martin.st>
* | 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 <eclipse7@gmx.net>
* | 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 <eclipse7@gmx.net>
* | 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 <eclipse7@gmx.net>
* | 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 <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-041-2/+2
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | 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 <michaelni@gmx.at>
* | 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
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-311-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpc8: return more meaningful error codes. mpc: return more meaningful error codes. wv,mpc8: don't return apetag data in packets. rtmp: do not warn about receiving metadata packets x86: h264dsp: Adjust YASM #ifdefs x86: yadif: Mark mmxext optimizations as such h264: convert loop filter strength dsp function to yasm. Improve descriptiveness of a number of codec and container long names Conflicts: libavcodec/flvdec.c libavcodec/libopenjpegdec.c libavformat/apetag.c libavformat/mp3dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Improve descriptiveness of a number of codec and container long namesDiego Biurrun2012-07-301-1/+1
| |
* | lavf/segment: add -segment_time_delta optionStefano Sabatini2012-07-101-1/+13
| |
* | lavf/segment: add -segment_times optionStefano Sabatini2012-07-101-6/+85
| | | | | | | | Address trac ticket #1504.
* | lavf/segment: sort optionsStefano Sabatini2012-07-081-1/+1
| |
* | lavf/segment: make use of av_parse_time() when parsing the -segment_time valueStefano Sabatini2012-07-081-5/+14
| | | | | | | | | | | | | | Increase flexibility/consistency. Also rename recording_time field to time, for enhanced consistency/readability.
* | lavf/segment: add segment_list_type option, extend format for the segment ↵Stefano Sabatini2012-07-081-1/+21
| | | | | | | | | | | | | | | | | | list file Add list extended format which specifies in the list file the start and ending time for each segment. This is required to make it available this information to external tools, avoiding the need to perform file analysis in the output segments.
* | lavf/segment: rename SegmentContext.pb to list_pbStefano Sabatini2012-07-041-9/+9
| | | | | | | | | | The new name is more auto-explicative, as the pb is used for the segment list file.
* | lavf/segment: add error log in case of invalid filename templateStefano Sabatini2012-07-031-1/+3
| | | | | | | | Better rather than silently exit.
* | lavf/segment: fix logic for segmenting audio-only inputsStefano Sabatini2012-07-031-1/+2
| | | | | | | | | | | | Also add a comment for clarifying the logic. Fix trac ticket #1290.
* | lavf/segment: add more information in log message in seg_write_packet()Stefano Sabatini2012-07-031-2/+2
| |
* | lavf/segment: remove unused offset variableStefano Sabatini2012-07-031-2/+0
| |
* | lavf/segment: apply misc fixes to the private options internal documentationStefano Sabatini2012-07-031-10/+10
| | | | | | | | | | Option help message tell what the option *does*, not what the set field represents.
* | lavf/segment: slightly simplify fail logic in seg_write_packet()Stefano Sabatini2012-07-031-6/+1
| |
* | lavf/segment: move list filename printing logic from segment_end() to ↵Stefano Sabatini2012-07-031-16/+12
| | | | | | | | | | | | | | | | segment_start() Allow to deal with the list file printing only in a single point, thus simplifying logic, and allow a bit of factorization (no special case needed when printing the first file name of the list).
* | lavf/segment: rename variable "size" to "list_size"Stefano Sabatini2012-07-011-3/+3
| | | | | | | | The new name is more meaningful/less confusing.
* | lavf/segment: pass the top level chained muxer format context to segment_end()Stefano Sabatini2012-07-011-4/+6
| | | | | | | | Consistent with segment_start() and less confusing.
* | lavf/segment: rename segment private context from "c" to "seg" in ↵Stefano Sabatini2012-06-291-5/+5
| | | | | | | | | | | | segment_start() Consistent with the rest of the file, less confusing.
* | lavf/segment: add stream_segment variant of the segment muxerStefano Sabatini2012-06-291-1/+18
| | | | | | | | | | | | | | | | This simplifies usage for segment streaming formats with no global headers, tipically MPEG 2 transport stream "ts" files. The seg class duplication is required in order to avoid an infinite loop in libavformat/utils.c:format_child_next_class().
* | lavf/segment: add some debugging logsStefano Sabatini2012-06-291-0/+6
| |