[FFmpeg-devel] [PATCH] avformat/oggenc: ignore empty packets

James Almer jamrial at gmail.com
Sat Dec 10 02:48:43 EET 2022


Some encoders, like flac, can send side data only packets at the end.
Eventually, said extradata update should ideally be used to update the header
when writting to seekable output, but for now, ignore them.

Should fix the undefined behavior of passing NULL to memcpy().

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

diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index ae0705ba54..5003314adb 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -687,7 +687,7 @@ static int ogg_write_packet(AVFormatContext *s, AVPacket *pkt)
 {
     int i;
 
-    if (pkt)
+    if (pkt && pkt->size)
         return ogg_write_packet_internal(s, pkt);
 
     for (i = 0; i < s->nb_streams; i++) {
diff --git a/tests/ref/lavf/ogg b/tests/ref/lavf/ogg
index 3ac10e6f7c..0796ff568a 100644
--- a/tests/ref/lavf/ogg
+++ b/tests/ref/lavf/ogg
@@ -1,3 +1,3 @@
-81b9366cacb23644c2803585dced9996 *tests/data/lavf/lavf.ogg
+507a906a705d16f3a3b0c4114c738110 *tests/data/lavf/lavf.ogg
 13516 tests/data/lavf/lavf.ogg
 tests/data/lavf/lavf.ogg CRC=0x3a1da17e
-- 
2.38.1



More information about the ffmpeg-devel mailing list