RFC 5334 recommendens this extension to go alongside the video/ogg mimetype for video files, with or without audio and subtitles [1].
[1] https://tools.ietf.org/html/rfc5334#section-10.2 Signed-off-by: James Almer <jamr...@gmail.com> --- TODO: Version bump and changelog entry. configure | 1 + libavformat/allformats.c | 1 + libavformat/oggenc.c | 21 ++++++++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 126d0d6..14dde90 100755 --- a/configure +++ b/configure @@ -2854,6 +2854,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/allformats.c b/libavformat/allformats.c index d490cc4..418dfff 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 2dcab15..1acde18 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -660,7 +660,7 @@ AVOutputFormat ff_ogg_muxer = { .name = "ogg", .long_name = NULL_IF_CONFIG_SMALL("Ogg"), .mime_type = "audio/ogg", - .extensions = "ogg,ogv" + .extensions = "ogg" #if !CONFIG_SPX_MUXER ",spx" #endif @@ -695,6 +695,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 = { -- 2.9.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel