diff options
Diffstat (limited to 'libavformat/spdifdec.c')
-rw-r--r-- | libavformat/spdifdec.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/libavformat/spdifdec.c b/libavformat/spdifdec.c index d74f58d82b..1808fa9d65 100644 --- a/libavformat/spdifdec.c +++ b/libavformat/spdifdec.c @@ -197,15 +197,13 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->pos = avio_tell(pb) - BURST_HEADER_SIZE; if (avio_read(pb, pkt->data, pkt->size) < pkt->size) { - av_packet_unref(pkt); return AVERROR_EOF; } ff_spdif_bswap_buf16((uint16_t *)pkt->data, (uint16_t *)pkt->data, pkt->size >> 1); ret = spdif_get_offset_and_codec(s, data_type, pkt->data, &offset, &codec_id); - if (ret) { - av_packet_unref(pkt); + if (ret < 0) { return ret; } @@ -216,7 +214,6 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt) /* first packet, create a stream */ AVStream *st = avformat_new_stream(s, NULL); if (!st) { - av_packet_unref(pkt); return AVERROR(ENOMEM); } st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; |