avformat/oggparsevorbis: Dont attempt to calculate timestamps from gp=0

Fixes Ticket3710

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/76/merge
Michael Niedermayer 11 years ago
parent 5c57e2b51b
commit 27b8ef5bb7
  1. 4
      libavformat/oggparsevorbis.c

@ -427,6 +427,10 @@ static int vorbis_packet(AVFormatContext *s, int idx)
} }
os->lastpts = os->lastpts =
os->lastdts = os->granule - duration; os->lastdts = os->granule - duration;
if (!os->granule && duration) //hack to deal with broken files (Ticket3710)
os->lastpts = os->lastdts = AV_NOPTS_VALUE;
if (s->streams[idx]->start_time == AV_NOPTS_VALUE) { if (s->streams[idx]->start_time == AV_NOPTS_VALUE) {
s->streams[idx]->start_time = FFMAX(os->lastpts, 0); s->streams[idx]->start_time = FFMAX(os->lastpts, 0);
if (s->streams[idx]->duration != AV_NOPTS_VALUE) if (s->streams[idx]->duration != AV_NOPTS_VALUE)

Loading…
Cancel
Save