From: Romain Beauxis <romain.beauxis@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: Romain Beauxis <romain.beauxis@gmail.com> Subject: [FFmpeg-devel] [PATCH v5 2/7] libavformat/oggdec.{c, h}: Implement packet skip on packet return value of 1 Date: Fri, 9 May 2025 18:43:22 -0500 Message-ID: <20250509234327.71039-3-romain.beauxis@gmail.com> (raw) In-Reply-To: <20250509234327.71039-1-romain.beauxis@gmail.com> --- libavformat/oggdec.c | 22 ++++++++++++++-------- libavformat/oggdec.h | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index 5339fdd32c..9baf8040a9 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -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) diff --git a/libavformat/oggdec.h b/libavformat/oggdec.h index 5225b77a07..bc670d0f1e 100644 --- a/libavformat/oggdec.h +++ b/libavformat/oggdec.h @@ -43,6 +43,7 @@ struct ogg_codec { * @return < 0 (AVERROR) code or -1 on error * == 0 if the packet was a regular data packet. * == 0 or 1 if the packet was a header from a chained bitstream. + * (1 will cause the packet to be skiped in calling code (ogg_packet()) */ int (*packet)(AVFormatContext *, int); /** -- 2.39.5 (Apple Git-154) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-05-09 23:44 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-05-09 23:43 [FFmpeg-devel] [PATCH v5 0/7] Remove chained ogg stream header packets from the demuxer Romain Beauxis 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 1/7] libavformat/oggdec.h: Document packet function return value Romain Beauxis 2025-05-14 22:32 ` Michael Niedermayer 2025-05-16 17:39 ` Romain Beauxis 2025-05-17 22:08 ` Michael Niedermayer 2025-05-09 23:43 ` Romain Beauxis [this message] 2025-05-14 22:34 ` [FFmpeg-devel] [PATCH v5 2/7] libavformat/oggdec.{c, h}: Implement packet skip on packet return value of 1 Michael Niedermayer 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 3/7] ogg/opus: implement header packet skip in chained ogg bitstreams Romain Beauxis 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 4/7] ogg/flac: " Romain Beauxis 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 5/7] libavformat/oggdec.{c, h}: Add new_extradata, use it to pass extradata to the next decoded packet Romain Beauxis 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 6/7] ogg/vorbis: implement header packet skip in chained ogg bitstreams Romain Beauxis 2025-05-13 19:23 ` Michael Niedermayer 2025-05-17 18:10 ` Romain Beauxis 2025-05-17 22:07 ` Michael Niedermayer 2025-05-19 14:40 ` Romain Beauxis 2025-05-09 23:43 ` [FFmpeg-devel] [PATCH v5 7/7] libavformat/oggdec.h: Change paket function documentation to return 1 on header packets only Romain Beauxis
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20250509234327.71039-3-romain.beauxis@gmail.com \ --to=romain.beauxis@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git