X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fspdifdec.c;h=1808fa9d65dc80130f778d3339d079d137ceff06;hb=ef6a9e5e311f09fa8032974fa4d0c1e166a959bb;hp=21bfce422696bf1b63e2a6942e0b112f9cb1d7bb;hpb=7167ac33a8f2c7d063384c267f984f23d2b73854;p=ffmpeg diff --git a/libavformat/spdifdec.c b/libavformat/spdifdec.c index 21bfce42269..1808fa9d65d 100644 --- a/libavformat/spdifdec.c +++ b/libavformat/spdifdec.c @@ -107,7 +107,7 @@ static int spdif_get_offset_and_codec(AVFormatContext *s, samples = 4096 */ #define SPDIF_MAX_OFFSET 16384 -static int spdif_probe(AVProbeData *p) +static int spdif_probe(const AVProbeData *p) { enum AVCodecID codec; return ff_spdif_probe (p->buf, p->buf_size, &codec); @@ -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;