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

James Almer git at videolan.org
Wed Jan 4 02:36:49 EET 2023


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Fri Dec 30 09:34:04 2022 -0300| [a781279871e45e4fa085aa6a05f8e38f24124c40] | committer: James Almer

avformat/oggenc: don't flush twice when the last packet is side data only

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>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a781279871e45e4fa085aa6a05f8e38f24124c40
---

 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



More information about the ffmpeg-cvslog mailing list