[FFmpeg-cvslog] r19215 - trunk/libavformat/mpegenc.c
rbultje
subversion
Wed Jun 17 21:04:02 CEST 2009
Author: rbultje
Date: Wed Jun 17 21:04:02 2009
New Revision: 19215
Log:
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.
Modified:
trunk/libavformat/mpegenc.c
Modified: trunk/libavformat/mpegenc.c
==============================================================================
--- trunk/libavformat/mpegenc.c Wed Jun 17 09:05:17 2009 (r19214)
+++ trunk/libavformat/mpegenc.c Wed Jun 17 21:04:02 2009 (r19215)
@@ -304,9 +304,14 @@ static int mpeg_mux_init(AVFormatContext
(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;
More information about the ffmpeg-cvslog
mailing list