Commit 5ffd35b3 authored by rbultje's avatar rbultje

Set restrictions on packet_size, as per ISO-11172 / H-222 specifications

(max packet size should fit in 13 bits as a kB value, so 1<<23, plus the
header which is 10 bytes), and as per mpegenc.c internal assumptions
(min packet size is 20 bytes). See "[PATCH] make packet_size in
AVFormatContext unsigned" thread.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@19215 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 7796d7b5
......@@ -304,9 +304,14 @@ static int mpeg_mux_init(AVFormatContext *ctx)
(CONFIG_MPEG2SVCD_MUXER && ctx->oformat == &mpeg2svcd_muxer));
s->is_dvd = (CONFIG_MPEG2DVD_MUXER && ctx->oformat == &mpeg2dvd_muxer);
if(ctx->packet_size)
if(ctx->packet_size) {
if (ctx->packet_size < 20 || ctx->packet_size > (1 << 23) + 10) {
av_log(ctx, AV_LOG_ERROR, "Invalid packet size %d\n",
ctx->packet_size);
goto fail;
}
s->packet_size = ctx->packet_size;
else
} else
s->packet_size = 2048;
s->vcd_padding_bytes_written = 0;
......
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