Commit 37f0dbbc authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avformat: Enforce codec_id where appropriate

E.g. chromaprint expects to be fed 16bit signed PCM
in native endianness, yet there was no check for this.
Similarly for other muxers. Use the new
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS to enfore this where
appropriate, e.g. for pcm/raw muxers.
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
parent 2ccb4551
...@@ -179,7 +179,8 @@ const FFOutputFormat ff_chromaprint_muxer = { ...@@ -179,7 +179,8 @@ const FFOutputFormat ff_chromaprint_muxer = {
.p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE), .p.audio_codec = AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE),
.p.video_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = write_header, .write_header = write_header,
.write_packet = write_packet, .write_packet = write_packet,
.write_trailer = write_trailer, .write_trailer = write_trailer,
......
...@@ -64,7 +64,8 @@ const FFOutputFormat ff_daud_muxer = { ...@@ -64,7 +64,8 @@ const FFOutputFormat ff_daud_muxer = {
.p.video_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.p.flags = AVFMT_NOTIMESTAMPS, .p.flags = AVFMT_NOTIMESTAMPS,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.init = daud_init, .init = daud_init,
.write_packet = daud_write_packet, .write_packet = daud_write_packet,
}; };
...@@ -67,7 +67,8 @@ const FFOutputFormat ff_filmstrip_muxer = { ...@@ -67,7 +67,8 @@ const FFOutputFormat ff_filmstrip_muxer = {
.p.audio_codec = AV_CODEC_ID_NONE, .p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_RAWVIDEO, .p.video_codec = AV_CODEC_ID_RAWVIDEO,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = write_header, .write_header = write_header,
.write_packet = ff_raw_write_packet, .write_packet = ff_raw_write_packet,
.write_trailer = write_trailer, .write_trailer = write_trailer,
......
...@@ -199,7 +199,8 @@ const FFOutputFormat ff_fits_muxer = { ...@@ -199,7 +199,8 @@ const FFOutputFormat ff_fits_muxer = {
.p.audio_codec = AV_CODEC_ID_NONE, .p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_FITS, .p.video_codec = AV_CODEC_ID_FITS,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.priv_data_size = sizeof(FITSContext), .priv_data_size = sizeof(FITSContext),
.write_header = fits_write_header, .write_header = fits_write_header,
.write_packet = fits_write_packet, .write_packet = fits_write_packet,
......
...@@ -67,7 +67,8 @@ const FFOutputFormat ff_roq_muxer = { ...@@ -67,7 +67,8 @@ const FFOutputFormat ff_roq_muxer = {
.p.audio_codec = AV_CODEC_ID_ROQ_DPCM, .p.audio_codec = AV_CODEC_ID_ROQ_DPCM,
.p.video_codec = AV_CODEC_ID_ROQ, .p.video_codec = AV_CODEC_ID_ROQ,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = roq_write_header, .write_header = roq_write_header,
.write_packet = ff_raw_write_packet, .write_packet = ff_raw_write_packet,
}; };
...@@ -39,7 +39,8 @@ const FFOutputFormat ff_jacosub_muxer = { ...@@ -39,7 +39,8 @@ const FFOutputFormat ff_jacosub_muxer = {
.p.video_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_NONE,
.p.audio_codec = AV_CODEC_ID_NONE, .p.audio_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_JACOSUB, .p.subtitle_codec = AV_CODEC_ID_JACOSUB,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = jacosub_write_header, .write_header = jacosub_write_header,
.write_packet = ff_raw_write_packet, .write_packet = ff_raw_write_packet,
}; };
...@@ -320,7 +320,8 @@ const FFOutputFormat ff_mmf_muxer = { ...@@ -320,7 +320,8 @@ const FFOutputFormat ff_mmf_muxer = {
.p.audio_codec = AV_CODEC_ID_ADPCM_YAMAHA, .p.audio_codec = AV_CODEC_ID_ADPCM_YAMAHA,
.p.video_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = mmf_write_header, .write_header = mmf_write_header,
.write_packet = ff_raw_write_packet, .write_packet = ff_raw_write_packet,
.write_trailer = mmf_write_trailer, .write_trailer = mmf_write_trailer,
......
...@@ -70,6 +70,8 @@ const FFOutputFormat ff_mpjpeg_muxer = { ...@@ -70,6 +70,8 @@ const FFOutputFormat ff_mpjpeg_muxer = {
.priv_data_size = sizeof(MPJPEGContext), .priv_data_size = sizeof(MPJPEGContext),
.p.audio_codec = AV_CODEC_ID_NONE, .p.audio_codec = AV_CODEC_ID_NONE,
.p.video_codec = AV_CODEC_ID_MJPEG, .p.video_codec = AV_CODEC_ID_MJPEG,
.p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.write_header = mpjpeg_write_header, .write_header = mpjpeg_write_header,
.write_packet = mpjpeg_write_packet, .write_packet = mpjpeg_write_packet,
.p.flags = AVFMT_NOTIMESTAMPS, .p.flags = AVFMT_NOTIMESTAMPS,
......
...@@ -35,7 +35,8 @@ const FFOutputFormat ff_pcm_ ## name_ ## _muxer = { \ ...@@ -35,7 +35,8 @@ const FFOutputFormat ff_pcm_ ## name_ ## _muxer = { \
.p.video_codec = AV_CODEC_ID_NONE, \ .p.video_codec = AV_CODEC_ID_NONE, \
.p.subtitle_codec = AV_CODEC_ID_NONE, \ .p.subtitle_codec = AV_CODEC_ID_NONE, \
.p.flags = AVFMT_NOTIMESTAMPS, \ .p.flags = AVFMT_NOTIMESTAMPS, \
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, \ .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH | \
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS, \
.write_packet = ff_raw_write_packet, \ .write_packet = ff_raw_write_packet, \
}; };
#define PCMDEF_2(name, long_name, ext, codec, enabled) \ #define PCMDEF_2(name, long_name, ext, codec, enabled) \
......
This diff is collapsed.
...@@ -169,7 +169,8 @@ const FFOutputFormat ff_tta_muxer = { ...@@ -169,7 +169,8 @@ const FFOutputFormat ff_tta_muxer = {
.p.audio_codec = AV_CODEC_ID_TTA, .p.audio_codec = AV_CODEC_ID_TTA,
.p.video_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
.init = tta_init, .init = tta_init,
.deinit = tta_deinit, .deinit = tta_deinit,
.write_header = tta_write_header, .write_header = tta_write_header,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment