diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2012-01-13 15:38:13 +0100 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2012-06-29 17:03:25 +0200 |
commit | a9a7e215e5207e674338b7ca9eb74e96ae5faf99 (patch) | |
tree | e308a84a4bb963dc301bb0c9af2d722c9c3bdd8f /libavformat/segment.c | |
parent | 3cd4f9fd76d626f3168393b55549440a2cb8e716 (diff) | |
download | ffmpeg-a9a7e215e5207e674338b7ca9eb74e96ae5faf99.tar.gz |
lavf/segment: add stream_segment variant of the segment muxer
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().
Diffstat (limited to 'libavformat/segment.c')
-rw-r--r-- | libavformat/segment.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c index 4a33c6588e..19d8855c57 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -269,7 +269,6 @@ static const AVClass seg_class = { .version = LIBAVUTIL_VERSION_INT, }; - AVOutputFormat ff_segment_muxer = { .name = "segment", .long_name = NULL_IF_CONFIG_SMALL("segment muxer"), @@ -280,3 +279,21 @@ AVOutputFormat ff_segment_muxer = { .write_trailer = seg_write_trailer, .priv_class = &seg_class, }; + +static const AVClass sseg_class = { + .class_name = "stream_segment muxer", + .item_name = av_default_item_name, + .option = options, + .version = LIBAVUTIL_VERSION_INT, +}; + +AVOutputFormat ff_stream_segment_muxer = { + .name = "stream_segment,ssegment", + .long_name = NULL_IF_CONFIG_SMALL("streaming segment muxer"), + .priv_data_size = sizeof(SegmentContext), + .flags = AVFMT_NOFILE, + .write_header = seg_write_header, + .write_packet = seg_write_packet, + .write_trailer = seg_write_trailer, + .priv_class = &sseg_class, +}; |