1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-11-29 05:57:37 +02:00

libavformat/oggdec.{c, h}: Implement packet skip on packet return value of 1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Romain Beauxis
2025-05-09 18:43:22 -05:00
committed by Michael Niedermayer
parent 6d54af6599
commit a9d39d6eb9
2 changed files with 15 additions and 8 deletions

View File

@@ -605,20 +605,26 @@ static int ogg_packet(AVFormatContext *s, int *sid, int *dstart, int *dsize,
} else {
os->pflags = 0;
os->pduration = 0;
ret = 0;
if (os->codec && os->codec->packet) {
if ((ret = os->codec->packet(s, idx)) < 0) {
av_log(s, AV_LOG_ERROR, "Packet processing failed: %s\n", av_err2str(ret));
return ret;
}
}
if (sid)
*sid = idx;
if (dstart)
*dstart = os->pstart;
if (dsize)
*dsize = os->psize;
if (fpos)
*fpos = os->sync_pos;
if (!ret) {
if (sid)
*sid = idx;
if (dstart)
*dstart = os->pstart;
if (dsize)
*dsize = os->psize;
if (fpos)
*fpos = os->sync_pos;
}
os->pstart += os->psize;
os->psize = 0;
if(os->pstart == os->bufpos)