summaryrefslogtreecommitdiff
path: root/libavformat/spdifdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/spdifdec.c')
-rw-r--r--libavformat/spdifdec.c5
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;