aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2022-12-30 09:34:04 -0300
committerJames Almer <jamrial@gmail.com>2023-01-03 21:35:03 -0300
commita781279871e45e4fa085aa6a05f8e38f24124c40 (patch)
tree091046fa3a393d034dc7fcfd73af75c886c2d912
parent99e3d26f2061541c772dcd678cbe8c48afa539c5 (diff)
downloadffmpeg-a781279871e45e4fa085aa6a05f8e38f24124c40.tar.gz
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@gmail.com>
-rw-r--r--libavformat/oggenc.c4
-rw-r--r--tests/ref/lavf/ogg2
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