diff options
author | James Almer <jamrial@gmail.com> | 2016-07-20 21:55:12 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2016-07-20 22:32:43 -0300 |
commit | 66408fce493b36578638ee22b6305bc065bcede2 (patch) | |
tree | e7b80ea2e3b492cc478cde5889a2c731ce6d76a4 | |
parent | ec0e888e3aeb7ee75cfa5cdf44695c8a49343ab1 (diff) | |
download | ffmpeg-66408fce493b36578638ee22b6305bc065bcede2.tar.gz |
avformat: add an Ogg Video muxer
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | Changelog | 1 | ||||
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | libavformat/Makefile | 2 | ||||
-rw-r--r-- | libavformat/allformats.c | 1 | ||||
-rw-r--r-- | libavformat/oggenc.c | 24 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
6 files changed, 29 insertions, 2 deletions
@@ -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: @@ -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, \ |