[FFmpeg-cvslog] ogg: Provide aliases for Speex, Opus and audio-only ogg

Luca Barbato git at videolan.org
Fri Aug 22 21:48:11 CEST 2014


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sun Aug 17 20:55:37 2014 +0200| [051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd] | committer: Luca Barbato

ogg: Provide aliases for Speex, Opus and audio-only ogg

Since they are aliases for ogg enabling any of them enables ogg as well.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd
---

 Changelog                |    1 +
 configure                |    3 +++
 libavformat/allformats.c |    3 +++
 libavformat/oggenc.c     |   53 +++++++++++++++++++++++++++++++++++++++++++++-
 libavformat/version.h    |    2 +-
 5 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index ea9d721..cfdf11b 100644
--- a/Changelog
+++ b/Changelog
@@ -31,6 +31,7 @@ version <next>:
 - Icecast protocol
 - request icecast metadata by default
 - support for using metadata in stream specifiers in avtools
+- Aliases and defaults for Ogg subtypes (opus, spx)
 
 
 version 10:
diff --git a/configure b/configure
index db3ee36..97b60cd 100755
--- a/configure
+++ b/configure
@@ -2047,7 +2047,9 @@ mpegtsraw_demuxer_select="mpegts_demuxer"
 mxf_d10_muxer_select="mxf_muxer"
 nut_muxer_select="riffenc"
 nuv_demuxer_select="riffdec"
+oga_muxer_select="ogg_muxer"
 ogg_demuxer_select="golomb"
+opus_muxer_select="ogg_muxer"
 psp_muxer_select="mov_muxer"
 rtp_demuxer_select="sdp_demuxer"
 rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer"
@@ -2058,6 +2060,7 @@ sap_muxer_select="rtp_muxer rtp_protocol rtpenc_chain"
 sdp_demuxer_select="rtpdec"
 smoothstreaming_muxer_select="ismv_muxer"
 spdif_muxer_select="aac_parser"
+spx_muxer_select="ogg_muxer"
 tak_demuxer_select="tak_parser"
 tg2_muxer_select="mov_muxer"
 tgp_muxer_select="mov_muxer"
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 984bb52..bef155f 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -174,8 +174,10 @@ void av_register_all(void)
     REGISTER_MUXER   (NULL,             null);
     REGISTER_MUXDEMUX(NUT,              nut);
     REGISTER_DEMUXER (NUV,              nuv);
+    REGISTER_MUXER   (OGA,              oga);
     REGISTER_MUXDEMUX(OGG,              ogg);
     REGISTER_MUXDEMUX(OMA,              oma);
+    REGISTER_MUXER   (OPUS,             opus);
     REGISTER_DEMUXER (PAF,              paf);
     REGISTER_MUXDEMUX(PCM_ALAW,         pcm_alaw);
     REGISTER_MUXDEMUX(PCM_MULAW,        pcm_mulaw);
@@ -226,6 +228,7 @@ void av_register_all(void)
     REGISTER_DEMUXER (SMUSH,            smush);
     REGISTER_DEMUXER (SOL,              sol);
     REGISTER_MUXDEMUX(SOX,              sox);
+    REGISTER_MUXER   (SPX,              spx);
     REGISTER_MUXDEMUX(SPDIF,            spdif);
     REGISTER_MUXDEMUX(SRT,              srt);
     REGISTER_DEMUXER (STR,              str);
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 19c7759..8ef6765 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -627,11 +627,12 @@ static int ogg_write_trailer(AVFormatContext *s)
     return 0;
 }
 
+#if CONFIG_OGG_MUXER
 AVOutputFormat ff_ogg_muxer = {
     .name              = "ogg",
     .long_name         = NULL_IF_CONFIG_SMALL("Ogg"),
     .mime_type         = "application/ogg",
-    .extensions        = "ogg,ogv,spx,opus",
+    .extensions        = "ogg,ogv",
     .priv_data_size    = sizeof(OGGContext),
     .audio_codec       = CONFIG_LIBVORBIS_ENCODER ?
                          AV_CODEC_ID_VORBIS : AV_CODEC_ID_FLAC,
@@ -642,3 +643,53 @@ AVOutputFormat ff_ogg_muxer = {
     .flags             = AVFMT_TS_NEGATIVE | AVFMT_ALLOW_FLUSH,
     .priv_class        = &ogg_muxer_class,
 };
+#endif
+
+#if CONFIG_OGA_MUXER
+AVOutputFormat ff_oga_muxer = {
+    .name              = "oga",
+    .long_name         = NULL_IF_CONFIG_SMALL("Ogg Audio"),
+    .mime_type         = "audio/ogg",
+    .extensions        = "oga",
+    .priv_data_size    = sizeof(OGGContext),
+    .audio_codec       = CONFIG_LIBVORBIS_ENCODER ?
+                         AV_CODEC_ID_VORBIS : AV_CODEC_ID_FLAC,
+    .write_header      = ogg_write_header,
+    .write_packet      = ogg_write_packet,
+    .write_trailer     = ogg_write_trailer,
+    .flags             = AVFMT_TS_NEGATIVE | AVFMT_ALLOW_FLUSH,
+    .priv_class        = &ogg_muxer_class,
+};
+#endif
+
+#if CONFIG_SPX_MUXER
+AVOutputFormat ff_spx_muxer = {
+    .name              = "spx",
+    .long_name         = NULL_IF_CONFIG_SMALL("Ogg Speex"),
+    .mime_type         = "audio/ogg",
+    .extensions        = "spx",
+    .priv_data_size    = sizeof(OGGContext),
+    .audio_codec       = AV_CODEC_ID_SPEEX,
+    .write_header      = ogg_write_header,
+    .write_packet      = ogg_write_packet,
+    .write_trailer     = ogg_write_trailer,
+    .flags             = AVFMT_TS_NEGATIVE | AVFMT_ALLOW_FLUSH,
+    .priv_class        = &ogg_muxer_class,
+};
+#endif
+
+#if CONFIG_OPUS_MUXER
+AVOutputFormat ff_opus_muxer = {
+    .name              = "opus",
+    .long_name         = NULL_IF_CONFIG_SMALL("Ogg Opus"),
+    .mime_type         = "audio/ogg",
+    .extensions        = "opus",
+    .priv_data_size    = sizeof(OGGContext),
+    .audio_codec       = AV_CODEC_ID_OPUS,
+    .write_header      = ogg_write_header,
+    .write_packet      = ogg_write_packet,
+    .write_trailer     = ogg_write_trailer,
+    .flags             = AVFMT_TS_NEGATIVE | AVFMT_ALLOW_FLUSH,
+    .priv_class        = &ogg_muxer_class,
+};
+#endif
diff --git a/libavformat/version.h b/libavformat/version.h
index 181d268..7b1acd6 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -30,7 +30,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVFORMAT_VERSION_MAJOR 56
-#define LIBAVFORMAT_VERSION_MINOR  1
+#define LIBAVFORMAT_VERSION_MINOR  2
 #define LIBAVFORMAT_VERSION_MICRO  0
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \



More information about the ffmpeg-cvslog mailing list