diff --git a/libavformat/siff.c b/libavformat/siff.c index 83ff8be3c3..a7c3a8bacd 100644 --- a/libavformat/siff.c +++ b/libavformat/siff.c @@ -54,11 +54,11 @@ typedef struct SIFFContext { int has_audio; int curstrm; - int pktsize; + unsigned int pktsize; int gmcsize; int sndsize; - int flags; + unsigned int flags; uint8_t gmc[4]; } SIFFContext; @@ -192,9 +192,9 @@ static int siff_read_header(AVFormatContext *s) static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) { SIFFContext *c = s->priv_data; - int size; if (c->has_video) { + unsigned int size; if (c->cur_frame >= c->frames) return AVERROR_EOF; if (c->curstrm == -1) { @@ -224,10 +224,11 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->stream_index = 0; c->curstrm = -1; } else { - if ((size = av_get_packet(s->pb, pkt, c->sndsize - 4)) < 0) + int pktsize = av_get_packet(s->pb, pkt, c->sndsize - 4); + if (pktsize < 0) return AVERROR(EIO); pkt->stream_index = 1; - pkt->duration = size; + pkt->duration = pktsize; c->curstrm = 0; } if (!c->cur_frame || c->curstrm) @@ -235,12 +236,12 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) if (c->curstrm == -1) c->cur_frame++; } else { - size = av_get_packet(s->pb, pkt, c->block_align); - if (!size) + int pktsize = av_get_packet(s->pb, pkt, c->block_align); + if (!pktsize) return AVERROR_EOF; - if (size < 0) + if (pktsize <= 0) return AVERROR(EIO); - pkt->duration = size; + pkt->duration = pktsize; } return pkt->size; }