Как получить все пакеты файла ogg

Я хочу получить все пакеты vorbis файла ogg и поместить его в список, и я не хочу сейчас его декодировать.

Теперь я должен сделать это:

ogg_sync_state oy;
ogg_stream_state os;
ogg_page og;
ogg_packet op;
vorbis_info vi;
vorbis_comment vc;
vorbis_dsp_state vd;
vorbis_block vb;

vorbis_synthesis_init(&vd,&vi);
vorbis_block_init(&vd,&vb);
ogg_sync_pageout(&oy,&og);
ogg_stream_pagein(&os,&og);
ogg_stream_packetout(&os,&op);

//decode packet right now.   if I don't decode it right now then will skip this step

/*
vorbis_synthesis(&vb,&op)
vorbis_synthesis_pcmout(&vd,&pcm)
vorbis_synthesis_read
*/

//continue to get packet

если я декодирую пакет прямо сейчас, я могу продолжать получать пакеты. Но если я не декодирую его и просто хочу поместить их в список, я не могу получить пакеты. Как я должен сделать?

0 ответов

Другие вопросы по тегам