X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fspdifdec.c;h=e39a30424778b12d86267316d8b0c1b6cf72b26b;hb=bc70684e74a185d7b80c8b80bdedda659cb581b8;hp=21bfce422696bf1b63e2a6942e0b112f9cb1d7bb;hpb=b8eb0827f053230dd919bc73e25381b47b4fe1a7;p=ffmpeg diff --git a/libavformat/spdifdec.c b/libavformat/spdifdec.c index 21bfce42269..e39a3042477 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; @@ -234,7 +231,7 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt) return 0; } -AVInputFormat ff_spdif_demuxer = { +const AVInputFormat ff_spdif_demuxer = { .name = "spdif", .long_name = NULL_IF_CONFIG_SMALL("IEC 61937 (compressed data in S/PDIF)"), .read_probe = spdif_probe,