rmdec: don't ignore the return value of av_get_packet()

This commit is contained in:
Sean McGovern 2017-07-12 19:45:46 -04:00
parent 825e463a17
commit 95ce02b35d
1 changed files with 14 additions and 5 deletions

View File

@ -722,6 +722,7 @@ ff_rm_parse_packet (AVFormatContext *s, AVIOContext *pb,
int *seq, int flags, int64_t timestamp)
{
RMDemuxContext *rm = s->priv_data;
int ret;
if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
rm->current_stream= st->id;
@ -778,11 +779,15 @@ ff_rm_parse_packet (AVFormatContext *s, AVIOContext *pb,
} else
return -1;
} else {
av_get_packet(pb, pkt, len);
ret = av_get_packet(pb, pkt, len);
if (ret < 0)
return ret;
rm_ac3_swap_bytes(st, pkt);
}
} else
av_get_packet(pb, pkt, len);
ret = av_get_packet(pb, pkt, len);
if (ret < 0)
return ret;
pkt->stream_index = st->index;
@ -798,14 +803,18 @@ ff_rm_retrieve_cache (AVFormatContext *s, AVIOContext *pb,
AVStream *st, RMStream *ast, AVPacket *pkt)
{
RMDemuxContext *rm = s->priv_data;
int ret;
assert (rm->audio_pkt_cnt > 0);
if (ast->deint_id == DEINT_ID_VBRF ||
ast->deint_id == DEINT_ID_VBRS)
av_get_packet(pb, pkt, ast->sub_packet_lengths[ast->sub_packet_cnt - rm->audio_pkt_cnt]);
ast->deint_id == DEINT_ID_VBRS) {
ret = av_get_packet(pb, pkt, ast->sub_packet_lengths[ast->sub_packet_cnt - rm->audio_pkt_cnt]);
if (ret < 0)
return ret;
}
else {
int ret = av_new_packet(pkt, st->codecpar->block_align);
ret = av_new_packet(pkt, st->codecpar->block_align);
if (ret < 0)
return ret;
memcpy(pkt->data, ast->pkt.data + st->codecpar->block_align * //FIXME avoid this