--- configure | 5 +++++ libavformat/Makefile | 4 ++-- libavformat/allformats.c | 3 +++ libavformat/oggenc.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 62 insertions(+), 3 deletions(-)
diff --git a/configure b/configure index c073f30..a35ccb6 100755 --- a/configure +++ b/configure @@ -1570,6 +1570,7 @@ CONFIG_EXTRA=" mpegvideo mpegvideoenc nettle + oggenc pixblockdsp qpeldsp rangecoder @@ -2047,7 +2048,10 @@ mpegtsraw_demuxer_select="mpegts_demuxer" mxf_d10_muxer_select="mxf_muxer" nut_muxer_select="riffenc" nuv_demuxer_select="riffdec" +oga_muxer_select="oggenc" ogg_demuxer_select="golomb" +ogg_muxer_select="oggenc" +opus_muxer_select="oggenc" psp_muxer_select="mov_muxer" rtp_demuxer_select="sdp_demuxer" rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer" @@ -2058,6 +2062,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="oggenc" tak_demuxer_select="tak_parser" tg2_muxer_select="mov_muxer" tgp_muxer_select="mov_muxer" diff --git a/libavformat/Makefile b/libavformat/Makefile index a048157..88ebee2 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -23,6 +23,8 @@ OBJS = allformats.o \ url.o \ utils.o \ +OBJS-$(CONFIG_OGGENC) += oggenc.o \ + vorbiscomment.o OBJS-$(CONFIG_NETWORK) += network.o OBJS-$(CONFIG_RIFFDEC) += riffdec.o OBJS-$(CONFIG_RIFFENC) += riffenc.o @@ -225,8 +227,6 @@ OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \ replaygain.o \ vorbiscomment.o \ flac_picture.o -OBJS-$(CONFIG_OGG_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_PAF_DEMUXER) += paf.o 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 -- 1.9.0 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel