mirror of https://git.ffmpeg.org/ffmpeg.git
oggenc: Move ogg_write_pages up above ogg_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
512f3ffe9b
commit
1d3eb0b573
|
@ -388,6 +388,28 @@ static int ogg_build_opus_headers(AVCodecContext *avctx,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void ogg_write_pages(AVFormatContext *s, int flush)
|
||||
{
|
||||
OGGContext *ogg = s->priv_data;
|
||||
OGGPageList *next, *p;
|
||||
|
||||
if (!ogg->page_list)
|
||||
return;
|
||||
|
||||
for (p = ogg->page_list; p; ) {
|
||||
OGGStreamContext *oggstream =
|
||||
s->streams[p->page.stream_index]->priv_data;
|
||||
if (oggstream->page_count < 2 && !flush)
|
||||
break;
|
||||
ogg_write_page(s, &p->page,
|
||||
flush && oggstream->page_count == 1 ? 4 : 0); // eos
|
||||
next = p->next;
|
||||
av_freep(&p);
|
||||
p = next;
|
||||
}
|
||||
ogg->page_list = p;
|
||||
}
|
||||
|
||||
static int ogg_write_header(AVFormatContext *s)
|
||||
{
|
||||
OGGContext *ogg = s->priv_data;
|
||||
|
@ -522,28 +544,6 @@ static int ogg_write_header(AVFormatContext *s)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void ogg_write_pages(AVFormatContext *s, int flush)
|
||||
{
|
||||
OGGContext *ogg = s->priv_data;
|
||||
OGGPageList *next, *p;
|
||||
|
||||
if (!ogg->page_list)
|
||||
return;
|
||||
|
||||
for (p = ogg->page_list; p; ) {
|
||||
OGGStreamContext *oggstream =
|
||||
s->streams[p->page.stream_index]->priv_data;
|
||||
if (oggstream->page_count < 2 && !flush)
|
||||
break;
|
||||
ogg_write_page(s, &p->page,
|
||||
flush && oggstream->page_count == 1 ? 4 : 0); // eos
|
||||
next = p->next;
|
||||
av_freep(&p);
|
||||
p = next;
|
||||
}
|
||||
ogg->page_list = p;
|
||||
}
|
||||
|
||||
static int ogg_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
AVStream *st = s->streams[pkt->stream_index];
|
||||
|
|
Loading…
Reference in New Issue