siff: Use the correct type for packet size variables

The avio functions used here return an unsigned value.
Also reduce a variable scope.

CC: libav-stable@libav.org
Bug-Id: CID 1258461
This commit is contained in:
Vittorio Giovara 2015-03-08 23:59:58 +00:00
parent 9f25a10992
commit ad94c6ca0b
1 changed files with 9 additions and 8 deletions

View File

@ -53,11 +53,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;
@ -189,9 +189,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(EIO);
if (c->curstrm == -1) {
@ -215,10 +215,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)
@ -226,10 +227,10 @@ 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 <= 0)
int pktsize = av_get_packet(s->pb, pkt, c->block_align);
if (pktsize <= 0)
return AVERROR(EIO);
pkt->duration = size;
pkt->duration = pktsize;
}
return pkt->size;
}