summaryrefslogtreecommitdiff
path: root/rMD-exp/src/encode_sound_buffer.c
diff options
context:
space:
mode:
authoriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-11-08 16:46:28 +0000
committeriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-11-08 16:46:28 +0000
commit1d637da186506754ddd06efd47c917dc89faf1c9 (patch)
tree0c3fe4ab9f83fa8bd1be5f1c126626bf7a8e6ce4 /rMD-exp/src/encode_sound_buffer.c
parentad5b05712d9ed8650fcc145373ac878f8e6b8829 (diff)
purge rMD-exp module
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@155 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'rMD-exp/src/encode_sound_buffer.c')
-rw-r--r--rMD-exp/src/encode_sound_buffer.c121
1 files changed, 0 insertions, 121 deletions
diff --git a/rMD-exp/src/encode_sound_buffer.c b/rMD-exp/src/encode_sound_buffer.c
deleted file mode 100644
index 73f6d48..0000000
--- a/rMD-exp/src/encode_sound_buffer.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*********************************************************************************
-* recordMyDesktop *
-**********************************************************************************
-* *
-* Copyright (C) 2006 John Varouhakis *
-* *
-* *
-* This program is free software; you can redistribute it and/or modify *
-* it under the terms of the GNU General Public License as published by *
-* the Free Software Foundation; either version 2 of the License, or *
-* (at your option) any later version. *
-* *
-* This program is distributed in the hope that it will be useful, *
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-* GNU General Public License for more details. *
-* *
-* You should have received a copy of the GNU General Public License *
-* along with this program; if not, write to the Free Software *
-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
-* *
-* *
-* *
-* For further information contact me at johnvarouhakis@gmail.com *
-**********************************************************************************/
-
-
-#include <recordmydesktop.h>
-
-void *EncodeSoundBuffer(void *pdata){
-
- int sampread=((ProgData *)pdata)->periodsize/(2*((ProgData *)pdata)->args.channels);
- pthread_mutex_t smut;
- pthread_mutex_init(&smut,NULL);
- while((((ProgData *)pdata)->running)){
- float **vorbis_buffer;
- int count=0,i,j;
- SndBuffer *buff;
-
- if(Paused){
- pthread_mutex_t tmut;
- pthread_mutex_init(&tmut,NULL);
- pthread_cond_wait(&((ProgData *)pdata)->pause_cond,&tmut);
- }
-
- if(((ProgData *)pdata)->sound_buffer==NULL)
- pthread_cond_wait(&((ProgData *)pdata)->sound_data_read,&smut);
-
- pthread_mutex_lock(&((ProgData *)pdata)->sound_buffer_mutex);
- buff=((ProgData *)pdata)->sound_buffer;
- //advance the list
- ((ProgData *)pdata)->sound_buffer=((ProgData *)pdata)->sound_buffer->next;
- pthread_mutex_unlock(&((ProgData *)pdata)->sound_buffer_mutex);
-
- vorbis_buffer=vorbis_analysis_buffer(&((ProgData *)pdata)->enc_data->m_vo_dsp,sampread);
- for(i=0;i<sampread;i++){
- for(j=0;j<((ProgData *)pdata)->args.channels;j++){
- vorbis_buffer[j][i]=((buff->data[count+1]<<8)|
- (0x00ff&(int)buff->data[count]))/32768.f;
- count+=2;
- }
- }
- vorbis_analysis_wrote(&((ProgData *)pdata)->enc_data->m_vo_dsp,sampread);
-
- while(vorbis_analysis_blockout(&((ProgData *)pdata)->enc_data->m_vo_dsp,&((ProgData *)pdata)->enc_data->m_vo_block)==1){
-
- vorbis_analysis(&((ProgData *)pdata)->enc_data->m_vo_block,NULL);
- vorbis_bitrate_addblock(&((ProgData *)pdata)->enc_data->m_vo_block);
-
- while(vorbis_bitrate_flushpacket(&((ProgData *)pdata)->enc_data->m_vo_dsp,&((ProgData *)pdata)->enc_data->m_ogg_pckt2)){
- pthread_mutex_lock(&((ProgData *)pdata)->libogg_mutex);
- ogg_stream_packetin(&((ProgData *)pdata)->enc_data->m_ogg_vs,&((ProgData *)pdata)->enc_data->m_ogg_pckt2);
- pthread_mutex_unlock(&((ProgData *)pdata)->libogg_mutex);
- }
- }
- ((ProgData *)pdata)->avd-=((ProgData *)pdata)->periodtime;
-
- free(buff->data);
- free(buff);
- }
-
- vorbis_analysis_wrote(&((ProgData *)pdata)->enc_data->m_vo_dsp,0);
-// while(vorbis_analysis_blockout(&((ProgData *)pdata)->enc_data->m_vo_dsp,&((ProgData *)pdata)->enc_data->m_vo_block)==1){
-// vorbis_analysis(&((ProgData *)pdata)->enc_data->m_vo_block,NULL);
-// vorbis_bitrate_addblock(&((ProgData *)pdata)->enc_data->m_vo_block);
-// while(vorbis_bitrate_flushpacket(&((ProgData *)pdata)->enc_data->m_vo_dsp,&((ProgData *)pdata)->enc_data->m_ogg_pckt2))
-// ogg_stream_packetin(&((ProgData *)pdata)->enc_data->m_ogg_vs,&((ProgData *)pdata)->enc_data->m_ogg_pckt2);
-// }
-
- pthread_exit(&errno);
-}
-
-void SyncEncodeSoundBuffer(ProgData *pdata,signed char *buff){
- float **vorbis_buffer;
- int count=0,i,j;
- int sampread=pdata->periodsize/(2*pdata->args.channels);
- vorbis_buffer=vorbis_analysis_buffer(&pdata->enc_data->m_vo_dsp,sampread);
- for(i=0;i<sampread;i++){
- for(j=0;j<pdata->args.channels;j++){
- vorbis_buffer[j][i]=((buff[count+1]<<8)|
- (0x00ff&(int)buff[count]))/32768.f;
- count+=2;
- }
- }
-
- vorbis_analysis_wrote(&pdata->enc_data->m_vo_dsp,sampread);
-
- while(vorbis_analysis_blockout(&pdata->enc_data->m_vo_dsp,&pdata->enc_data->m_vo_block)==1){
-
- vorbis_analysis(&pdata->enc_data->m_vo_block,NULL);
- vorbis_bitrate_addblock(&pdata->enc_data->m_vo_block);
-
- while(vorbis_bitrate_flushpacket(&pdata->enc_data->m_vo_dsp,&pdata->enc_data->m_ogg_pckt2)){
- pthread_mutex_lock(&pdata->libogg_mutex);
- ogg_stream_packetin(&pdata->enc_data->m_ogg_vs,&pdata->enc_data->m_ogg_pckt2);
- pthread_mutex_unlock(&pdata->libogg_mutex);
- }
- }
- pdata->avd-=pdata->periodtime;
-}
-
© All Rights Reserved