summaryrefslogtreecommitdiff
path: root/libavformat/avienc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-10-01 03:48:33 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-10-01 03:48:33 +0200
commit9cb9e39c41959961bdb5a1fd51cdd25e10c050f3 (patch)
tree541a7e056b8f7b64ad995a875b22413747a492d3 /libavformat/avienc.c
parent8447703c16b9e6fdc48ce92553ec1cfa2e359b84 (diff)
avienc: Add a limit on the number of skiped frames muxed in a row.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avienc.c')
-rw-r--r--libavformat/avienc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index b6b3f2192e..b4dc65c243 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -523,6 +523,11 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt)
while(enc->block_align==0 && pkt->dts != AV_NOPTS_VALUE && pkt->dts > avist->packet_count){
AVPacket empty_packet;
+ if(pkt->dts - avist->packet_count > 60000){
+ av_log(s, AV_LOG_ERROR, "Too large number of skiped frames %Ld\n", pkt->dts - avist->packet_count);
+ return AVERROR(EINVAL);
+ }
+
av_init_packet(&empty_packet);
empty_packet.size= 0;
empty_packet.data= NULL;