summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2022-12-09 21:48:43 -0300
committerJames Almer <jamrial@gmail.com>2022-12-27 11:03:18 -0300
commit18f24527eb4b520585e55f922cdbc234aa9f0f18 (patch)
treebeed668e491735510dd137b7d03900c583ddb14e
parentcd9dd0300639689630171893b3dfb6c9ba63a692 (diff)
avformat/oggenc: ignore empty packets
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@gmail.com>
-rw-r--r--libavformat/oggenc.c2
-rw-r--r--tests/ref/lavf/ogg2
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