mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
parent
b5aa485513
commit
7dba055bb0
@ -401,7 +401,7 @@ static void ogg_write_pages(AVFormatContext *s, int flush)
|
|||||||
if (oggstream->page_count < 2 && !flush)
|
if (oggstream->page_count < 2 && !flush)
|
||||||
break;
|
break;
|
||||||
ogg_write_page(s, &p->page,
|
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;
|
next = p->next;
|
||||||
av_freep(&p);
|
av_freep(&p);
|
||||||
p = next;
|
p = next;
|
||||||
@ -540,7 +540,7 @@ static int ogg_write_header(AVFormatContext *s)
|
|||||||
|
|
||||||
oggstream->page.start_granule = AV_NOPTS_VALUE;
|
oggstream->page.start_granule = AV_NOPTS_VALUE;
|
||||||
|
|
||||||
ogg_write_pages(s, 1);
|
ogg_write_pages(s, 2);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
3c41e917d95f925eaa8f2e31972edcfa *./tests/data/lavf/lavf.ogg
|
8ca901bc8d24b80ebe79e387e454d1e9 *./tests/data/lavf/lavf.ogg
|
||||||
13476 ./tests/data/lavf/lavf.ogg
|
13476 ./tests/data/lavf/lavf.ogg
|
||||||
./tests/data/lavf/lavf.ogg CRC=0x3a1da17e
|
./tests/data/lavf/lavf.ogg CRC=0x3a1da17e
|
||||||
|
Loading…
Reference in New Issue
Block a user