Как получить все пакеты файла 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
если я декодирую пакет прямо сейчас, я могу продолжать получать пакеты. Но если я не декодирую его и просто хочу поместить их в список, я не могу получить пакеты. Как я должен сделать?