X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fpva.c;h=8e3013a4964936ad78e8594f6670faa75b45a4af;hb=9e13df3776da3a101e895e2840f6f23f5a6f74a0;hp=16381db9054f4062b5486e11d0bb17914f33adc7;hpb=061337a073236cb0bc6c56036f50f883d2887681;p=ffmpeg diff --git a/libavformat/pva.c b/libavformat/pva.c index 16381db9054..8e3013a4964 100644 --- a/libavformat/pva.c +++ b/libavformat/pva.c @@ -40,7 +40,7 @@ static int pva_check(const uint8_t *p) { return length + 8; } -static int pva_probe(AVProbeData * pd) { +static int pva_probe(const AVProbeData * pd) { const unsigned char *buf = pd->buf; int len = pva_check(buf); @@ -134,6 +134,10 @@ recover: pes_flags = avio_rb16(pb); pes_header_data_length = avio_r8(pb); + if (avio_feof(pb)) { + return AVERROR_EOF; + } + if (pes_signal != 1 || pes_header_data_length == 0) { pva_log(s, AV_LOG_WARNING, "expected non empty signaled PES packet, " "trying to recover\n"); @@ -223,7 +227,7 @@ static int64_t pva_read_timestamp(struct AVFormatContext *s, int stream_index, return res; } -AVInputFormat ff_pva_demuxer = { +const AVInputFormat ff_pva_demuxer = { .name = "pva", .long_name = NULL_IF_CONFIG_SMALL("TechnoTrend PVA"), .priv_data_size = sizeof(PVAContext),