diff mbox series

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

Message ID 20221230123834.955-1-jamrial@gmail.com
State Accepted
Commit a781279871e45e4fa085aa6a05f8e38f24124c40
Headers show
Series [FFmpeg-devel] avformat/oggenc: don't flush twice when the last packet is side data only | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer Dec. 30, 2022, 12:38 p.m. UTC
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@gmail.com>
---
 libavformat/oggenc.c | 4 ++--
 tests/ref/lavf/ogg   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

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