all repos — mgba @ d03a4f08363b62c22cee630d7ee66a92896c8805

mGBA Game Boy Advance Emulator

FFmpeg: Disallow recording video with no audio nor video
Vicki Pfau vi@endrift.com
Sun, 02 Feb 2020 16:46:11 -0800
commit

d03a4f08363b62c22cee630d7ee66a92896c8805

parent

74981b1d362ec911a4f8a5e2ea59a919e788582c

2 files changed, 2 insertions(+), 1 deletions(-)

jump to
M CHANGESCHANGES

@@ -11,6 +11,7 @@ Other fixes:

- Core: Fix race condition initializing thread proxy - Core: Fix integer overflow in ELF loading - FFmpeg: Fix crash when -strict -2 is needed for vcodec or container + - FFmpeg: Disallow recording video with no audio nor video - Qt: Only dynamically reset video scale if a game is running - Qt: Fix race condition with proxied video events - Qt: Fix color selection in asset view (fixes mgba.io/i/1648)
M src/feature/ffmpeg/ffmpeg-encoder.csrc/feature/ffmpeg/ffmpeg-encoder.c

@@ -232,7 +232,7 @@ bool FFmpegEncoderVerifyContainer(struct FFmpegEncoder* encoder) {

AVOutputFormat* oformat = av_guess_format(encoder->containerFormat, 0, 0); AVCodec* acodec = avcodec_find_encoder_by_name(encoder->audioCodec); AVCodec* vcodec = avcodec_find_encoder_by_name(encoder->videoCodec); - if ((encoder->audioCodec && !acodec) || (encoder->videoCodec && !vcodec) || !oformat) { + if ((encoder->audioCodec && !acodec) || (encoder->videoCodec && !vcodec) || !oformat || (!acodec && !vcodec)) { return false; } if (encoder->audioCodec && !avformat_query_codec(oformat, acodec->id, FF_COMPLIANCE_EXPERIMENTAL)) {