ret = av_append_packet(s->pb, pkt, ff_id3v2_tag_len(pkt->data) - pkt->size);
if (ret < 0) {
- av_packet_unref(pkt);
return ret;
}
return ret;
if (ret < ADTS_HEADER_SIZE) {
- av_packet_unref(pkt);
return AVERROR(EIO);
}
av_assert2(append > 0);
ret = av_append_packet(s->pb, pkt, append);
if (ret != append) {
- av_packet_unref(pkt);
return AVERROR(EIO);
}
if (!ff_id3v2_match(pkt->data, ID3v2_DEFAULT_MAGIC)) {
fsize = (AV_RB32(pkt->data + 3) >> 13) & 0x1FFF;
if (fsize < ADTS_HEADER_SIZE) {
- av_packet_unref(pkt);
return AVERROR_INVALIDDATA;
}
ret = av_append_packet(s->pb, pkt, fsize - pkt->size);
- if (ret < 0)
- av_packet_unref(pkt);
return ret;
}