summaryrefslogtreecommitdiff
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
parentec0e888e3aeb7ee75cfa5cdf44695c8a49343ab1 (diff)
avformat: add an Ogg Video muxer
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--Changelog1
-rwxr-xr-xconfigure1
-rw-r--r--libavformat/Makefile2
-rw-r--r--libavformat/allformats.c1
-rw-r--r--libavformat/oggenc.c24
-rw-r--r--libavformat/version.h2
6 files changed, 29 insertions, 2 deletions
diff --git a/Changelog b/Changelog
index 77fe44a04e..196a574372 100644
--- 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:
diff --git a/configure b/configure
index cc51e67eaa..1b41303e74 100755
--- 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"
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 52f35f0eb6..c3f38b4081 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -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 \
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 58c33a62be..10c9bcce7f 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -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);
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 = {
diff --git a/libavformat/version.h b/libavformat/version.h
index 307542e4ae..56308088b0 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -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, \