diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-05-28 10:27:40 -0700 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2014-05-28 21:51:38 +0300 |
commit | 7dba055bb0d31b2c79d9c3a66abb849a71417d3c (patch) | |
tree | 0cd35d2d66645f25b2aef5c4070f8c1b6740e7f1 | |
parent | b5aa48551300eed678aaea86ced7086758598a35 (diff) | |
download | ffmpeg-7dba055bb0d31b2c79d9c3a66abb849a71417d3c.tar.gz |
oggenc: Fix the EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092c890ecc5953452e8a951fd902dd67b.
It caused the EOS flag to be set incorrectly; the ogg spec does not
allow it to be set in the middle of a logical bitstream.
Signed-off-by: Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
-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 97aba34a69..c30315a920 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -401,7 +401,7 @@ static void ogg_write_pages(AVFormatContext *s, int flush) if (oggstream->page_count < 2 && !flush) break; ogg_write_page(s, &p->page, - flush && oggstream->page_count == 1 ? 4 : 0); // eos + flush == 1 && oggstream->page_count == 1 ? 4 : 0); // eos next = p->next; av_freep(&p); p = next; @@ -540,7 +540,7 @@ static int ogg_write_header(AVFormatContext *s) oggstream->page.start_granule = AV_NOPTS_VALUE; - ogg_write_pages(s, 1); + ogg_write_pages(s, 2); return 0; } diff --git a/tests/ref/lavf/ogg b/tests/ref/lavf/ogg index ca62b2650a..ea827acd4c 100644 --- a/tests/ref/lavf/ogg +++ b/tests/ref/lavf/ogg @@ -1,3 +1,3 @@ -3c41e917d95f925eaa8f2e31972edcfa *./tests/data/lavf/lavf.ogg +8ca901bc8d24b80ebe79e387e454d1e9 *./tests/data/lavf/lavf.ogg 13476 ./tests/data/lavf/lavf.ogg ./tests/data/lavf/lavf.ogg CRC=0x3a1da17e |