From 9659592e810f34724abbb76d072472ceca4bbc97 Mon Sep 17 00:00:00 2001 From: iovar Date: Sat, 9 Dec 2006 14:54:00 +0000 Subject: corrected(added) eos on both streams git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@226 f606c939-3180-4ac9-a4b8-4b8779d57d0a --- recordmydesktop/src/flush_to_ogg.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'recordmydesktop/src/flush_to_ogg.c') diff --git a/recordmydesktop/src/flush_to_ogg.c b/recordmydesktop/src/flush_to_ogg.c index f28adbe..8fa762f 100644 --- a/recordmydesktop/src/flush_to_ogg.c +++ b/recordmydesktop/src/flush_to_ogg.c @@ -54,20 +54,24 @@ void *FlushToOgg(ProgData *pdata){ } //last packages + pdata->enc_data->m_ogg_ts.e_o_s=1; videoflag=ogg_stream_flush(&pdata->enc_data->m_ogg_ts,&videopage); if(videoflag){ video_bytesout+=fwrite(videopage.header,1,videopage.header_len,pdata->enc_data->fp); video_bytesout+=fwrite(videopage.body,1,videopage.body_len,pdata->enc_data->fp); videoflag=0; } - if(!pdata->args.nosound) - audioflag=ogg_stream_flush(&pdata->enc_data->m_ogg_vs,&audiopage); - if(audioflag){ - audio_bytesout+=fwrite(audiopage.header,1,audiopage.header_len,pdata->enc_data->fp); - audio_bytesout+=fwrite(audiopage.body,1,audiopage.body_len,pdata->enc_data->fp); - audioflag=0; + if(!pdata->args.nosound){ + pdata->enc_data->m_ogg_vs.e_o_s=1; + do{ + audioflag=ogg_stream_flush(&pdata->enc_data->m_ogg_vs,&audiopage); + if(audioflag){ + audio_bytesout+=fwrite(audiopage.header,1,audiopage.header_len,pdata->enc_data->fp); + audio_bytesout+=fwrite(audiopage.body,1,audiopage.body_len,pdata->enc_data->fp); + audioflag=0; + } + }while(!ogg_page_eos(&audiopage)); } - ogg_stream_clear(&pdata->enc_data->m_ogg_ts); if(!pdata->args.nosound) ogg_stream_clear(&pdata->enc_data->m_ogg_vs); -- cgit v1.2.1