Browse Source

oggenc: Fix the EOS flag

This corrects the bug that caused the checksums to change in
9767d7c092.

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>
tags/n2.3
Michael Niedermayer Martin Storsjö 11 years ago
parent
commit
7dba055bb0
2 changed files with 3 additions and 3 deletions
  1. +2
    -2
      libavformat/oggenc.c
  2. +1
    -1
      tests/ref/lavf/ogg

+ 2
- 2
libavformat/oggenc.c View File

@@ -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;
}


+ 1
- 1
tests/ref/lavf/ogg View File

@@ -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

Loading…
Cancel
Save