}
/* load up the packet */
- if (av_new_packet(pkt, chunk_size + RoQ_CHUNK_PREAMBLE_SIZE))
- return AVERROR(EIO);
+ ret = av_new_packet(pkt, chunk_size + RoQ_CHUNK_PREAMBLE_SIZE);
+ if (ret < 0)
+ return ret;
/* copy over preamble */
memcpy(pkt->data, preamble, RoQ_CHUNK_PREAMBLE_SIZE);
ret = avio_read(pb, pkt->data + RoQ_CHUNK_PREAMBLE_SIZE,
chunk_size);
if (ret != chunk_size) {
- av_packet_unref(pkt);
- ret = AVERROR(EIO);
+ return AVERROR(EIO);
}
packet_read = 1;