mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-06-19 19:03:00 +02:00
oggenc: Move ogg_write_pages up above ogg_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
committed by
Martin Storsjö
parent
512f3ffe9b
commit
1d3eb0b573
+22
-22
@@ -388,6 +388,28 @@ static int ogg_build_opus_headers(AVCodecContext *avctx,
|
|||||||
return 0;
|
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)
|
static int ogg_write_header(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
OGGContext *ogg = s->priv_data;
|
OGGContext *ogg = s->priv_data;
|
||||||
@@ -522,28 +544,6 @@ static int ogg_write_header(AVFormatContext *s)
|
|||||||
return 0;
|
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)
|
static int ogg_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
{
|
{
|
||||||
AVStream *st = s->streams[pkt->stream_index];
|
AVStream *st = s->streams[pkt->stream_index];
|
||||||
|
|||||||
Reference in New Issue
Block a user