[FFmpeg-devel] [PATCH] avformat/oggenc: don't flush twice when the last packet is side data only

James Almer jamrial at gmail.com
Fri Dec 30 14:38:34 EET 2022


Commit 18f24527eb accidentally made side data only packets be handled like a
flush request. Fix this regression by effectively ignoring them as was the
original intention.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/oggenc.c | 4 ++--
 tests/ref/lavf/ogg   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 5003314adb..458b2a9bdc 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -687,8 +687,8 @@ static int ogg_write_packet(AVFormatContext *s, AVPacket *pkt)
 {
     int i;
 
-    if (pkt && pkt->size)
-        return ogg_write_packet_internal(s, pkt);
+    if (pkt)
+        return pkt->size ? ogg_write_packet_internal(s, pkt) : 0;
 
     for (i = 0; i < s->nb_streams; i++) {
         OGGStreamContext *oggstream = s->streams[i]->priv_data;
diff --git a/tests/ref/lavf/ogg b/tests/ref/lavf/ogg
index 0796ff568a..3ac10e6f7c 100644
--- a/tests/ref/lavf/ogg
+++ b/tests/ref/lavf/ogg
@@ -1,3 +1,3 @@
-507a906a705d16f3a3b0c4114c738110 *tests/data/lavf/lavf.ogg
+81b9366cacb23644c2803585dced9996 *tests/data/lavf/lavf.ogg
 13516 tests/data/lavf/lavf.ogg
 tests/data/lavf/lavf.ogg CRC=0x3a1da17e
-- 
2.39.0



More information about the ffmpeg-devel mailing list