diff options
author | iovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2006-12-09 14:54:00 +0000 |
---|---|---|
committer | iovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2006-12-09 14:54:00 +0000 |
commit | 9659592e810f34724abbb76d072472ceca4bbc97 (patch) | |
tree | 17fbafcf2b40913a43e266291e6b191a43d10bb4 /recordmydesktop/src/flush_to_ogg.c | |
parent | 5cc91a08f6313e0b758063b7dfd31244d43eb9a0 (diff) |
corrected(added) eos on both streams
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@226 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/flush_to_ogg.c')
-rw-r--r-- | recordmydesktop/src/flush_to_ogg.c | 18 |
1 files changed, 11 insertions, 7 deletions
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); |