aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/oggenc.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2016-07-20 21:55:12 -0300
committerJames Almer <jamrial@gmail.com>2016-07-20 22:32:43 -0300
commit66408fce493b36578638ee22b6305bc065bcede2 (patch)
treee7b80ea2e3b492cc478cde5889a2c731ce6d76a4 /libavformat/oggenc.c
parentec0e888e3aeb7ee75cfa5cdf44695c8a49343ab1 (diff)
downloadffmpeg-66408fce493b36578638ee22b6305bc065bcede2.tar.gz
avformat: add an Ogg Video muxer
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/oggenc.c')
-rw-r--r--libavformat/oggenc.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 952261b4af..2d64b77273 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -668,7 +668,10 @@ AVOutputFormat ff_ogg_muxer = {
.name = "ogg",
.long_name = NULL_IF_CONFIG_SMALL("Ogg"),
.mime_type = "application/ogg",
- .extensions = "ogg,ogv"
+ .extensions = "ogg"
+#if !CONFIG_OGV_MUXER
+ ",ogv"
+#endif
#if !CONFIG_SPX_MUXER
",spx"
#endif
@@ -705,6 +708,25 @@ AVOutputFormat ff_oga_muxer = {
};
#endif
+#if CONFIG_OGV_MUXER
+OGG_CLASS(ogv, Ogg video)
+AVOutputFormat ff_ogv_muxer = {
+ .name = "ogv",
+ .long_name = NULL_IF_CONFIG_SMALL("Ogg Video"),
+ .mime_type = "video/ogg",
+ .extensions = "ogv",
+ .priv_data_size = sizeof(OGGContext),
+ .audio_codec = CONFIG_LIBVORBIS_ENCODER ?
+ AV_CODEC_ID_VORBIS : AV_CODEC_ID_FLAC,
+ .video_codec = AV_CODEC_ID_THEORA,
+ .write_header = ogg_write_header,
+ .write_packet = ogg_write_packet,
+ .write_trailer = ogg_write_trailer,
+ .flags = AVFMT_TS_NEGATIVE | AVFMT_ALLOW_FLUSH,
+ .priv_class = &ogv_muxer_class,
+};
+#endif
+
#if CONFIG_SPX_MUXER
OGG_CLASS(spx, Ogg Speex)
AVOutputFormat ff_spx_muxer = {