avformat: add an Ogg Video muxer
authorJames Almer <jamrial@gmail.com>
Thu, 21 Jul 2016 00:55:12 +0000 (21:55 -0300)
committerJames Almer <jamrial@gmail.com>
Thu, 21 Jul 2016 01:32:43 +0000 (22:32 -0300)
Signed-off-by: James Almer <jamrial@gmail.com>
Changelog
configure
libavformat/Makefile
libavformat/allformats.c
libavformat/oggenc.c
libavformat/version.h

index 77fe44a..196a574 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -5,6 +5,7 @@ version <next>:
 - libopenmpt demuxer
 - tee protocol
 - Changed metadata print option to accept general urls
+- Alias muxer for Ogg Video (.ogv)
 
 
 version 3.1:
index cc51e67..1b41303 100755 (executable)
--- a/configure
+++ b/configure
@@ -2860,6 +2860,7 @@ nut_muxer_select="riffenc"
 nuv_demuxer_select="riffdec"
 oga_muxer_select="ogg_muxer"
 ogg_demuxer_select="dirac_parse"
+ogv_muxer_select="ogg_muxer"
 opus_muxer_select="ogg_muxer"
 psp_muxer_select="mov_muxer"
 rtp_demuxer_select="sdp_demuxer"
index 52f35f0..c3f38b4 100644 (file)
@@ -340,6 +340,8 @@ OBJS-$(CONFIG_OGA_MUXER)                 += oggenc.o \
                                             vorbiscomment.o
 OBJS-$(CONFIG_OGG_MUXER)                 += oggenc.o \
                                             vorbiscomment.o
+OBJS-$(CONFIG_OGV_MUXER)                 += oggenc.o \
+                                            vorbiscomment.o
 OBJS-$(CONFIG_OMA_DEMUXER)               += omadec.o pcm.o oma.o
 OBJS-$(CONFIG_OMA_MUXER)                 += omaenc.o rawenc.o oma.o id3v2enc.o
 OBJS-$(CONFIG_OPUS_MUXER)                += oggenc.o \
index 58c33a6..10c9bcc 100644 (file)
@@ -225,6 +225,7 @@ void av_register_all(void)
     REGISTER_DEMUXER (NUV,              nuv);
     REGISTER_MUXER   (OGA,              oga);
     REGISTER_MUXDEMUX(OGG,              ogg);
+    REGISTER_MUXER   (OGV,              ogv);
     REGISTER_MUXDEMUX(OMA,              oma);
     REGISTER_MUXER   (OPUS,             opus);
     REGISTER_DEMUXER (PAF,              paf);
index 952261b..2d64b77 100644 (file)
@@ -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 = {
index 307542e..5630808 100644 (file)
@@ -32,7 +32,7 @@
 // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
 // Also please add any ticket numbers that you belive might be affected here
 #define LIBAVFORMAT_VERSION_MAJOR  57
-#define LIBAVFORMAT_VERSION_MINOR  43
+#define LIBAVFORMAT_VERSION_MINOR  44
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \