diff options
author | James Almer <jamrial@gmail.com> | 2022-12-30 09:34:04 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2023-01-03 21:35:03 -0300 |
commit | a781279871e45e4fa085aa6a05f8e38f24124c40 (patch) | |
tree | 091046fa3a393d034dc7fcfd73af75c886c2d912 | |
parent | 99e3d26f2061541c772dcd678cbe8c48afa539c5 (diff) | |
download | ffmpeg-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.c | 4 | ||||
-rw-r--r-- | 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 |