[FFmpeg-devel] [PATCH 1/5] avformat/wav: prevent muxing adpcm_swf with a variable block size
Zane van Iperen
zane at zanevaniperen.com
Fri Oct 16 09:22:22 EEST 2020
Prefer to error than to create a broken file. Closes ticket #5829.
Effectively disables remuxing adpcm_swf from flv -> wav.
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>
---
libavformat/wavenc.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c
index 1027f107ee..fe7afa03a0 100644
--- a/libavformat/wavenc.c
+++ b/libavformat/wavenc.c
@@ -303,6 +303,13 @@ static int wav_write_header(AVFormatContext *s)
return AVERROR(EINVAL);
}
+ if (s->streams[0]->codecpar->codec_id == AV_CODEC_ID_ADPCM_SWF &&
+ s->streams[0]->codecpar->block_align == 0) {
+ av_log(s, AV_LOG_ERROR, "%s can only be written to WAVE with a constant frame size\n",
+ avcodec_get_name(s->streams[0]->codecpar->codec_id));
+ return AVERROR(EINVAL);
+ }
+
if (wav->rf64 == RF64_ALWAYS) {
ffio_wfourcc(pb, "RF64");
avio_wl32(pb, -1); /* RF64 chunk size: use size in ds64 */
--
2.25.4
More information about the ffmpeg-devel
mailing list