Thread: [recordmydesktop-svn-commit] SF.net SVN: recordmydesktop:[520] trunk/recordmydesktop/src
Status: Alpha
Brought to you by:
enselic
From: svn c. f. r. <rec...@li...> - 2008-09-13 06:21:45
|
Revision: 520 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=520&view=rev Author: enselic Date: 2008-09-13 06:21:43 +0000 (Sat, 13 Sep 2008) Log Message: ----------- src/rmd_jack.c src/get_frame.c src/parseargs.c src/load_cache.c src/cache_frame.c src/flush_to_ogg.c src/init_encoder.c src/initialize_data.c src/register_callbacks.c: Make file-local functions static. Modified Paths: -------------- trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/flush_to_ogg.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/init_encoder.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/load_cache.c trunk/recordmydesktop/src/parseargs.c trunk/recordmydesktop/src/register_callbacks.c trunk/recordmydesktop/src/rmd_jack.c Modified: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-13 06:21:43 UTC (rev 520) @@ -33,14 +33,14 @@ #define CACHE_FILE_SIZE_LIMIT (500*1<<20) -int FlushBlock(unsigned char *buf, - int blockno, - int width, - int height, - int blockwidth, - gzFile *fp, - FILE *ucfp, - int flush){ +static int FlushBlock(unsigned char *buf, + int blockno, + int width, + int height, + int blockwidth, + gzFile *fp, + FILE *ucfp, + int flush) { int j,i, bytes_written=0, block_i=(!blockwidth)?0:(blockno/(width/blockwidth)),//place on the grid Modified: trunk/recordmydesktop/src/flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-13 06:21:43 UTC (rev 520) @@ -30,7 +30,7 @@ //will invalidate it. But we must have pages from //both streams at every time in //order to do correct multiplexing -void ogg_page_cp(ogg_page *new,ogg_page *old){ +static void ogg_page_cp(ogg_page *new, ogg_page *old) { int i=0; register unsigned char *newp,*oldp; @@ -50,7 +50,7 @@ } //free our copy -void ogg_page_cp_free(ogg_page *pg){ +static void ogg_page_cp_free(ogg_page *pg) { pg->header_len=pg->body_len=0; free(pg->header); free(pg->body); Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-13 06:21:43 UTC (rev 520) @@ -148,8 +148,10 @@ //besides taking the first screenshot, this functions primary purpose is to //initialize the structures and memory. -int FirstFrame(ProgData *pdata,XImage **image,XShmSegmentInfo *shminfo, - char **pxl_data){ +static int FirstFrame(ProgData *pdata, + XImage **image, + XShmSegmentInfo *shminfo, + char **pxl_data) { if((pdata->args.noshared)){ @@ -216,7 +218,7 @@ } //make a deep copy -void BRWinCpy(BRWindow *target,BRWindow *source){ +static void BRWinCpy(BRWindow *target, BRWindow *source) { target->geom.x=source->geom.x; target->geom.y=source->geom.y; @@ -233,11 +235,11 @@ //recenters the capture area to the mouse //without exiting the display bounding box -void MoveCaptureArea( BRWindow *brwin, - int cursor_x, - int cursor_y, - int width, - int height){ +static void MoveCaptureArea(BRWindow *brwin, + int cursor_x, + int cursor_y, + int width, + int height) { int t_x=0,t_y=0; t_x=cursor_x-brwin->rgeom.width/2; @@ -263,11 +265,11 @@ * * \param blocknum_y Height of image in blocks */ -void BlocksFromList (RectArea **root, - unsigned int x_offset, - unsigned int y_offset, - unsigned int blocknum_x, - unsigned int blocknum_y) { +static void BlocksFromList (RectArea **root, + unsigned int x_offset, + unsigned int y_offset, + unsigned int blocknum_x, + unsigned int blocknum_y) { RectArea *temp; unsigned int i, Modified: trunk/recordmydesktop/src/init_encoder.c =================================================================== --- trunk/recordmydesktop/src/init_encoder.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/init_encoder.c 2008-09-13 06:21:43 UTC (rev 520) @@ -31,7 +31,7 @@ #include "skeleton.h" -void m_add_fishead_packet(ogg_stream_state *m_ogg_state){ +static void m_add_fishead_packet(ogg_stream_state *m_ogg_state) { fishead_packet skel_fp; @@ -44,7 +44,7 @@ } -int IncrementalNaming(char **name){ +static int IncrementalNaming(char **name) { struct stat buff; char *base_name__; int i=0, Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-13 06:21:43 UTC (rev 520) @@ -29,10 +29,10 @@ #ifdef HAVE_LIBASOUND -void FixBufferSize(snd_pcm_uframes_t *buffsize){ +static void FixBufferSize(snd_pcm_uframes_t *buffsize) { snd_pcm_uframes_t buffsize_t=*buffsize, #else -void FixBufferSize(u_int32_t *buffsize){ +static void FixBufferSize(u_int32_t *buffsize) { u_int32_t buffsize_t=*buffsize, #endif buffsize_ret=1; Modified: trunk/recordmydesktop/src/load_cache.c =================================================================== --- trunk/recordmydesktop/src/load_cache.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/load_cache.c 2008-09-13 06:21:43 UTC (rev 520) @@ -53,12 +53,12 @@ }CachedFrame; -void LoadBlock(unsigned char *dest, - unsigned char *source, - int blockno, - int width, - int height, - int blockwidth){ +static void LoadBlock(unsigned char *dest, + unsigned char *source, + int blockno, + int width, + int height, + int blockwidth) { int j, block_i=blockno/(width/blockwidth),//place on the grid block_k=blockno%(width/blockwidth); @@ -69,7 +69,7 @@ } //returns number of bytes -int ReadZF(void * buffer,size_t size,size_t nmemb,FILE *ucfp,gzFile *ifp){ +static int ReadZF(void * buffer, size_t size, size_t nmemb, FILE *ucfp, gzFile *ifp) { if((ifp!=NULL && ucfp!=NULL)|| (ifp==NULL && ucfp==NULL)) return -1; @@ -80,7 +80,7 @@ return gzread(ifp,buffer,size*nmemb); } -int ReadFrame(CachedFrame *frame,FILE *ucfp,gzFile *ifp){ +static int ReadFrame(CachedFrame *frame, FILE *ucfp, gzFile *ifp) { int index_entry_size=sizeof(u_int32_t); if(frame->header->Ynum>0){ if(ReadZF(frame->YBlocks, Modified: trunk/recordmydesktop/src/parseargs.c =================================================================== --- trunk/recordmydesktop/src/parseargs.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/parseargs.c 2008-09-13 06:21:43 UTC (rev 520) @@ -28,7 +28,7 @@ #include "recordmydesktop.h" -void PrintConfig(void){ +static void PrintConfig(void) { fprintf(stderr,"\nrecordMyDesktop was compiled with" " the following options:\n\n"); #ifdef HAVE_JACK_H Modified: trunk/recordmydesktop/src/register_callbacks.c =================================================================== --- trunk/recordmydesktop/src/register_callbacks.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/register_callbacks.c 2008-09-13 06:21:43 UTC (rev 520) @@ -28,14 +28,14 @@ #include "recordmydesktop.h" -void SetPaused(int signum){ +static void SetPaused(int signum) { PauseStateChanged=1; } -void SetRunning(int signum){ +static void SetRunning(int signum) { if(!Paused){ *Running=0; Modified: trunk/recordmydesktop/src/rmd_jack.c =================================================================== --- trunk/recordmydesktop/src/rmd_jack.c 2008-09-13 06:03:29 UTC (rev 519) +++ trunk/recordmydesktop/src/rmd_jack.c 2008-09-13 06:21:43 UTC (rev 520) @@ -205,7 +205,7 @@ //the program should stop recording, //encode the result(if not on the fly) //an exit cleanly. -void JackShutdown(void *jdata_t){ +static void JackShutdown(void *jdata_t) { fprintf (stderr, "JACK shutdown\n"); *Running=0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 07:01:39
|
Revision: 540 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=540&view=rev Author: enselic Date: 2008-09-14 07:01:35 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/recordmydesktop.h: Move away the [yuv]blocks globals. src/yuv_utils.h: Move out the DBUF- and the MARK_BACK_BUFFER_C() macros. src/block_utils.[ch]: New files hosting the [yuv]blocks globals and DBUF-macros. src/get_frame.c: Put MARK_BACK_BUFFER_C() locally here. src/Makefile.am src/rmd_rescue.c src/cache_frame.c src/initialize_data.c: Adapt to changes. Modified Paths: -------------- trunk/recordmydesktop/src/Makefile.am trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/recordmydesktop.h trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/yuv_utils.h Added Paths: ----------- trunk/recordmydesktop/src/block_utils.c trunk/recordmydesktop/src/block_utils.h Modified: trunk/recordmydesktop/src/Makefile.am =================================================================== --- trunk/recordmydesktop/src/Makefile.am 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/Makefile.am 2008-09-14 07:01:35 UTC (rev 540) @@ -1,6 +1,8 @@ bin_PROGRAMS = recordmydesktop recordmydesktop_SOURCES = \ + block_utils.c \ + block_utils.h \ cache_audio.c \ cache_audio.h \ cache_frame.c \ Added: trunk/recordmydesktop/src/block_utils.c =================================================================== --- trunk/recordmydesktop/src/block_utils.c (rev 0) +++ trunk/recordmydesktop/src/block_utils.c 2008-09-14 07:01:35 UTC (rev 540) @@ -0,0 +1,35 @@ +/****************************************************************************** +* recordMyDesktop * +******************************************************************************* +* * +* Copyright (C) 2006,2007,2008 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 joh...@gm... * +******************************************************************************/ + +#include "block_utils.h" + + +// FIXME: These globals are modified in other source files! We keep +// thsee here for now. These are the cache blocks. They need to be +// accesible in the dbuf macros +u_int32_t *yblocks, + *ublocks, + *vblocks; Added: trunk/recordmydesktop/src/block_utils.h =================================================================== --- trunk/recordmydesktop/src/block_utils.h (rev 0) +++ trunk/recordmydesktop/src/block_utils.h 2008-09-14 07:01:35 UTC (rev 540) @@ -0,0 +1,170 @@ +/****************************************************************************** +* recordMyDesktop * +******************************************************************************* +* * +* Copyright (C) 2006,2007,2008 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 joh...@gm... * +******************************************************************************/ + +#ifndef BLOCK_UTILS_H +#define BLOCK_UTILS_H 1 + +#include "rmdtypes.h" +#include "rmdmacro.h" +#include "yuv_utils.h" + + +// We keep these global for now. FIXME: Isolate them. +extern u_int32_t *yblocks, + *ublocks, + *vblocks; + +#define POINT_IN_BLOCK(xv,yv,widthv,blocksize) ((yv/blocksize)*\ + (widthv/blocksize)+\ + (xv/blocksize)) + +#define UPDATE_Y_PLANE_DBUF(data,\ + data_back,\ + x_tm,\ + y_tm,\ + height_tm,\ + width_tm,\ + yuv,\ + __bit_depth__){ \ + int k,i;\ + register u_int##__bit_depth__##_t t_val;\ + register unsigned char *yuv_y=yuv->y+x_tm+y_tm*yuv->y_width,\ + *_yr=Yr,*_yg=Yg,*_yb=Yb;\ + register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ + *datapi_back=(u_int##__bit_depth__##_t *)data_back;\ + for(k=0;k<height_tm;k++){\ + for(i=0;i<width_tm;i++){\ + if(*datapi!=*datapi_back){\ + t_val=*datapi;\ + *yuv_y=_yr[__RVALUE_##__bit_depth__(t_val)] +\ + _yg[__GVALUE_##__bit_depth__(t_val)] +\ + _yb[__BVALUE_##__bit_depth__(t_val)] ;\ + yblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ + }\ + datapi++;\ + datapi_back++;\ + yuv_y++;\ + }\ + yuv_y+=yuv->y_width-width_tm;\ + }\ +} + +#define UPDATE_UV_PLANES_DBUF( data,\ + data_back,\ + x_tm,\ + y_tm,\ + height_tm,\ + width_tm,\ + yuv,\ + __sampling_type,\ + __bit_depth__){ \ + int k,i;\ + register u_int##__bit_depth__##_t t_val;\ + register unsigned char *yuv_u=yuv->u+x_tm/2+(y_tm*yuv->uv_width)/2,\ + *yuv_v=yuv->v+x_tm/2+(y_tm*yuv->uv_width)/2,\ + *_ur=Ur,*_ug=Ug,*_ubvr=UbVr,\ + *_vg=Vg,*_vb=Vb;\ + register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ + *datapi_next=NULL,\ + *datapi_back=(u_int##__bit_depth__##_t *)data_back,\ + *datapi_back_next=NULL;\ + if(__sampling_type==__PXL_AVERAGE){\ + datapi_next=datapi+width_tm;\ + datapi_back_next=datapi_back+width_tm;\ + for(k=0;k<height_tm;k+=2){\ + for(i=0;i<width_tm;i+=2){\ + if(( (*datapi!=*datapi_back) ||\ + (*(datapi+1)!=*(datapi_back+1)) ||\ + (*datapi_next!=*datapi_back_next) ||\ + (*(datapi_next+1)!=*(datapi_back_next+1)))){\ + UPDATE_A_UV_PIXEL( yuv_u,\ + yuv_v,\ + t_val,\ + datapi,\ + datapi_next,\ + _ur,_ug,_ubvr,_vg,_vb,\ + __sampling_type,\ + __bit_depth__)\ + ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ + vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ + }\ + datapi+=2;\ + datapi_back+=2;\ + if(__sampling_type==__PXL_AVERAGE){\ + datapi_next+=2;\ + datapi_back_next+=2;\ + }\ + yuv_u++;\ + yuv_v++;\ + }\ + yuv_u+=(yuv->y_width-width_tm)/2;\ + yuv_v+=(yuv->y_width-width_tm)/2;\ + datapi+=width_tm;\ + datapi_back+=width_tm;\ + if(__sampling_type==__PXL_AVERAGE){\ + datapi_next+=width_tm;\ + datapi_back_next+=width_tm;\ + }\ + }\ + }\ + else{\ + for(k=0;k<height_tm;k+=2){\ + for(i=0;i<width_tm;i+=2){\ + if ((*datapi!=*datapi_back)){\ + UPDATE_A_UV_PIXEL( yuv_u,\ + yuv_v,\ + t_val,\ + datapi,\ + datapi_next,\ + _ur,_ug,_ubvr,_vg,_vb,\ + __sampling_type,\ + __bit_depth__)\ + ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ + vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ + }\ + datapi+=2;\ + datapi_back+=2;\ + if(__sampling_type==__PXL_AVERAGE){\ + datapi_next+=2;\ + datapi_back_next+=2;\ + }\ + yuv_u++;\ + yuv_v++;\ + }\ + yuv_u+=(yuv->y_width-width_tm)/2;\ + yuv_v+=(yuv->y_width-width_tm)/2;\ + datapi+=width_tm;\ + datapi_back+=width_tm;\ + if(__sampling_type==__PXL_AVERAGE){\ + datapi_next+=width_tm;\ + datapi_back_next+=width_tm;\ + }\ + }\ + }\ +} + + +#endif Modified: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-14 07:01:35 UTC (rev 540) @@ -29,6 +29,7 @@ #include "cache_frame.h" #include "recordmydesktop.h" #include "rmd_cache.h" +#include "block_utils.h" //minimize hard disk access Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:01:35 UTC (rev 540) @@ -130,6 +130,26 @@ }\ } +#define MARK_BACK_BUFFER_C( data,\ + x_tm,\ + y_tm,\ + width_tm,\ + height_tm,\ + buffer_width,\ + __bit_depth__){\ + int k,i;\ + register u_int##__bit_depth__##_t\ + *datapi=\ + ((u_int##__bit_depth__##_t *)data)+y_tm*buffer_width+x_tm;\ + for(k=0;k<height_tm;k++){\ + for(i=0;i<width_tm;i++){\ + *datapi+=1;\ + datapi++;\ + }\ + datapi+=buffer_width-width_tm;\ + }\ +} + #define MARK_BACK_BUFFER( data,\ x_tm,\ y_tm,\ Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:01:35 UTC (rev 540) @@ -24,13 +24,14 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" -#include "yuv_utils.h" +#include "block_utils.h" +#include "init_encoder.h" #include "make_dummy_pointer.h" #include "opendev.h" +#include "recordmydesktop.h" +#include "rmd_cache.h" #include "rmd_jack.h" -#include "init_encoder.h" -#include "rmd_cache.h" +#include "yuv_utils.h" #ifdef HAVE_LIBASOUND Modified: trunk/recordmydesktop/src/recordmydesktop.h =================================================================== --- trunk/recordmydesktop/src/recordmydesktop.h 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/recordmydesktop.h 2008-09-14 07:01:35 UTC (rev 540) @@ -36,12 +36,6 @@ //I'll fix it, I promise #include "rmdtypes.h" -//These are the cache blocks. They need to be accesible in the -//dbuf macros -u_int32_t *yblocks, - *ublocks, - *vblocks; - #include "rmdmacro.h" Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 07:01:35 UTC (rev 540) @@ -30,6 +30,7 @@ #include "register_callbacks.h" #include "rmd_rescue.h" #include "specsfile.h" +#include "block_utils.h" int rmdRescue(const char *path){ Modified: trunk/recordmydesktop/src/yuv_utils.h =================================================================== --- trunk/recordmydesktop/src/yuv_utils.h 2008-09-13 21:35:43 UTC (rev 539) +++ trunk/recordmydesktop/src/yuv_utils.h 2008-09-14 07:01:35 UTC (rev 540) @@ -27,7 +27,11 @@ #ifndef YUV_UTILS_H #define YUV_UTILS_H 1 +#include "rmdtypes.h" +#include "block_utils.h" +#include "rmdmacro.h" + // The macros work directly on this data (for performance reasons I // suppose) so we keep this global extern unsigned char Yr[256], Yg[256], Yb[256], @@ -72,10 +76,6 @@ (t3&0x000000ff)+(t4&0x000000ff))/4)&0x000000ff);\ } -#define POINT_IN_BLOCK(xv,yv,widthv,blocksize) ((yv/blocksize)*\ - (widthv/blocksize)+\ - (xv/blocksize)) - #define UPDATE_Y_PLANE(data,\ x_tm,\ y_tm,\ @@ -101,37 +101,6 @@ }\ } -#define UPDATE_Y_PLANE_DBUF(data,\ - data_back,\ - x_tm,\ - y_tm,\ - height_tm,\ - width_tm,\ - yuv,\ - __bit_depth__){ \ - int k,i;\ - register u_int##__bit_depth__##_t t_val;\ - register unsigned char *yuv_y=yuv->y+x_tm+y_tm*yuv->y_width,\ - *_yr=Yr,*_yg=Yg,*_yb=Yb;\ - register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ - *datapi_back=(u_int##__bit_depth__##_t *)data_back;\ - for(k=0;k<height_tm;k++){\ - for(i=0;i<width_tm;i++){\ - if(*datapi!=*datapi_back){\ - t_val=*datapi;\ - *yuv_y=_yr[__RVALUE_##__bit_depth__(t_val)] +\ - _yg[__GVALUE_##__bit_depth__(t_val)] +\ - _yb[__BVALUE_##__bit_depth__(t_val)] ;\ - yblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi++;\ - datapi_back++;\ - yuv_y++;\ - }\ - yuv_y+=yuv->y_width-width_tm;\ - }\ -} - #define UPDATE_A_UV_PIXEL(yuv_u,\ yuv_v,\ t_val,\ @@ -198,100 +167,6 @@ }\ } -#define UPDATE_UV_PLANES_DBUF( data,\ - data_back,\ - x_tm,\ - y_tm,\ - height_tm,\ - width_tm,\ - yuv,\ - __sampling_type,\ - __bit_depth__){ \ - int k,i;\ - register u_int##__bit_depth__##_t t_val;\ - register unsigned char *yuv_u=yuv->u+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *yuv_v=yuv->v+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *_ur=Ur,*_ug=Ug,*_ubvr=UbVr,\ - *_vg=Vg,*_vb=Vb;\ - register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ - *datapi_next=NULL,\ - *datapi_back=(u_int##__bit_depth__##_t *)data_back,\ - *datapi_back_next=NULL;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next=datapi+width_tm;\ - datapi_back_next=datapi_back+width_tm;\ - for(k=0;k<height_tm;k+=2){\ - for(i=0;i<width_tm;i+=2){\ - if(( (*datapi!=*datapi_back) ||\ - (*(datapi+1)!=*(datapi_back+1)) ||\ - (*datapi_next!=*datapi_back_next) ||\ - (*(datapi_next+1)!=*(datapi_back_next+1)))){\ - UPDATE_A_UV_PIXEL( yuv_u,\ - yuv_v,\ - t_val,\ - datapi,\ - datapi_next,\ - _ur,_ug,_ubvr,_vg,_vb,\ - __sampling_type,\ - __bit_depth__)\ - ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi+=2;\ - datapi_back+=2;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=2;\ - datapi_back_next+=2;\ - }\ - yuv_u++;\ - yuv_v++;\ - }\ - yuv_u+=(yuv->y_width-width_tm)/2;\ - yuv_v+=(yuv->y_width-width_tm)/2;\ - datapi+=width_tm;\ - datapi_back+=width_tm;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=width_tm;\ - datapi_back_next+=width_tm;\ - }\ - }\ - }\ - else{\ - for(k=0;k<height_tm;k+=2){\ - for(i=0;i<width_tm;i+=2){\ - if ((*datapi!=*datapi_back)){\ - UPDATE_A_UV_PIXEL( yuv_u,\ - yuv_v,\ - t_val,\ - datapi,\ - datapi_next,\ - _ur,_ug,_ubvr,_vg,_vb,\ - __sampling_type,\ - __bit_depth__)\ - ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi+=2;\ - datapi_back+=2;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=2;\ - datapi_back_next+=2;\ - }\ - yuv_u++;\ - yuv_v++;\ - }\ - yuv_u+=(yuv->y_width-width_tm)/2;\ - yuv_v+=(yuv->y_width-width_tm)/2;\ - datapi+=width_tm;\ - datapi_back+=width_tm;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=width_tm;\ - datapi_back_next+=width_tm;\ - }\ - }\ - }\ -} - #define UPDATE_YUV_BUFFER(yuv,\ data,\ data_back,\ @@ -363,27 +238,6 @@ }\ } -#define MARK_BACK_BUFFER_C( data,\ - x_tm,\ - y_tm,\ - width_tm,\ - height_tm,\ - buffer_width,\ - __bit_depth__){\ - int k,i;\ - register u_int##__bit_depth__##_t\ - *datapi=\ - ((u_int##__bit_depth__##_t *)data)+y_tm*buffer_width+x_tm;\ - for(k=0;k<height_tm;k++){\ - for(i=0;i<width_tm;i++){\ - *datapi+=1;\ - datapi++;\ - }\ - datapi+=buffer_width-width_tm;\ - }\ -} - - /** * Fill Yr,Yg,Yb,Ur,Ug.Ub,Vr,Vg,Vb arrays(globals) with values. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 07:27:58
|
Revision: 541 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=541&view=rev Author: enselic Date: 2008-09-14 07:27:50 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/recordmydesktop.h: Deleted. The last globals were migrated to ProgData. recordmydesktop.h should actually never exist (as long as rmd isn't e.g. a library) since recordmydesktop.c is the main() program and it would be weird if other modules had a dependeny to it. src/rmdtypes.h: Put the last globals in ProgData instead. src/Makefile.am src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_image_buffer.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/make_dummy_pointer.c src/parseargs.c src/queryextensions.c src/recordmydesktop.c src/register_callbacks.c src/rmd_cache.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/setbrwindow.c src/update_image.c src/wm_check.c: Adapted. Modified Paths: -------------- trunk/recordmydesktop/src/Makefile.am trunk/recordmydesktop/src/cache_audio.c trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/capture_sound.c trunk/recordmydesktop/src/encode_cache.c trunk/recordmydesktop/src/encode_image_buffer.c trunk/recordmydesktop/src/encode_sound_buffer.c trunk/recordmydesktop/src/flush_to_ogg.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/getzpixmap.c trunk/recordmydesktop/src/init_encoder.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/load_cache.c trunk/recordmydesktop/src/make_dummy_pointer.c trunk/recordmydesktop/src/parseargs.c trunk/recordmydesktop/src/queryextensions.c trunk/recordmydesktop/src/recordmydesktop.c trunk/recordmydesktop/src/register_callbacks.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_jack.c trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_timer.c trunk/recordmydesktop/src/rmdtypes.h trunk/recordmydesktop/src/setbrwindow.c trunk/recordmydesktop/src/update_image.c trunk/recordmydesktop/src/wm_check.c Removed Paths: ------------- trunk/recordmydesktop/src/recordmydesktop.h Modified: trunk/recordmydesktop/src/Makefile.am =================================================================== --- trunk/recordmydesktop/src/Makefile.am 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/Makefile.am 2008-09-14 07:27:50 UTC (rev 541) @@ -38,7 +38,6 @@ queryextensions.c \ queryextensions.h \ recordmydesktop.c \ - recordmydesktop.h \ rectinsert.c \ rectinsert.h \ register_callbacks.c \ Modified: trunk/recordmydesktop/src/cache_audio.c =================================================================== --- trunk/recordmydesktop/src/cache_audio.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/cache_audio.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,8 +24,9 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "cache_audio.h" -#include "recordmydesktop.h" #include "rmd_jack.h" Modified: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-14 07:27:50 UTC (rev 541) @@ -26,8 +26,9 @@ #include <signal.h> +#include "rmdtypes.h" + #include "cache_frame.h" -#include "recordmydesktop.h" #include "rmd_cache.h" #include "block_utils.h" @@ -169,7 +170,7 @@ strncpy(fheader.frame_prefix,"FRAM",4); fheader.frameno=++frameno; - fheader.current_total=frames_total; + fheader.current_total = pdata->frames_total; fheader.Ynum=ynum; fheader.Unum=unum; @@ -273,8 +274,12 @@ } - fprintf(stderr,"Saved %d frames in a total of %d requests\n", - frameno,frames_total);fflush(stderr); + fprintf(stderr, + "Saved %d frames in a total of %d requests\n", + frameno, + pdata->frames_total); + fflush(stderr); + if(!pdata->args.zerocompression){ gzflush(fp,Z_FINISH); gzclose(fp); Modified: trunk/recordmydesktop/src/capture_sound.c =================================================================== --- trunk/recordmydesktop/src/capture_sound.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/capture_sound.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,12 +24,10 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "opendev.h" -#include "recordmydesktop.h" -#include "rmd_jack.h" +#include "rmdtypes.h" #include "capture_sound.h" -#include "recordmydesktop.h" +#include "opendev.h" #include "rmd_jack.h" Modified: trunk/recordmydesktop/src/encode_cache.c =================================================================== --- trunk/recordmydesktop/src/encode_cache.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/encode_cache.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,11 +24,12 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "encode_cache.h" #include "flush_to_ogg.h" #include "init_encoder.h" #include "load_cache.h" -#include "recordmydesktop.h" void EncodeCache(ProgData *pdata){ Modified: trunk/recordmydesktop/src/encode_image_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,7 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "encode_image_buffer.h" @@ -37,7 +38,7 @@ &pdata->img_buff_ready_mutex); pthread_mutex_unlock(&pdata->img_buff_ready_mutex); pdata->th_enc_thread_waiting=0; - encoder_busy=1; + pdata->encoder_busy = 1; if (pdata->paused) { pthread_mutex_lock(&pdata->pause_mutex); pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); @@ -61,7 +62,7 @@ pdata->avd+=pdata->frametime; } } - encoder_busy=0; + pdata->encoder_busy = 0; } //last packet pdata->th_encoding_clean=1; Modified: trunk/recordmydesktop/src/encode_sound_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,8 +24,9 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "encode_sound_buffer.h" -#include "recordmydesktop.h" #include "rmd_jack.h" Modified: trunk/recordmydesktop/src/flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,10 +24,11 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "encode_image_buffer.h" #include "encode_sound_buffer.h" #include "flush_to_ogg.h" -#include "recordmydesktop.h" //we copy the page because the next call to ogg_stream_pageout Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,10 +24,11 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "get_frame.h" #include "getzpixmap.h" #include "poll_events.h" -#include "recordmydesktop.h" #include "rectinsert.h" #include "rmd_cache.h" #include "rmd_frame.h" @@ -439,7 +440,7 @@ //switch back and front buffers (full_shots only) if(d_buff) img_sel=(img_sel)?0:1; - capture_busy=1; + pdata->capture_busy = 1; BRWinCpy(&temp_brwin,&pdata->brwin); @@ -627,13 +628,13 @@ if(!pdata->args.full_shots){ ClearList(&pdata->rect_root); } - if(encoder_busy){ - frames_lost++; + if (pdata->encoder_busy) { + pdata->frames_lost++; } pthread_mutex_lock(&pdata->img_buff_ready_mutex); pthread_cond_broadcast(&pdata->image_buffer_ready); pthread_mutex_unlock(&pdata->img_buff_ready_mutex); - capture_busy=0; + pdata->capture_busy = 0; } if(!pdata->args.noframe){ Modified: trunk/recordmydesktop/src/getzpixmap.c =================================================================== --- trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,7 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "getzpixmap.h" Modified: trunk/recordmydesktop/src/init_encoder.c =================================================================== --- trunk/recordmydesktop/src/init_encoder.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/init_encoder.c 2008-09-14 07:27:50 UTC (rev 541) @@ -27,8 +27,10 @@ #include <string.h> +#include "rmdtypes.h" + #include "init_encoder.h" -#include "recordmydesktop.h" +#include "rmdmacro.h" #include "skeleton.h" Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,11 +24,12 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "block_utils.h" #include "init_encoder.h" #include "make_dummy_pointer.h" #include "opendev.h" -#include "recordmydesktop.h" #include "rmd_cache.h" #include "rmd_jack.h" #include "yuv_utils.h" @@ -54,8 +55,6 @@ EncData *enc_data, CacheData *cache_data){ int i; - //these are globals, look for them at the header - frames_total=frames_lost=encoder_busy=capture_busy=0; fprintf(stderr,"Initializing...\n"); MakeMatrices(); @@ -93,6 +92,10 @@ pdata->paused = FALSE; pdata->aborted = FALSE; pdata->pause_state_changed = FALSE; + pdata->frames_total = 0; + pdata->frames_lost = 0; + pdata->encoder_busy = 0; + pdata->capture_busy = 0; if(!pdata->args.nosound){ if(!pdata->args.use_jack){ Modified: trunk/recordmydesktop/src/load_cache.c =================================================================== --- trunk/recordmydesktop/src/load_cache.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/load_cache.c 2008-09-14 07:27:50 UTC (rev 541) @@ -26,11 +26,13 @@ #include <signal.h> +#include "rmdtypes.h" + #include "encode_image_buffer.h" #include "encode_sound_buffer.h" #include "load_cache.h" -#include "recordmydesktop.h" #include "rmd_cache.h" +#include "rmdmacro.h" //The number of bytes for every @@ -225,9 +227,11 @@ //sync missing_frames+=frame.header->current_total- (extra_frames+frame.header->frameno); - if(frames_total) - fprintf(stdout,"\r[%d%%] ", - ((frame.header->frameno+extra_frames)*100)/frames_total); + if (pdata->frames_total) { + fprintf(stdout, + "\r[%d%%] ", + ((frame.header->frameno + extra_frames) * 100) / pdata->frames_total); + } else fprintf(stdout,"\r[%d frames rendered] ", (frame.header->frameno+extra_frames)); Modified: trunk/recordmydesktop/src/make_dummy_pointer.c =================================================================== --- trunk/recordmydesktop/src/make_dummy_pointer.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/make_dummy_pointer.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,8 +24,10 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "make_dummy_pointer.h" +#include "rmdmacro.h" unsigned char *MakeDummyPointer(DisplaySpecs *specs, Modified: trunk/recordmydesktop/src/parseargs.c =================================================================== --- trunk/recordmydesktop/src/parseargs.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/parseargs.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,9 +24,10 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" -#include "recordmydesktop.h" #include "rmd_rescue.h" +#include "rmdmacro.h" static void PrintConfig(void) { Modified: trunk/recordmydesktop/src/queryextensions.c =================================================================== --- trunk/recordmydesktop/src/queryextensions.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/queryextensions.c 2008-09-14 07:27:50 UTC (rev 541) @@ -26,7 +26,8 @@ #include <X11/extensions/shape.h> -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "queryextensions.h" Modified: trunk/recordmydesktop/src/recordmydesktop.c =================================================================== --- trunk/recordmydesktop/src/recordmydesktop.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/recordmydesktop.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,17 +24,18 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + +#include "encode_cache.h" #include "initialize_data.h" +#include "parseargs.h" +#include "queryextensions.h" +#include "rmd_cache.h" #include "rmd_error.h" -#include "parseargs.h" +#include "rmdthreads.h" #include "setbrwindow.h" +#include "shortcuts.h" #include "wm_check.h" -#include "queryextensions.h" -#include "shortcuts.h" -#include "rmdthreads.h" -#include "rmd_cache.h" -#include "encode_cache.h" int main(int argc,char **argv){ Deleted: trunk/recordmydesktop/src/recordmydesktop.h =================================================================== --- trunk/recordmydesktop/src/recordmydesktop.h 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/recordmydesktop.h 2008-09-14 07:27:50 UTC (rev 541) @@ -1,59 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - - -#ifndef RECORDMYDESKTOP_H -#define RECORDMYDESKTOP_H 1 - -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - -//header inclusion is completely fucked up -//I'll fix it, I promise -#include "rmdtypes.h" - -#include "rmdmacro.h" - - - -/**Globals*/ -//I've read somewhere that I'll go to hell for using globals... - -//the following values are of no effect -//but they might be usefull later for profiling -unsigned int frames_total, //frames calculated by total time expirations - frames_lost; //the value of shame - - - -//used to determine frame drop which can -//happen on failure to receive a signal over a condition variable -int capture_busy, - encoder_busy; - -#endif - Modified: trunk/recordmydesktop/src/register_callbacks.c =================================================================== --- trunk/recordmydesktop/src/register_callbacks.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/register_callbacks.c 2008-09-14 07:27:50 UTC (rev 541) @@ -26,7 +26,8 @@ #include <signal.h> -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "register_callbacks.h" Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,9 +24,11 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "rmd_cache.h" #include "specsfile.h" +#include "rmdmacro.h" /** Modified: trunk/recordmydesktop/src/rmd_jack.c =================================================================== --- trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,8 +24,10 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "rmd_jack.h" +#include "rmdmacro.h" #ifdef HAVE_JACK_H Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,13 +24,14 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + +#include "block_utils.h" #include "encode_cache.h" #include "initialize_data.h" -#include "recordmydesktop.h" #include "register_callbacks.h" #include "rmd_rescue.h" #include "specsfile.h" -#include "block_utils.h" int rmdRescue(const char *path){ Modified: trunk/recordmydesktop/src/rmd_timer.c =================================================================== --- trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 07:27:50 UTC (rev 541) @@ -32,7 +32,8 @@ #include <stdio.h> #include <stdlib.h> -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "rmd_timer.h" @@ -62,9 +63,9 @@ } if (!pdata->paused) { - frames_total++; - if(capture_busy){ - frames_lost++; + pdata->frames_total++; + if (pdata->capture_busy) { + pdata->frames_lost++; } } Modified: trunk/recordmydesktop/src/rmdtypes.h =================================================================== --- trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 07:27:50 UTC (rev 541) @@ -348,6 +348,16 @@ boolean aborted; //1 if we should abort boolean pause_state_changed; //1 if pause state changed + //the following values are of no effect + //but they might be usefull later for profiling + unsigned int frames_total, //frames calculated by total time expirations + frames_lost; //the value of shame + + //used to determine frame drop which can + //happen on failure to receive a signal over a condition variable + int capture_busy, + encoder_busy; + pthread_mutex_t pause_mutex; pthread_mutex_t time_mutex; Modified: trunk/recordmydesktop/src/setbrwindow.c =================================================================== --- trunk/recordmydesktop/src/setbrwindow.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/setbrwindow.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,7 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "setbrwindow.h" Modified: trunk/recordmydesktop/src/update_image.c =================================================================== --- trunk/recordmydesktop/src/update_image.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/update_image.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,8 +24,9 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "rmdtypes.h" + #include "getzpixmap.h" -#include "recordmydesktop.h" #include "update_image.h" #include "yuv_utils.h" Modified: trunk/recordmydesktop/src/wm_check.c =================================================================== --- trunk/recordmydesktop/src/wm_check.c 2008-09-14 07:01:35 UTC (rev 540) +++ trunk/recordmydesktop/src/wm_check.c 2008-09-14 07:27:50 UTC (rev 541) @@ -24,7 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#include "recordmydesktop.h" +#include "rmdtypes.h" + #include "wm_check.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 07:37:00
|
Revision: 542 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=542&view=rev Author: enselic Date: 2008-09-14 07:36:57 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/rmdtypes.h: Made ProgData::capture_busy and encoder_busy booleans. src/get_frame.c src/initialize_data.c src/encode_image_buffer.c: Adapt. Modified Paths: -------------- trunk/recordmydesktop/src/encode_image_buffer.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/rmdtypes.h Modified: trunk/recordmydesktop/src/encode_image_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 07:27:50 UTC (rev 541) +++ trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 07:36:57 UTC (rev 542) @@ -38,7 +38,7 @@ &pdata->img_buff_ready_mutex); pthread_mutex_unlock(&pdata->img_buff_ready_mutex); pdata->th_enc_thread_waiting=0; - pdata->encoder_busy = 1; + pdata->encoder_busy = TRUE; if (pdata->paused) { pthread_mutex_lock(&pdata->pause_mutex); pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); @@ -62,7 +62,7 @@ pdata->avd+=pdata->frametime; } } - pdata->encoder_busy = 0; + pdata->encoder_busy = FALSE; } //last packet pdata->th_encoding_clean=1; Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:27:50 UTC (rev 541) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:36:57 UTC (rev 542) @@ -440,7 +440,7 @@ //switch back and front buffers (full_shots only) if(d_buff) img_sel=(img_sel)?0:1; - pdata->capture_busy = 1; + pdata->capture_busy = TRUE; BRWinCpy(&temp_brwin,&pdata->brwin); @@ -634,7 +634,7 @@ pthread_mutex_lock(&pdata->img_buff_ready_mutex); pthread_cond_broadcast(&pdata->image_buffer_ready); pthread_mutex_unlock(&pdata->img_buff_ready_mutex); - pdata->capture_busy = 0; + pdata->capture_busy = FALSE; } if(!pdata->args.noframe){ Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:27:50 UTC (rev 541) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:36:57 UTC (rev 542) @@ -94,8 +94,8 @@ pdata->pause_state_changed = FALSE; pdata->frames_total = 0; pdata->frames_lost = 0; - pdata->encoder_busy = 0; - pdata->capture_busy = 0; + pdata->encoder_busy = FALSE; + pdata->capture_busy = FALSE; if(!pdata->args.nosound){ if(!pdata->args.use_jack){ Modified: trunk/recordmydesktop/src/rmdtypes.h =================================================================== --- trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 07:27:50 UTC (rev 541) +++ trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 07:36:57 UTC (rev 542) @@ -355,8 +355,8 @@ //used to determine frame drop which can //happen on failure to receive a signal over a condition variable - int capture_busy, - encoder_busy; + boolean capture_busy, + encoder_busy; pthread_mutex_t pause_mutex; pthread_mutex_t time_mutex; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 08:03:21
|
Revision: 543 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=543&view=rev Author: enselic Date: 2008-09-14 08:03:16 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/rmdtypes.h: Move out a lot of includes to the .c files that needs them. src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/queryextensions.c src/rmd_cache.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/rmdmacro.h src/rmdthreads.c src/update_image.c src/wm_check.c: Adapted. Modified Paths: -------------- trunk/recordmydesktop/src/cache_audio.c trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/capture_sound.c trunk/recordmydesktop/src/encode_cache.c trunk/recordmydesktop/src/encode_sound_buffer.c trunk/recordmydesktop/src/flush_to_ogg.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/getzpixmap.c trunk/recordmydesktop/src/init_encoder.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/load_cache.c trunk/recordmydesktop/src/queryextensions.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_jack.c trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_timer.c trunk/recordmydesktop/src/rmdmacro.h trunk/recordmydesktop/src/rmdthreads.c trunk/recordmydesktop/src/rmdtypes.h trunk/recordmydesktop/src/update_image.c trunk/recordmydesktop/src/wm_check.c Modified: trunk/recordmydesktop/src/cache_audio.c =================================================================== --- trunk/recordmydesktop/src/cache_audio.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/cache_audio.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "cache_audio.h" Modified: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-14 08:03:16 UTC (rev 543) @@ -25,6 +25,7 @@ ******************************************************************************/ #include <signal.h> +#include <math.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/capture_sound.c =================================================================== --- trunk/recordmydesktop/src/capture_sound.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/capture_sound.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "capture_sound.h" Modified: trunk/recordmydesktop/src/encode_cache.c =================================================================== --- trunk/recordmydesktop/src/encode_cache.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/encode_cache.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "encode_cache.h" Modified: trunk/recordmydesktop/src/encode_sound_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "encode_sound_buffer.h" Modified: trunk/recordmydesktop/src/flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "encode_image_buffer.h" Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,13 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <limits.h> +#include <pthread.h> +#include <sys/shm.h> + +#include <X11/extensions/Xfixes.h> +#include <X11/extensions/XShm.h> + #include "rmdtypes.h" #include "get_frame.h" Modified: trunk/recordmydesktop/src/getzpixmap.c =================================================================== --- trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,11 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <X11/Xlib.h> +#include <X11/Xlibint.h> +#include <X11/extensions/shmstr.h> +#include <X11/extensions/XShm.h> + #include "rmdtypes.h" #include "getzpixmap.h" Modified: trunk/recordmydesktop/src/init_encoder.c =================================================================== --- trunk/recordmydesktop/src/init_encoder.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/init_encoder.c 2008-09-14 08:03:16 UTC (rev 543) @@ -26,6 +26,7 @@ #include <string.h> +#include <sys/stat.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "block_utils.h" Modified: trunk/recordmydesktop/src/load_cache.c =================================================================== --- trunk/recordmydesktop/src/load_cache.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/load_cache.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> #include <signal.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/queryextensions.c =================================================================== --- trunk/recordmydesktop/src/queryextensions.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/queryextensions.c 2008-09-14 08:03:16 UTC (rev 543) @@ -25,6 +25,8 @@ ******************************************************************************/ #include <X11/extensions/shape.h> +#include <X11/extensions/Xfixes.h> +#include <X11/extensions/Xdamage.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <sys/stat.h> + #include "rmdtypes.h" #include "rmd_cache.h" Modified: trunk/recordmydesktop/src/rmd_jack.c =================================================================== --- trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "rmd_jack.h" Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <pthread.h> + #include "rmdtypes.h" #include "block_utils.h" Modified: trunk/recordmydesktop/src/rmd_timer.c =================================================================== --- trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,11 +24,11 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ - #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include <pthread.h> #include <stdio.h> #include <stdlib.h> Modified: trunk/recordmydesktop/src/rmdmacro.h =================================================================== --- trunk/recordmydesktop/src/rmdmacro.h 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmdmacro.h 2008-09-14 08:03:16 UTC (rev 543) @@ -31,6 +31,8 @@ #include "config.h" #endif +#include <limits.h> + #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmdthreads.c =================================================================== --- trunk/recordmydesktop/src/rmdthreads.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmdthreads.c 2008-09-14 08:03:16 UTC (rev 543) @@ -28,9 +28,9 @@ #include "config.h" #endif +#include <pthread.h> #include <stdio.h> #include <stdlib.h> -#include <pthread.h> #include <unistd.h> #include "cache_audio.h" Modified: trunk/recordmydesktop/src/rmdtypes.h =================================================================== --- trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 08:03:16 UTC (rev 543) @@ -29,35 +29,9 @@ #include "config.h" #endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <math.h> -#include <unistd.h> -#include <fcntl.h> -#include <time.h> -#include <sys/time.h> -#include <sys/types.h> -#ifdef HAVE_MACHINE_ENDIAN_H - #include <machine/endian.h> -#else - #include <endian.h> -#endif -#include <limits.h> -#include <sys/stat.h> -#include <sys/ipc.h> -#include <sys/shm.h> #include <pthread.h> #include <zlib.h> #include <X11/Xlib.h> -#include <X11/Xlibint.h> -#include <X11/Xatom.h> -#include <X11/extensions/Xfixes.h> -#include <X11/extensions/Xdamage.h> -#include <X11/extensions/XShm.h> -#include <X11/extensions/shmstr.h> #include <theora/theora.h> #include <vorbis/codec.h> #include <vorbis/vorbisenc.h> Modified: trunk/recordmydesktop/src/update_image.c =================================================================== --- trunk/recordmydesktop/src/update_image.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/update_image.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,10 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <X11/Xlibint.h> +#include <X11/extensions/shmstr.h> +#include <X11/extensions/XShm.h> + #include "rmdtypes.h" #include "getzpixmap.h" Modified: trunk/recordmydesktop/src/wm_check.c =================================================================== --- trunk/recordmydesktop/src/wm_check.c 2008-09-14 07:36:57 UTC (rev 542) +++ trunk/recordmydesktop/src/wm_check.c 2008-09-14 08:03:16 UTC (rev 543) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include <X11/Xatom.h> + #include "rmdtypes.h" #include "wm_check.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 08:30:01
|
Revision: 544 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=544&view=rev Author: enselic Date: 2008-09-14 08:29:53 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/block_utils.c src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_image_buffer.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/make_dummy_pointer.c src/opendev.c src/parseargs.c src/poll_events.c src/queryextensions.c src/recordmydesktop.c src/rectinsert.c src/register_callbacks.c src/rmd_cache.c src/rmd_error.c src/rmd_frame.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/rmdmacro.h src/rmdthreads.c src/rmdtypes.h src/setbrwindow.c src/shortcuts.c src/specsfile.c src/test-rectinsert-data.c src/test-rectinsert.c src/update_image.c src/wm_check.c src/yuv_utils.c: There is no need for us to test if config.h exists. It's our pacakge, we know it exists. Also make sure that each .c files includes config.h as the first include. Modified Paths: -------------- trunk/recordmydesktop/src/block_utils.c trunk/recordmydesktop/src/cache_audio.c trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/capture_sound.c trunk/recordmydesktop/src/encode_cache.c trunk/recordmydesktop/src/encode_image_buffer.c trunk/recordmydesktop/src/encode_sound_buffer.c trunk/recordmydesktop/src/flush_to_ogg.c trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/getzpixmap.c trunk/recordmydesktop/src/init_encoder.c trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/load_cache.c trunk/recordmydesktop/src/make_dummy_pointer.c trunk/recordmydesktop/src/opendev.c trunk/recordmydesktop/src/parseargs.c trunk/recordmydesktop/src/poll_events.c trunk/recordmydesktop/src/queryextensions.c trunk/recordmydesktop/src/recordmydesktop.c trunk/recordmydesktop/src/rectinsert.c trunk/recordmydesktop/src/register_callbacks.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_error.c trunk/recordmydesktop/src/rmd_frame.c trunk/recordmydesktop/src/rmd_jack.c trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_timer.c trunk/recordmydesktop/src/rmdmacro.h trunk/recordmydesktop/src/rmdthreads.c trunk/recordmydesktop/src/rmdtypes.h trunk/recordmydesktop/src/setbrwindow.c trunk/recordmydesktop/src/shortcuts.c trunk/recordmydesktop/src/specsfile.c trunk/recordmydesktop/src/test-rectinsert-data.c trunk/recordmydesktop/src/test-rectinsert.c trunk/recordmydesktop/src/update_image.c trunk/recordmydesktop/src/wm_check.c trunk/recordmydesktop/src/yuv_utils.c Modified: trunk/recordmydesktop/src/block_utils.c =================================================================== --- trunk/recordmydesktop/src/block_utils.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/block_utils.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "block_utils.h" Modified: trunk/recordmydesktop/src/cache_audio.c =================================================================== --- trunk/recordmydesktop/src/cache_audio.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/cache_audio.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <signal.h> #include <math.h> Modified: trunk/recordmydesktop/src/capture_sound.c =================================================================== --- trunk/recordmydesktop/src/capture_sound.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/capture_sound.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/encode_cache.c =================================================================== --- trunk/recordmydesktop/src/encode_cache.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/encode_cache.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/encode_image_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "rmdtypes.h" #include "encode_image_buffer.h" Modified: trunk/recordmydesktop/src/encode_sound_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/encode_sound_buffer.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/flush_to_ogg.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/get_frame.c =================================================================== --- trunk/recordmydesktop/src/get_frame.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/get_frame.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <limits.h> #include <pthread.h> #include <sys/shm.h> Modified: trunk/recordmydesktop/src/getzpixmap.c =================================================================== --- trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/getzpixmap.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <X11/Xlib.h> #include <X11/Xlibint.h> #include <X11/extensions/shmstr.h> Modified: trunk/recordmydesktop/src/init_encoder.c =================================================================== --- trunk/recordmydesktop/src/init_encoder.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/init_encoder.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" #include <string.h> #include <sys/stat.h> Modified: trunk/recordmydesktop/src/initialize_data.c =================================================================== --- trunk/recordmydesktop/src/initialize_data.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/initialize_data.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/load_cache.c =================================================================== --- trunk/recordmydesktop/src/load_cache.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/load_cache.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include <signal.h> Modified: trunk/recordmydesktop/src/make_dummy_pointer.c =================================================================== --- trunk/recordmydesktop/src/make_dummy_pointer.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/make_dummy_pointer.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "rmdtypes.h" #include "make_dummy_pointer.h" Modified: trunk/recordmydesktop/src/opendev.c =================================================================== --- trunk/recordmydesktop/src/opendev.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/opendev.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,14 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" - - -// #include "recordmydesktop.h" -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - #include <stdlib.h> #include <stdio.h> #include <unistd.h> Modified: trunk/recordmydesktop/src/parseargs.c =================================================================== --- trunk/recordmydesktop/src/parseargs.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/parseargs.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "rmdtypes.h" #include "rmd_rescue.h" Modified: trunk/recordmydesktop/src/poll_events.c =================================================================== --- trunk/recordmydesktop/src/poll_events.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/poll_events.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,9 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif +#include "config.h" #include <stdio.h> #include <stdlib.h> Modified: trunk/recordmydesktop/src/queryextensions.c =================================================================== --- trunk/recordmydesktop/src/queryextensions.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/queryextensions.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <X11/extensions/shape.h> #include <X11/extensions/Xfixes.h> #include <X11/extensions/Xdamage.h> Modified: trunk/recordmydesktop/src/recordmydesktop.c =================================================================== --- trunk/recordmydesktop/src/recordmydesktop.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/recordmydesktop.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "rmdtypes.h" #include "encode_cache.h" Modified: trunk/recordmydesktop/src/rectinsert.c =================================================================== --- trunk/recordmydesktop/src/rectinsert.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rectinsert.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" #include "rmdtypes.h" #include "rectinsert.h" Modified: trunk/recordmydesktop/src/register_callbacks.c =================================================================== --- trunk/recordmydesktop/src/register_callbacks.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/register_callbacks.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <signal.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_cache.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <sys/stat.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmd_error.c =================================================================== --- trunk/recordmydesktop/src/rmd_error.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_error.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,11 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - #include <stdio.h> #include <stdlib.h> #include <X11/Xlib.h> Modified: trunk/recordmydesktop/src/rmd_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_frame.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_frame.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <stdio.h> #include <stdlib.h> #include <X11/Xlib.h> Modified: trunk/recordmydesktop/src/rmd_jack.c =================================================================== --- trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_jack.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_rescue.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <pthread.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/rmd_timer.c =================================================================== --- trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmd_timer.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,9 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif +#include "config.h" #include <pthread.h> #include <stdio.h> Modified: trunk/recordmydesktop/src/rmdmacro.h =================================================================== --- trunk/recordmydesktop/src/rmdmacro.h 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmdmacro.h 2008-09-14 08:29:53 UTC (rev 544) @@ -27,9 +27,7 @@ #ifndef RMDMACRO_H #define RMDMACRO_H 1 -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif +#include "config.h" #include <limits.h> Modified: trunk/recordmydesktop/src/rmdthreads.c =================================================================== --- trunk/recordmydesktop/src/rmdthreads.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmdthreads.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,9 +24,7 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif +#include "config.h" #include <pthread.h> #include <stdio.h> Modified: trunk/recordmydesktop/src/rmdtypes.h =================================================================== --- trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/rmdtypes.h 2008-09-14 08:29:53 UTC (rev 544) @@ -25,9 +25,7 @@ #ifndef RMDTYPES_H #define RMDTYPES_H 1 -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif +#include "config.h" #include <pthread.h> #include <zlib.h> Modified: trunk/recordmydesktop/src/setbrwindow.c =================================================================== --- trunk/recordmydesktop/src/setbrwindow.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/setbrwindow.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "rmdtypes.h" #include "setbrwindow.h" Modified: trunk/recordmydesktop/src/shortcuts.c =================================================================== --- trunk/recordmydesktop/src/shortcuts.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/shortcuts.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,11 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - #include <stdio.h> #include <stdlib.h> #include <string.h> Modified: trunk/recordmydesktop/src/specsfile.c =================================================================== --- trunk/recordmydesktop/src/specsfile.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/specsfile.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,11 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - #include <stdlib.h> #include <stdio.h> Modified: trunk/recordmydesktop/src/test-rectinsert-data.c =================================================================== --- trunk/recordmydesktop/src/test-rectinsert-data.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/test-rectinsert-data.c 2008-09-14 08:29:53 UTC (rev 544) @@ -20,6 +20,8 @@ * * ******************************************************************************/ +#include "config.h" + #include "test-rectinsert-types.h" #include "test-rectinsert-data.h" Modified: trunk/recordmydesktop/src/test-rectinsert.c =================================================================== --- trunk/recordmydesktop/src/test-rectinsert.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/test-rectinsert.c 2008-09-14 08:29:53 UTC (rev 544) @@ -20,6 +20,7 @@ * * ******************************************************************************/ +#include "config.h" #include "rmdtypes.h" #include "test-rectinsert-types.h" Modified: trunk/recordmydesktop/src/update_image.c =================================================================== --- trunk/recordmydesktop/src/update_image.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/update_image.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <X11/Xlibint.h> #include <X11/extensions/shmstr.h> #include <X11/extensions/XShm.h> Modified: trunk/recordmydesktop/src/wm_check.c =================================================================== --- trunk/recordmydesktop/src/wm_check.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/wm_check.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include <X11/Xatom.h> #include "rmdtypes.h" Modified: trunk/recordmydesktop/src/yuv_utils.c =================================================================== --- trunk/recordmydesktop/src/yuv_utils.c 2008-09-14 08:03:16 UTC (rev 543) +++ trunk/recordmydesktop/src/yuv_utils.c 2008-09-14 08:29:53 UTC (rev 544) @@ -24,6 +24,8 @@ * For further information contact me at joh...@gm... * ******************************************************************************/ +#include "config.h" + #include "yuv_utils.h" // Keep these global (for performance reasons I assume). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-14 13:06:33
|
Revision: 546 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=546&view=rev Author: enselic Date: 2008-09-14 13:06:20 +0000 (Sun, 14 Sep 2008) Log Message: ----------- src/*.[ch]: Rename files so that the name becomes rmd_some_file.[ch]. The exceptions are recordmydesktop.c which is the main file and skeleton.[ch] which are external files. src/Makefile.am: Adapt. Modified Paths: -------------- trunk/recordmydesktop/src/Makefile.am trunk/recordmydesktop/src/recordmydesktop.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_cache.h trunk/recordmydesktop/src/rmd_error.h trunk/recordmydesktop/src/rmd_frame.h trunk/recordmydesktop/src/rmd_jack.c trunk/recordmydesktop/src/rmd_jack.h trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_timer.c trunk/recordmydesktop/src/rmd_timer.h trunk/recordmydesktop/src/test-rectinsert-types.h trunk/recordmydesktop/src/test-rectinsert.c Added Paths: ----------- trunk/recordmydesktop/src/rmd_block_utils.c trunk/recordmydesktop/src/rmd_block_utils.h trunk/recordmydesktop/src/rmd_cache_audio.c trunk/recordmydesktop/src/rmd_cache_audio.h trunk/recordmydesktop/src/rmd_cache_frame.c trunk/recordmydesktop/src/rmd_cache_frame.h trunk/recordmydesktop/src/rmd_capture_sound.c trunk/recordmydesktop/src/rmd_capture_sound.h trunk/recordmydesktop/src/rmd_encode_cache.c trunk/recordmydesktop/src/rmd_encode_cache.h trunk/recordmydesktop/src/rmd_encode_image_buffer.c trunk/recordmydesktop/src/rmd_encode_image_buffer.h trunk/recordmydesktop/src/rmd_encode_sound_buffer.c trunk/recordmydesktop/src/rmd_encode_sound_buffer.h trunk/recordmydesktop/src/rmd_flush_to_ogg.c trunk/recordmydesktop/src/rmd_flush_to_ogg.h trunk/recordmydesktop/src/rmd_get_frame.c trunk/recordmydesktop/src/rmd_get_frame.h trunk/recordmydesktop/src/rmd_getzpixmap.c trunk/recordmydesktop/src/rmd_getzpixmap.h trunk/recordmydesktop/src/rmd_init_encoder.c trunk/recordmydesktop/src/rmd_init_encoder.h trunk/recordmydesktop/src/rmd_initialize_data.c trunk/recordmydesktop/src/rmd_initialize_data.h trunk/recordmydesktop/src/rmd_load_cache.c trunk/recordmydesktop/src/rmd_load_cache.h trunk/recordmydesktop/src/rmd_macro.h trunk/recordmydesktop/src/rmd_make_dummy_pointer.c trunk/recordmydesktop/src/rmd_make_dummy_pointer.h trunk/recordmydesktop/src/rmd_opendev.c trunk/recordmydesktop/src/rmd_opendev.h trunk/recordmydesktop/src/rmd_parseargs.c trunk/recordmydesktop/src/rmd_parseargs.h trunk/recordmydesktop/src/rmd_poll_events.c trunk/recordmydesktop/src/rmd_poll_events.h trunk/recordmydesktop/src/rmd_queryextensions.c trunk/recordmydesktop/src/rmd_queryextensions.h trunk/recordmydesktop/src/rmd_rectinsert.c trunk/recordmydesktop/src/rmd_rectinsert.h trunk/recordmydesktop/src/rmd_register_callbacks.c trunk/recordmydesktop/src/rmd_register_callbacks.h trunk/recordmydesktop/src/rmd_setbrwindow.c trunk/recordmydesktop/src/rmd_setbrwindow.h trunk/recordmydesktop/src/rmd_shortcuts.c trunk/recordmydesktop/src/rmd_shortcuts.h trunk/recordmydesktop/src/rmd_specsfile.c trunk/recordmydesktop/src/rmd_specsfile.h trunk/recordmydesktop/src/rmd_threads.c trunk/recordmydesktop/src/rmd_threads.h trunk/recordmydesktop/src/rmd_types.h trunk/recordmydesktop/src/rmd_update_image.c trunk/recordmydesktop/src/rmd_update_image.h trunk/recordmydesktop/src/rmd_wm_check.c trunk/recordmydesktop/src/rmd_wm_check.h trunk/recordmydesktop/src/rmd_yuv_utils.c trunk/recordmydesktop/src/rmd_yuv_utils.h Removed Paths: ------------- trunk/recordmydesktop/src/block_utils.c trunk/recordmydesktop/src/block_utils.h trunk/recordmydesktop/src/cache_audio.c trunk/recordmydesktop/src/cache_audio.h trunk/recordmydesktop/src/cache_frame.c trunk/recordmydesktop/src/cache_frame.h trunk/recordmydesktop/src/capture_sound.c trunk/recordmydesktop/src/capture_sound.h trunk/recordmydesktop/src/encode_cache.c trunk/recordmydesktop/src/encode_cache.h trunk/recordmydesktop/src/encode_image_buffer.c trunk/recordmydesktop/src/encode_image_buffer.h trunk/recordmydesktop/src/encode_sound_buffer.c trunk/recordmydesktop/src/encode_sound_buffer.h trunk/recordmydesktop/src/flush_to_ogg.c trunk/recordmydesktop/src/flush_to_ogg.h trunk/recordmydesktop/src/get_frame.c trunk/recordmydesktop/src/get_frame.h trunk/recordmydesktop/src/getzpixmap.c trunk/recordmydesktop/src/getzpixmap.h trunk/recordmydesktop/src/init_encoder.c trunk/recordmydesktop/src/init_encoder.h trunk/recordmydesktop/src/initialize_data.c trunk/recordmydesktop/src/initialize_data.h trunk/recordmydesktop/src/load_cache.c trunk/recordmydesktop/src/load_cache.h trunk/recordmydesktop/src/make_dummy_pointer.c trunk/recordmydesktop/src/make_dummy_pointer.h trunk/recordmydesktop/src/opendev.c trunk/recordmydesktop/src/opendev.h trunk/recordmydesktop/src/parseargs.c trunk/recordmydesktop/src/parseargs.h trunk/recordmydesktop/src/poll_events.c trunk/recordmydesktop/src/poll_events.h trunk/recordmydesktop/src/queryextensions.c trunk/recordmydesktop/src/queryextensions.h trunk/recordmydesktop/src/rectinsert.c trunk/recordmydesktop/src/rectinsert.h trunk/recordmydesktop/src/register_callbacks.c trunk/recordmydesktop/src/register_callbacks.h trunk/recordmydesktop/src/rmdmacro.h trunk/recordmydesktop/src/rmdthreads.c trunk/recordmydesktop/src/rmdthreads.h trunk/recordmydesktop/src/rmdtypes.h trunk/recordmydesktop/src/setbrwindow.c trunk/recordmydesktop/src/setbrwindow.h trunk/recordmydesktop/src/shortcuts.c trunk/recordmydesktop/src/shortcuts.h trunk/recordmydesktop/src/specsfile.c trunk/recordmydesktop/src/specsfile.h trunk/recordmydesktop/src/update_image.c trunk/recordmydesktop/src/update_image.h trunk/recordmydesktop/src/wm_check.c trunk/recordmydesktop/src/wm_check.h trunk/recordmydesktop/src/yuv_utils.c trunk/recordmydesktop/src/yuv_utils.h Modified: trunk/recordmydesktop/src/Makefile.am =================================================================== --- trunk/recordmydesktop/src/Makefile.am 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/Makefile.am 2008-09-14 13:06:20 UTC (rev 546) @@ -1,77 +1,77 @@ bin_PROGRAMS = recordmydesktop recordmydesktop_SOURCES = \ - block_utils.c \ - block_utils.h \ - cache_audio.c \ - cache_audio.h \ - cache_frame.c \ - cache_frame.h \ - capture_sound.c \ - capture_sound.h \ - encode_cache.c \ - encode_cache.h \ - encode_image_buffer.c \ - encode_image_buffer.h \ - encode_sound_buffer.c \ - encode_sound_buffer.h \ - flush_to_ogg.c \ - flush_to_ogg.h \ - get_frame.c \ - get_frame.h \ - getzpixmap.c \ - getzpixmap.h \ - init_encoder.c \ - init_encoder.h \ - initialize_data.c \ - initialize_data.h \ - load_cache.c \ - load_cache.h \ - make_dummy_pointer.c \ - make_dummy_pointer.h \ - opendev.c \ - opendev.h \ - parseargs.c \ - parseargs.h \ - poll_events.c \ - poll_events.h \ - queryextensions.c \ - queryextensions.h \ - recordmydesktop.c \ - rectinsert.c \ - rectinsert.h \ - register_callbacks.c \ - register_callbacks.h \ - rmd_cache.c \ - rmd_cache.h \ - rmd_error.c \ - rmd_error.h \ - rmd_frame.c \ - rmd_frame.h \ - rmd_jack.c \ - rmd_jack.h \ - rmd_rescue.c \ - rmd_rescue.h \ - rmd_timer.c \ - rmd_timer.h \ - rmdthreads.c \ - rmdthreads.h \ - rmdmacro.h \ - rmdtypes.h \ - setbrwindow.c \ - setbrwindow.h \ - shortcuts.c \ - shortcuts.h \ - skeleton.c \ - skeleton.h \ - specsfile.c \ - specsfile.h \ - update_image.c \ - update_image.h \ - yuv_utils.c \ - yuv_utils.h \ - wm_check.c \ - wm_check.h + recordmydesktop.c \ + rmd_block_utils.c \ + rmd_block_utils.h \ + rmd_cache.c \ + rmd_cache.h \ + rmd_cache_audio.c \ + rmd_cache_audio.h \ + rmd_cache_frame.c \ + rmd_cache_frame.h \ + rmd_capture_sound.c \ + rmd_capture_sound.h \ + rmd_encode_cache.c \ + rmd_encode_cache.h \ + rmd_encode_image_buffer.c \ + rmd_encode_image_buffer.h \ + rmd_encode_sound_buffer.c \ + rmd_encode_sound_buffer.h \ + rmd_error.c \ + rmd_error.h \ + rmd_flush_to_ogg.c \ + rmd_flush_to_ogg.h \ + rmd_frame.c \ + rmd_frame.h \ + rmd_get_frame.c \ + rmd_get_frame.h \ + rmd_getzpixmap.c \ + rmd_getzpixmap.h \ + rmd_init_encoder.c \ + rmd_init_encoder.h \ + rmd_initialize_data.c \ + rmd_initialize_data.h \ + rmd_jack.c \ + rmd_jack.h \ + rmd_load_cache.c \ + rmd_load_cache.h \ + rmd_macro.h \ + rmd_make_dummy_pointer.c \ + rmd_make_dummy_pointer.h \ + rmd_opendev.c \ + rmd_opendev.h \ + rmd_parseargs.c \ + rmd_parseargs.h \ + rmd_poll_events.c \ + rmd_poll_events.h \ + rmd_queryextensions.c \ + rmd_queryextensions.h \ + rmd_rectinsert.c \ + rmd_rectinsert.h \ + rmd_register_callbacks.c \ + rmd_register_callbacks.h \ + rmd_rescue.c \ + rmd_rescue.h \ + rmd_setbrwindow.c \ + rmd_setbrwindow.h \ + rmd_shortcuts.c \ + rmd_shortcuts.h \ + rmd_specsfile.c \ + rmd_specsfile.h \ + rmd_threads.c \ + rmd_threads.h \ + rmd_timer.c \ + rmd_timer.h \ + rmd_types.h \ + rmd_update_image.c \ + rmd_update_image.h \ + rmd_wm_check.c \ + rmd_wm_check.h \ + rmd_yuv_utils.c \ + rmd_yuv_utils.h \ + skeleton.c \ + skeleton.h recordmydesktop_CPPFLAGS = -D_THREAD_SAFE -pthread -Wall recordmydesktop_LDFLAGS = @X_LIBS@ @X_EXTRA_LIBS@ @X_PRE_LIBS@ @@ -83,10 +83,10 @@ CLEANFILES = $(EXTRA_PROGRAMS) test_rectinsert_SOURCES = \ - test-rectinsert.c \ - test-rectinsert-data.c \ - test-rectinsert-data.h \ - test-rectinsert-types.h \ - rectinsert.c + test-rectinsert.c \ + test-rectinsert-data.c \ + test-rectinsert-data.h \ + test-rectinsert-types.h \ + rmd_rectinsert.c test_rectinsert_CFLAGS = -Wall Deleted: trunk/recordmydesktop/src/block_utils.c =================================================================== --- trunk/recordmydesktop/src/block_utils.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/block_utils.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,37 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#include "config.h" - -#include "block_utils.h" - - -// FIXME: These globals are modified in other source files! We keep -// thsee here for now. These are the cache blocks. They need to be -// accesible in the dbuf macros -u_int32_t *yblocks, - *ublocks, - *vblocks; Deleted: trunk/recordmydesktop/src/block_utils.h =================================================================== --- trunk/recordmydesktop/src/block_utils.h 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/block_utils.h 2008-09-14 13:06:20 UTC (rev 546) @@ -1,170 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#ifndef BLOCK_UTILS_H -#define BLOCK_UTILS_H 1 - -#include "rmdtypes.h" -#include "rmdmacro.h" -#include "yuv_utils.h" - - -// We keep these global for now. FIXME: Isolate them. -extern u_int32_t *yblocks, - *ublocks, - *vblocks; - -#define POINT_IN_BLOCK(xv,yv,widthv,blocksize) ((yv/blocksize)*\ - (widthv/blocksize)+\ - (xv/blocksize)) - -#define UPDATE_Y_PLANE_DBUF(data,\ - data_back,\ - x_tm,\ - y_tm,\ - height_tm,\ - width_tm,\ - yuv,\ - __bit_depth__){ \ - int k,i;\ - register u_int##__bit_depth__##_t t_val;\ - register unsigned char *yuv_y=yuv->y+x_tm+y_tm*yuv->y_width,\ - *_yr=Yr,*_yg=Yg,*_yb=Yb;\ - register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ - *datapi_back=(u_int##__bit_depth__##_t *)data_back;\ - for(k=0;k<height_tm;k++){\ - for(i=0;i<width_tm;i++){\ - if(*datapi!=*datapi_back){\ - t_val=*datapi;\ - *yuv_y=_yr[__RVALUE_##__bit_depth__(t_val)] +\ - _yg[__GVALUE_##__bit_depth__(t_val)] +\ - _yb[__BVALUE_##__bit_depth__(t_val)] ;\ - yblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi++;\ - datapi_back++;\ - yuv_y++;\ - }\ - yuv_y+=yuv->y_width-width_tm;\ - }\ -} - -#define UPDATE_UV_PLANES_DBUF( data,\ - data_back,\ - x_tm,\ - y_tm,\ - height_tm,\ - width_tm,\ - yuv,\ - __sampling_type,\ - __bit_depth__){ \ - int k,i;\ - register u_int##__bit_depth__##_t t_val;\ - register unsigned char *yuv_u=yuv->u+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *yuv_v=yuv->v+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *_ur=Ur,*_ug=Ug,*_ubvr=UbVr,\ - *_vg=Vg,*_vb=Vb;\ - register u_int##__bit_depth__##_t *datapi=(u_int##__bit_depth__##_t *)data,\ - *datapi_next=NULL,\ - *datapi_back=(u_int##__bit_depth__##_t *)data_back,\ - *datapi_back_next=NULL;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next=datapi+width_tm;\ - datapi_back_next=datapi_back+width_tm;\ - for(k=0;k<height_tm;k+=2){\ - for(i=0;i<width_tm;i+=2){\ - if(( (*datapi!=*datapi_back) ||\ - (*(datapi+1)!=*(datapi_back+1)) ||\ - (*datapi_next!=*datapi_back_next) ||\ - (*(datapi_next+1)!=*(datapi_back_next+1)))){\ - UPDATE_A_UV_PIXEL( yuv_u,\ - yuv_v,\ - t_val,\ - datapi,\ - datapi_next,\ - _ur,_ug,_ubvr,_vg,_vb,\ - __sampling_type,\ - __bit_depth__)\ - ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi+=2;\ - datapi_back+=2;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=2;\ - datapi_back_next+=2;\ - }\ - yuv_u++;\ - yuv_v++;\ - }\ - yuv_u+=(yuv->y_width-width_tm)/2;\ - yuv_v+=(yuv->y_width-width_tm)/2;\ - datapi+=width_tm;\ - datapi_back+=width_tm;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=width_tm;\ - datapi_back_next+=width_tm;\ - }\ - }\ - }\ - else{\ - for(k=0;k<height_tm;k+=2){\ - for(i=0;i<width_tm;i+=2){\ - if ((*datapi!=*datapi_back)){\ - UPDATE_A_UV_PIXEL( yuv_u,\ - yuv_v,\ - t_val,\ - datapi,\ - datapi_next,\ - _ur,_ug,_ubvr,_vg,_vb,\ - __sampling_type,\ - __bit_depth__)\ - ublocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - vblocks[POINT_IN_BLOCK(i,k,width_tm,Y_UNIT_WIDTH)]=1;\ - }\ - datapi+=2;\ - datapi_back+=2;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=2;\ - datapi_back_next+=2;\ - }\ - yuv_u++;\ - yuv_v++;\ - }\ - yuv_u+=(yuv->y_width-width_tm)/2;\ - yuv_v+=(yuv->y_width-width_tm)/2;\ - datapi+=width_tm;\ - datapi_back+=width_tm;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next+=width_tm;\ - datapi_back_next+=width_tm;\ - }\ - }\ - }\ -} - - -#endif Deleted: trunk/recordmydesktop/src/cache_audio.c =================================================================== --- trunk/recordmydesktop/src/cache_audio.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/cache_audio.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,108 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#include "config.h" - -#include <pthread.h> - -#include "rmdtypes.h" - -#include "cache_audio.h" -#include "rmd_jack.h" - - -void *CacheSoundBuffer(ProgData *pdata){ -//We are simply going to throw sound on the disk. -//It's sound is tiny compared to that of image, so -//compressing would reducethe overall size by only an -//insignificant fraction. -#ifdef HAVE_JACK_H - void *jackbuf=NULL; - if(pdata->args.use_jack){ - jackbuf=malloc(pdata->sound_framesize*pdata->jdata->buffersize); - } -#endif - while((pdata->running)){ - SndBuffer *buff=NULL; - - if (pdata->paused) { - pthread_mutex_lock(&pdata->pause_mutex); - pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); - pthread_mutex_unlock(&pdata->pause_mutex); - } - if(!pdata->args.use_jack){ - if(pdata->sound_buffer==NULL){ - pdata->v_enc_thread_waiting=1; - pthread_mutex_lock(&pdata->snd_buff_ready_mutex); - pthread_cond_wait(&pdata->sound_data_read, - &pdata->snd_buff_ready_mutex); - pthread_mutex_unlock(&pdata->snd_buff_ready_mutex); - pdata->v_enc_thread_waiting=0; - } - if(pdata->sound_buffer==NULL || !pdata->running){ - break; - } - pthread_mutex_lock(&pdata->sound_buffer_mutex); - buff=pdata->sound_buffer; - //advance the list - pdata->sound_buffer=pdata->sound_buffer->next; - pthread_mutex_unlock(&pdata->sound_buffer_mutex); - fwrite(buff->data,1,pdata->periodsize*pdata->sound_framesize, - pdata->cache_data->afp); - free(buff->data); - free(buff); - } - else{ -#ifdef HAVE_JACK_H - if((*jack_ringbuffer_read_space_p)(pdata->jdata->sound_buffer)>= - (pdata->sound_framesize*pdata->jdata->buffersize)){ - (*jack_ringbuffer_read_p)(pdata->jdata->sound_buffer, - jackbuf, - (pdata->sound_framesize* - pdata->jdata->buffersize)); - fwrite(jackbuf,1,(pdata->sound_framesize* - pdata->jdata->buffersize), - pdata->cache_data->afp); - } - else{ - pdata->v_enc_thread_waiting=1; - pthread_mutex_lock(&pdata->snd_buff_ready_mutex); - pthread_cond_wait(&pdata->sound_data_read, - &pdata->snd_buff_ready_mutex); - pthread_mutex_unlock(&pdata->snd_buff_ready_mutex); - pdata->v_enc_thread_waiting=0; - continue; - } -#endif - } - pdata->avd-=pdata->periodtime; - } - - fclose(pdata->cache_data->afp); - pthread_exit(&errno); -} - - Deleted: trunk/recordmydesktop/src/cache_audio.h =================================================================== --- trunk/recordmydesktop/src/cache_audio.h 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/cache_audio.h 2008-09-14 13:06:20 UTC (rev 546) @@ -1,42 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#ifndef CACHE_AUDIO_H -#define CACHE_AUDIO_H 1 - -#include "rmdtypes.h" - - -/** -* Sound caching thread. Simply writes the pcm buffers on disk -* -* \param pdata ProgData struct containing all program data -* -*/ -void *CacheSoundBuffer(ProgData *pdata); - - -#endif Deleted: trunk/recordmydesktop/src/cache_frame.c =================================================================== --- trunk/recordmydesktop/src/cache_frame.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/cache_frame.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,295 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#include "config.h" - -#include <signal.h> -#include <math.h> - -#include "rmdtypes.h" - -#include "cache_frame.h" -#include "rmd_cache.h" -#include "block_utils.h" - - -//minimize hard disk access -#define CACHE_OUT_BUFFER_SIZE 4096 -//500 mb file size -#define CACHE_FILE_SIZE_LIMIT (500*1<<20) - - -static int FlushBlock(unsigned char *buf, - int blockno, - int width, - int height, - int blockwidth, - gzFile *fp, - FILE *ucfp, - int flush) { - int j,i, - bytes_written=0, - block_i=(!blockwidth)?0:(blockno/(width/blockwidth)),//place on the grid - block_k=(!blockwidth)?0:(blockno%(width/blockwidth)); - register unsigned char *buf_reg=(&buf[(block_i* - width+ - block_k)*blockwidth]); - static unsigned char out_buffer[CACHE_OUT_BUFFER_SIZE]; - static unsigned int out_buffer_bytes=0; - - if(out_buffer_bytes+pow(blockwidth,2)>=CACHE_OUT_BUFFER_SIZE || - (flush && out_buffer_bytes)){ - if(ucfp==NULL) - gzwrite(fp,(void *)out_buffer,out_buffer_bytes); - else - fwrite((void *)out_buffer,1,out_buffer_bytes,ucfp); - bytes_written=out_buffer_bytes; - out_buffer_bytes=0; - } - if(!flush){ - register unsigned char *out_buf_reg=&out_buffer[out_buffer_bytes]; - for(j=0;j<blockwidth;j++){ - for(i=0;i<blockwidth;i++) - (*out_buf_reg++)=(*buf_reg++); - out_buffer_bytes+=blockwidth; - buf_reg+=width-blockwidth; - } - } - - return bytes_written; -} - -void *CacheImageBuffer(ProgData *pdata){ - - gzFile *fp=NULL; - FILE *ucfp=NULL; - int index_entry_size=sizeof(u_int32_t), - blocknum_x=pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, - blocknum_y=pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH, - firstrun=1, - frameno=0, - nbytes=0, - nth_cache=1; - unsigned int total_bytes=0, - total_received_bytes=0; - u_int32_t ynum,unum,vnum, - y_short_blocks[blocknum_x*blocknum_y], - u_short_blocks[blocknum_x*blocknum_y], - v_short_blocks[blocknum_x*blocknum_y]; - - if(!pdata->args.zerocompression){ - fp=pdata->cache_data->ifp; - if(fp==NULL)exit(13); - } - else{ - ucfp=pdata->cache_data->uncifp; - if(ucfp==NULL)exit(13); - } - - - while(pdata->running){ - int j; - FrameHeader fheader; - ynum=unum=vnum=0; - - pdata->th_enc_thread_waiting=1; - pthread_mutex_lock(&pdata->img_buff_ready_mutex); - pthread_cond_wait(&pdata->image_buffer_ready, - &pdata->img_buff_ready_mutex); - pthread_mutex_unlock(&pdata->img_buff_ready_mutex); - pdata->th_enc_thread_waiting=0; - - if (pdata->paused) { - pthread_mutex_lock(&pdata->pause_mutex); - pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); - pthread_mutex_unlock(&pdata->pause_mutex); - } - - pthread_mutex_lock(&pdata->yuv_mutex); - - //find and flush different blocks - if(firstrun){ - firstrun=0; - for(j=0;j<blocknum_x*blocknum_y;j++){ - ynum++; - yblocks[ynum-1]=1; - y_short_blocks[ynum-1]=j; - unum++; - ublocks[unum-1]=1; - u_short_blocks[ynum-1]=j; - vnum++; - vblocks[vnum-1]=1; - v_short_blocks[ynum-1]=j; - } - } - else{ - /**COMPRESS ARRAYS*/ - for(j=0;j<blocknum_x*blocknum_y;j++){ - if(yblocks[j]){ - ynum++; - y_short_blocks[ynum-1]=j; - } - if(ublocks[j]){ - unum++; - u_short_blocks[unum-1]=j; - } - if(vblocks[j]){ - vnum++; - v_short_blocks[vnum-1]=j; - } - } - } - - /**WRITE FRAME TO DISK*/ - if(!pdata->args.zerocompression){ - if(ynum*4+unum+vnum>(blocknum_x*blocknum_y*6)/10) - gzsetparams (fp,1,Z_FILTERED); - else - gzsetparams (fp,0,Z_FILTERED); - } - - strncpy(fheader.frame_prefix,"FRAM",4); - fheader.frameno=++frameno; - fheader.current_total = pdata->frames_total; - - fheader.Ynum=ynum; - fheader.Unum=unum; - fheader.Vnum=vnum; - if(!pdata->args.zerocompression){ - nbytes+=gzwrite(fp,(void*)&fheader,sizeof(FrameHeader)); - //flush indexes - if(ynum)nbytes+=gzwrite(fp, - (void*)y_short_blocks, - ynum*index_entry_size); - if(unum)nbytes+=gzwrite(fp, - (void*)u_short_blocks, - unum*index_entry_size); - if(vnum)nbytes+=gzwrite(fp, - (void*)v_short_blocks, - vnum*index_entry_size); - } - else{ - nbytes+=sizeof(FrameHeader)* - fwrite((void*)&fheader,sizeof(FrameHeader),1,ucfp); - //flush indexes - if(ynum)nbytes+=index_entry_size* - fwrite(y_short_blocks,index_entry_size,ynum,ucfp); - if(unum)nbytes+=index_entry_size* - fwrite(u_short_blocks,index_entry_size,unum,ucfp); - if(vnum)nbytes+=index_entry_size* - fwrite(v_short_blocks,index_entry_size,vnum,ucfp); - } - //flush the blocks for each buffer - if(ynum){ - for(j=0;j<ynum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.y,y_short_blocks[j], - pdata->enc_data->yuv.y_width, - pdata->enc_data->yuv.y_height, - Y_UNIT_WIDTH, - fp, - ucfp, - 0); - } - if(unum){ - for(j=0;j<unum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.u,u_short_blocks[j], - pdata->enc_data->yuv.uv_width, - pdata->enc_data->yuv.uv_height, - UV_UNIT_WIDTH, - fp, - ucfp, - 0); - } - if(vnum){ - for(j=0;j<vnum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.v,v_short_blocks[j], - pdata->enc_data->yuv.uv_width, - pdata->enc_data->yuv.uv_height, - UV_UNIT_WIDTH, - fp, - ucfp, - 0); - } - //release main buffer - pthread_mutex_unlock(&pdata->yuv_mutex); - - nbytes+=FlushBlock(NULL,0,0,0,0,fp,ucfp,1); - /**@________________@**/ - pdata->avd+=pdata->frametime; - if(nbytes>CACHE_FILE_SIZE_LIMIT){ - if(SwapCacheFilesWrite(pdata->cache_data->imgdata, - nth_cache,&fp,&ucfp)){ - fprintf(stderr,"New cache file could not be created.\n" - "Ending recording...\n"); - fflush(stderr); - raise(SIGINT); //if for some reason we cannot make a new file - //we have to stop. If we are out of space, - //which means - //that encoding cannot happen either, - //InitEncoder will cause an abrupt end with an - //error code and the cache will remain intact. - //If we've chosen separate two-stages, - //the program will make a - //clean exit. - //In either case data will be preserved so if - //space is freed the recording - //can be proccessed later. - } - total_bytes+=(nbytes>>20); - nth_cache++; - nbytes=0; - } - } - total_bytes+=(nbytes>>20); - total_received_bytes=((frameno*((pdata->specs.depth>=24)?4:2)* - pdata->brwin.rgeom.width*pdata->brwin.rgeom.height)>>20); - if(total_received_bytes){ - fprintf(stderr,"\n*********************************************\n" - "\nCached %u MB, from %u MB that were received.\n" - "Average cache compression ratio: %u %%\n" - "\n*********************************************\n", - total_bytes, - total_received_bytes, - (total_bytes*100)/total_received_bytes); - - } - - fprintf(stderr, - "Saved %d frames in a total of %d requests\n", - frameno, - pdata->frames_total); - fflush(stderr); - - if(!pdata->args.zerocompression){ - gzflush(fp,Z_FINISH); - gzclose(fp); - } - else{ - fflush(ucfp); - fclose(ucfp); - } - pthread_exit(&errno); -} Deleted: trunk/recordmydesktop/src/cache_frame.h =================================================================== --- trunk/recordmydesktop/src/cache_frame.h 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/cache_frame.h 2008-09-14 13:06:20 UTC (rev 546) @@ -1,43 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#ifndef CACHE_FRAME_H -#define CACHE_FRAME_H 1 - -#include "rmdtypes.h" - - -/** -* Image caching thread. Copies the yuv buffer, compares with the last one and -* caches the result. -* -* \param pdata ProgData struct containing all program data -* -*/ -void *CacheImageBuffer(ProgData *pdata); - - -#endif Deleted: trunk/recordmydesktop/src/capture_sound.c =================================================================== --- trunk/recordmydesktop/src/capture_sound.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/capture_sound.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,174 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#include "config.h" - -#include <pthread.h> - -#include "rmdtypes.h" - -#include "capture_sound.h" -#include "opendev.h" -#include "rmd_jack.h" - - -void *CaptureSound(ProgData *pdata){ - -#ifdef HAVE_LIBASOUND - int frames=pdata->periodsize; -#endif - //start capturing only after first frame is taken - usleep(pdata->frametime); - - while(pdata->running){ - int sret=0; - SndBuffer *newbuf,*tmp; - if (pdata->paused) { -#ifdef HAVE_LIBASOUND - if(!pdata->hard_pause){ - snd_pcm_pause(pdata->sound_handle,1); - pthread_mutex_lock(&pdata->pause_mutex); - pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); - pthread_mutex_unlock(&pdata->pause_mutex); - snd_pcm_pause(pdata->sound_handle,0); - } - else{//device doesn't support pause(is this the norm?mine doesn't) - snd_pcm_close(pdata->sound_handle); - pthread_mutex_lock(&pdata->pause_mutex); - pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); - pthread_mutex_unlock(&pdata->pause_mutex); - pdata->sound_handle= - OpenDev(pdata->args.device, - &pdata->args.channels, - &pdata->args.frequency, - &pdata->args.buffsize, - NULL, - NULL, - NULL//let's hope that the device capabilities - //didn't magically change - ); - if(pdata->sound_handle==NULL){ - fprintf(stderr,"Couldn't reopen sound device.Exiting\n"); - pdata->running = FALSE; - errno=3; - pthread_exit(&errno); - } - } -#else - close(pdata->sound_handle); - pthread_mutex_lock(&pdata->pause_mutex); - pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); - pthread_mutex_unlock(&pdata->pause_mutex); - pdata->sound_handle= - OpenDev(pdata->args.device, - pdata->args.channels, - pdata->args.frequency); - if(pdata->sound_handle<0){ - fprintf(stderr,"Couldn't reopen sound device.Exiting\n"); - pdata->running = FALSE; - errno=3; - pthread_exit(&errno); - } -#endif - } - - //create new buffer - newbuf=(SndBuffer *)malloc(sizeof(SndBuffer)); -#ifdef HAVE_LIBASOUND - newbuf->data=(signed char *)malloc(frames*pdata->sound_framesize); -#else - newbuf->data=(signed char *)malloc(((pdata->args.buffsize<<1)* - pdata->args.channels)); -#endif - newbuf->next=NULL; - - //read data into new buffer -#ifdef HAVE_LIBASOUND - while(sret<frames){ - int temp_sret=snd_pcm_readi(pdata->sound_handle, - newbuf->data+pdata->sound_framesize*sret, - frames-sret); - if(temp_sret==-EPIPE){ - fprintf(stderr,"%s: Overrun occurred.\n", - snd_strerror(temp_sret)); - snd_pcm_prepare(pdata->sound_handle); - } - else if (temp_sret<0){ - fprintf(stderr,"An error occured while reading sound data:\n" - " %s\n", - snd_strerror(temp_sret)); - snd_pcm_prepare(pdata->sound_handle); - } - else - sret+=temp_sret; - } -#else - sret=0; - //oss recording loop - do{ - int temp_sret=read(pdata->sound_handle, - &newbuf->data[sret], - ((pdata->args.buffsize<<1)* - pdata->args.channels)-sret); - if(temp_sret<0){ - fprintf(stderr,"An error occured while reading from soundcard" - "%s\n" - "Error description:\n" - "%s\n",pdata->args.device,strerror(errno)); - } - else - sret+=temp_sret; - }while(sret<((pdata->args.buffsize<<1)* - pdata->args.channels)); -#endif - //queue the new buffer - pthread_mutex_lock(&pdata->sound_buffer_mutex); - tmp=pdata->sound_buffer; - if(pdata->sound_buffer==NULL) - pdata->sound_buffer=newbuf; - else{ - while(tmp->next!=NULL) - tmp=tmp->next; - tmp->next=newbuf; - } - pthread_mutex_unlock(&pdata->sound_buffer_mutex); - - - //signal that there are data to be proccessed - pthread_mutex_lock(&pdata->snd_buff_ready_mutex); - pthread_cond_signal(&pdata->sound_data_read); - pthread_mutex_unlock(&pdata->snd_buff_ready_mutex); - } -#ifdef HAVE_LIBASOUND - snd_pcm_close(pdata->sound_handle); -#else - close(pdata->sound_handle); -#endif - pthread_exit(&errno); -} - - - Deleted: trunk/recordmydesktop/src/capture_sound.h =================================================================== --- trunk/recordmydesktop/src/capture_sound.h 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/capture_sound.h 2008-09-14 13:06:20 UTC (rev 546) @@ -1,42 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#ifndef CAPTURE_SOUND_H -#define CAPTURE_SOUND_H 1 - -#include "rmdtypes.h" - - -/** -* Sound capturing thread. Data are placed on a -* list to be picked up by other threads. -* -* \param pdata ProgData struct containing all program data -*/ -void *CaptureSound(ProgData *pdata); - - -#endif Deleted: trunk/recordmydesktop/src/encode_cache.c =================================================================== --- trunk/recordmydesktop/src/encode_cache.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/encode_cache.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,71 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#include "config.h" - -#include <pthread.h> - -#include "rmdtypes.h" - -#include "encode_cache.h" -#include "flush_to_ogg.h" -#include "init_encoder.h" -#include "load_cache.h" - - -void EncodeCache(ProgData *pdata){ - pthread_t flush_to_ogg_t, - load_cache_t; - fprintf(stderr,"STATE:ENCODING\n");fflush(stderr); - fprintf(stderr,"Encoding started!\nThis may take several minutes.\n" - "Pressing Ctrl-C will cancel the procedure" - " (resuming will not be possible, but\n" - "any portion of the video, which is already encoded won't be deleted).\n" - "Please wait...\n"); - pdata->running = TRUE; - InitEncoder(pdata,pdata->enc_data,1); - //load encoding and flushing threads - if(!pdata->args.nosound){ - //before we start loading again - //we need to free any left-overs - while(pdata->sound_buffer!=NULL){ - free(pdata->sound_buffer->data); - pdata->sound_buffer=pdata->sound_buffer->next; - } - } - pthread_create(&flush_to_ogg_t,NULL,(void *)FlushToOgg,(void *)pdata); - - //start loading image and audio - pthread_create(&load_cache_t,NULL,(void *)LoadCache,(void *)pdata); - - //join and finish - pthread_join(load_cache_t,NULL); - fprintf(stderr,"Encoding finished!\nWait a moment please...\n"); - pthread_join(flush_to_ogg_t,NULL); - -} - - Deleted: trunk/recordmydesktop/src/encode_cache.h =================================================================== --- trunk/recordmydesktop/src/encode_cache.h 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/encode_cache.h 2008-09-14 13:06:20 UTC (rev 546) @@ -1,41 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 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 joh...@gm... * -******************************************************************************/ - -#ifndef ENCODE_CACHE_H -#define ENCODE_CACHE_H 1 - -#include "rmdtypes.h" - - -/** -* Encode cache into an -* ogg stream. -* \param pdata ProgData struct containing all program data -*/ -void EncodeCache(ProgData *pdata); - - -#endif Deleted: trunk/recordmydesktop/src/encode_image_buffer.c =================================================================== --- trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 12:09:31 UTC (rev 545) +++ trunk/recordmydesktop/src/encode_image_buffer.c 2008-09-14 13:06:20 UTC (rev 546) @@ -1,95 +0,0 @@ -/****************************************************************************** -* recordMyDesktop * -******************************************************************************* -* * -* Copyright (C) 2006,2007,2008 John Varouhakis * -* * -* ... [truncated message content] |
From: svn c. f. r. <rec...@li...> - 2008-09-15 23:25:55
|
Revision: 549 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=549&view=rev Author: enselic Date: 2008-09-16 06:25:52 +0000 (Tue, 16 Sep 2008) Log Message: ----------- src/rmd_types.h: Remove DisplaySpecs::bpixel and wpixel. src/rmd_make_dummy_pointer.[ch]: Take Display as a parameter to MakeDummyPointer() and put bpixel and wpixel locally here instead. src/rmd.c: Remove initialization of DisplaySpecs::bpixel and wpixel. src/rmd_initialize_data.c: Pass Display to MakeDummyPointer(). Modified Paths: -------------- trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_initialize_data.c trunk/recordmydesktop/src/rmd_make_dummy_pointer.c trunk/recordmydesktop/src/rmd_make_dummy_pointer.h trunk/recordmydesktop/src/rmd_types.h Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2008-09-16 05:57:17 UTC (rev 548) +++ trunk/recordmydesktop/src/rmd.c 2008-09-16 06:25:52 UTC (rev 549) @@ -84,8 +84,6 @@ pdata.specs.visual = DefaultVisual(pdata.dpy, pdata.specs.screen); pdata.specs.gc = DefaultGC(pdata.dpy, pdata.specs.screen); pdata.specs.depth = DefaultDepth(pdata.dpy, pdata.specs.screen); - pdata.specs.bpixel = XBlackPixel(pdata.dpy, pdata.specs.screen); - pdata.specs.wpixel = XWhitePixel(pdata.dpy, pdata.specs.screen); if((pdata.specs.depth!=32)&& (pdata.specs.depth!=24)&& Modified: trunk/recordmydesktop/src/rmd_initialize_data.c =================================================================== --- trunk/recordmydesktop/src/rmd_initialize_data.c 2008-09-16 05:57:17 UTC (rev 548) +++ trunk/recordmydesktop/src/rmd_initialize_data.c 2008-09-16 06:25:52 UTC (rev 549) @@ -63,9 +63,12 @@ fprintf(stderr,"Initializing...\n"); MakeMatrices(); if(pdata->args.have_dummy_cursor){ - pdata->dummy_pointer=MakeDummyPointer(&pdata->specs,16, - pdata->args.cursor_color,0, - &pdata->npxl); + pdata->dummy_pointer = MakeDummyPointer(pdata->dpy, + &pdata->specs, + 16, + pdata->args.cursor_color, + 0, + &pdata->npxl); pdata->dummy_p_size=16; } else Modified: trunk/recordmydesktop/src/rmd_make_dummy_pointer.c =================================================================== --- trunk/recordmydesktop/src/rmd_make_dummy_pointer.c 2008-09-16 05:57:17 UTC (rev 548) +++ trunk/recordmydesktop/src/rmd_make_dummy_pointer.c 2008-09-16 06:25:52 UTC (rev 549) @@ -26,17 +26,22 @@ #include "config.h" +#include <X11/Xlib.h> + #include "rmd_types.h" #include "rmd_macro.h" #include "rmd_make_dummy_pointer.h" -unsigned char *MakeDummyPointer(DisplaySpecs *specs, +unsigned char *MakeDummyPointer(Display *display, + DisplaySpecs *specs, int size, int color, int type, unsigned char *npxl){ + unsigned long bpixel = XBlackPixel(display, specs->screen); + unsigned long wpixel = XWhitePixel(display, specs->screen); int i,k,o='.'; unsigned long b=(color)?'w':'b', w=(color)?'b':'w'; @@ -59,18 +64,15 @@ {o,o,o,o,o,o,w,w,o,o,o,o,o,o,o,o}} }; unsigned char *ret=malloc(size*sizeof(char[size*4])); - unsigned char wp[4]={ - ((specs->wpixel^0xff000000)>>24), - ((specs->wpixel^0x00ff0000)>>16), - ((specs->wpixel^0x0000ff00)>>8), - ((specs->wpixel^0x000000ff)) - }; - unsigned char bp[4]={ - ((specs->bpixel^0xff000000)>>24), - ((specs->bpixel^0x00ff0000)>>16), - ((specs->bpixel^0x0000ff00)>>8), - ((specs->bpixel^0x000000ff)) - }; + unsigned char wp[4]={ (wpixel ^ 0xff000000) >> 24, + (wpixel ^ 0x00ff0000) >> 16, + (wpixel ^ 0x0000ff00) >> 8, + (wpixel ^ 0x000000ff) }; + unsigned char bp[4]={ (bpixel ^ 0xff000000) >> 24, + (bpixel ^ 0x00ff0000) >> 16, + (bpixel ^ 0x0000ff00) >> 8, + (bpixel ^ 0x000000ff) }; + *npxl=((wp[0]-1)!=bp[0])?wp[0]-100:wp[0]-102; for(i=0;i<size;i++){ for(k=0;k<size;k++){ Modified: trunk/recordmydesktop/src/rmd_make_dummy_pointer.h =================================================================== --- trunk/recordmydesktop/src/rmd_make_dummy_pointer.h 2008-09-16 05:57:17 UTC (rev 548) +++ trunk/recordmydesktop/src/rmd_make_dummy_pointer.h 2008-09-16 06:25:52 UTC (rev 549) @@ -48,7 +48,8 @@ * * \returns Pointer to pixel data of the cursor */ -unsigned char *MakeDummyPointer(DisplaySpecs *specs, +unsigned char *MakeDummyPointer(Display *display, + DisplaySpecs *specs, int size, int color, int type, Modified: trunk/recordmydesktop/src/rmd_types.h =================================================================== --- trunk/recordmydesktop/src/rmd_types.h 2008-09-16 05:57:17 UTC (rev 548) +++ trunk/recordmydesktop/src/rmd_types.h 2008-09-16 06:25:52 UTC (rev 549) @@ -86,8 +86,6 @@ Visual *visual; GC gc; int depth; - unsigned long bpixel; - unsigned long wpixel; }DisplaySpecs; typedef struct _WGeometry{ //basic geometry of a window or area This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-16 10:04:13
|
Revision: 551 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=551&view=rev Author: iovar Date: 2008-09-16 17:04:11 +0000 (Tue, 16 Sep 2008) Log Message: ----------- src/rmd_yuv_utils.c : Applied patch by Luca Bonavita, that corrects the rgb to yuv algorithm and provides near perfect colorspace conversion. src/rmd_get_frame.c : The sum of the chroma subcomponents, in the XFIXES_POINTER_TO_YUV macro, must wrap around the unsigned char type range, for the calculation to be correct. So, we take its modulo to that range. Modified Paths: -------------- trunk/recordmydesktop/src/rmd_get_frame.c trunk/recordmydesktop/src/rmd_yuv_utils.c Modified: trunk/recordmydesktop/src/rmd_get_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_get_frame.c 2008-09-16 06:51:44 UTC (rev 550) +++ trunk/recordmydesktop/src/rmd_get_frame.c 2008-09-16 17:04:11 UTC (rev 551) @@ -106,9 +106,10 @@ yuv->y[x_tm+(i-x_offset)+(k+y_tm-y_offset)*yuv->y_width]=\ (yuv->y[x_tm+(i-x_offset)+(k-y_offset+y_tm)*yuv->y_width]*\ (UCHAR_MAX-data[(j*RMD_ULONG_SIZE_T)+__ABYTE])+\ - (Yr[data[(j*RMD_ULONG_SIZE_T)+__RBYTE]]+\ - Yg[data[(j*RMD_ULONG_SIZE_T)+__GBYTE]] +\ - Yb[data[(j*RMD_ULONG_SIZE_T)+__BBYTE]])*\ + ( ( Yr[data[(j*RMD_ULONG_SIZE_T)+__RBYTE]]+\ + Yg[data[(j*RMD_ULONG_SIZE_T)+__GBYTE]] +\ + Yb[data[(j*RMD_ULONG_SIZE_T)+__BBYTE]] ) % \ + ( UCHAR_MAX + 1 ) ) * \ data[(j*RMD_ULONG_SIZE_T)+__ABYTE])/UCHAR_MAX ;\ if((k%2)&&(i%2)){\ avg3=AVG_4_PIXELS(data,\ @@ -128,13 +129,17 @@ (yuv->u[x_2+(i-x_offset)/2+((k-y_offset)/2+y_2)*\ yuv->uv_width]*\ (UCHAR_MAX-avg3)+\ - (Ur[avg2] + Ug[avg1] +UbVr[avg0])*avg3)/UCHAR_MAX;\ + ( (Ur[avg2] + Ug[avg1] + UbVr[avg0]) % \ + ( UCHAR_MAX + 1 ) ) * avg3 ) / \ + UCHAR_MAX;\ yuv->v[x_2+(i-x_offset)/2+((k-y_offset)/2+y_2)*\ yuv->uv_width]=\ (yuv->v[x_2+(i-x_offset)/2+((k-y_offset)/2+y_2)*\ yuv->uv_width]*\ (UCHAR_MAX-avg3)+\ - (UbVr[avg2] + Vg[avg1] +Vb[avg0])*avg3)/UCHAR_MAX;\ + ( ( UbVr[avg2] + Vg[avg1] + Vb[avg0] ) % \ + ( UCHAR_MAX + 1 ) ) * avg3 ) / \ + UCHAR_MAX; \ }\ }\ }\ Modified: trunk/recordmydesktop/src/rmd_yuv_utils.c =================================================================== --- trunk/recordmydesktop/src/rmd_yuv_utils.c 2008-09-16 06:51:44 UTC (rev 550) +++ trunk/recordmydesktop/src/rmd_yuv_utils.c 2008-09-16 17:04:11 UTC (rev 551) @@ -1,10 +1,10 @@ /****************************************************************************** -* recordMyDesktop * +* recordMyDesktop - rmd_yuv_utils.c * ******************************************************************************* * * * Copyright (C) 2006,2007,2008 John Varouhakis * +* Copyright (C) 2008 Luca Bonavita * * * -* * * 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 * @@ -34,24 +34,52 @@ Vg[256], Vb[256]; void MakeMatrices (void) { + int i; + + /* assuming 8-bit precision */ + float Yscale = 219.0, Yoffset = 16.0; + float Cscale = 224.0, Coffset = 128.0; + float RGBscale = 255.0; + + float r, g, b; + float yr, yg, yb; + float ur, ug, ub; + float vg, vb; /* vr intentionally missing */ + + /* as for ITU-R BT-601-6 specifications: */ + r = 0.299; + b = 0.114; + g = 1.0 - r - b; + + /* as a note, here are the coefficients + as for ITU-R BT-709 specifications: + r=0.2126; b=0.0722; g=1.0-r-b; */ + + yr = r * Yscale / RGBscale; + yg = g * Yscale / RGBscale; + yb = b * Yscale / RGBscale; + ur = ( -0.5 * r / ( 1 - b ) ) * Cscale / RGBscale; + ug = ( -0.5 * g / ( 1 - b ) ) * Cscale / RGBscale; + ub = ( 0.5 * Cscale / RGBscale); + /* vr = ub so UbVr = ub*i = vr*i */ + vg = ( -0.5 * g / ( 1 - r ) ) * Cscale / RGBscale; + vb = ( -0.5 * b / ( 1 - r ) ) * Cscale / RGBscale; + + for( i = 0 ; i < 256 ; i++ ) { - for (i = 0; i < 256; i++) - Yr[i] = (2104.0 * i) / 8192.0 + 8.0; - for (i = 0; i < 256; i++) - Yg[i] = (4130.0 * i) / 8192.0 + 8.0; - for (i = 0; i < 256; i++) - Yb[i] = (802.0 * i) / 8192.0; + Yr[i] = (unsigned char) roundf( Yoffset + yr * i ); + Yg[i] = (unsigned char) roundf( yg * i ); + Yb[i] = (unsigned char) roundf( yb * i ); - for (i = 0; i < 256; i++) - Ur[i] = 37.8 - (1204.0 * i) / 8192.0 + 8.0; - for (i = 0; i < 256; i++) - Ug[i] = 74.2 - (2384.0 * i) / 8192.0 + 8.0; - for (i = 0; i < 256; i++) - UbVr[i] = (3598.0 * i) / 8192.0 ; + Ur[i] = (unsigned char) roundf( Coffset + ur * i ); + Ug[i] = (unsigned char) roundf( ug * i ); + UbVr[i] = (unsigned char) roundf( ub * i ); - for (i = 0; i < 256; i++) - Vg[i] = 93.8 - (3013.0 * i) / 8192.0 + 8.0; - for (i = 0; i < 256; i++) - Vb[i] = 18.2 - (585.0 * i) / 8192.0 + 8.0; + Vg[i] = (unsigned char) roundf( vg * i ); + Vb[i] = (unsigned char) roundf( Coffset + vb * i ); + + } + } + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-16 12:45:29
|
Revision: 553 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=553&view=rev Author: enselic Date: 2008-09-16 19:45:26 +0000 (Tue, 16 Sep 2008) Log Message: ----------- src/rmd_types.h: Add a rescue_path member to ProgArgs. src/rmd_initialize_data.c: Initialize rescue_path. src/rmd_parseargs.c: Don't rmdRescue() in ParseArgs(). We want the parse args functionality to be free from depdenencies. ParseArgs() should only parse args. Instead set the new rescue_path ProgArgs member. src/rmd.c: If a rescue_path was given, call rmdRescue() with that path. By doing this rmd_parseargs.c becomes more self-contained. Modified Paths: -------------- trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_initialize_data.c trunk/recordmydesktop/src/rmd_parseargs.c trunk/recordmydesktop/src/rmd_types.h Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2008-09-16 18:46:38 UTC (rev 552) +++ trunk/recordmydesktop/src/rmd.c 2008-09-16 19:45:26 UTC (rev 553) @@ -28,15 +28,16 @@ #include "rmd_types.h" +#include "rmd_cache.h" #include "rmd_encode_cache.h" +#include "rmd_error.h" #include "rmd_initialize_data.h" #include "rmd_parseargs.h" #include "rmd_queryextensions.h" -#include "rmd_cache.h" -#include "rmd_error.h" -#include "rmd_threads.h" +#include "rmd_rescue.h" #include "rmd_setbrwindow.h" #include "rmd_shortcuts.h" +#include "rmd_threads.h" #include "rmd_wm_check.h" @@ -49,6 +50,9 @@ if (!ParseArgs(argc, argv, &pdata.args)) { exit(1); } + if (pdata.args.rescue_path != NULL) { + exit(rmdRescue(pdata.args.rescue_path)); + } if(XInitThreads ()==0){ fprintf(stderr,"Couldn't initialize thread support!\n"); exit(7); Modified: trunk/recordmydesktop/src/rmd_initialize_data.c =================================================================== --- trunk/recordmydesktop/src/rmd_initialize_data.c 2008-09-16 18:46:38 UTC (rev 552) +++ trunk/recordmydesktop/src/rmd_initialize_data.c 2008-09-16 19:45:26 UTC (rev 553) @@ -199,6 +199,7 @@ args->y = 0; args->width = 0; args->height = 0; + args->rescue_path = NULL; args->nosound = 0; args->full_shots = 0; args->follow_mouse = 0; Modified: trunk/recordmydesktop/src/rmd_parseargs.c =================================================================== --- trunk/recordmydesktop/src/rmd_parseargs.c 2008-09-16 18:46:38 UTC (rev 552) +++ trunk/recordmydesktop/src/rmd_parseargs.c 2008-09-16 19:45:26 UTC (rev 553) @@ -29,7 +29,6 @@ #include "rmd_types.h" #include "rmd_macro.h" -#include "rmd_rescue.h" static void PrintConfig(void) { @@ -524,8 +523,7 @@ } else if(!strcmp(argv[i],"-rescue")){ if(i+1<argc){ - int ex_st=rmdRescue(argv[i+1]); - exit(ex_st); + arg_return->rescue_path = argv[i + 1]; } else{ fprintf(stderr,"Argument Usage: -rescue path_to_data\n"); Modified: trunk/recordmydesktop/src/rmd_types.h =================================================================== --- trunk/recordmydesktop/src/rmd_types.h 2008-09-16 18:46:38 UTC (rev 552) +++ trunk/recordmydesktop/src/rmd_types.h 2008-09-16 19:45:26 UTC (rev 553) @@ -129,6 +129,7 @@ #else u_int32_t buffsize; #endif + const char* rescue_path; int nosound; //do not record sound(default 0) int noshared; //do not use shared memory extension(default 0) int nowmcheck; //do not check if there's a 3d comp window manager This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-09-16 13:09:06
|
Revision: 554 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=554&view=rev Author: enselic Date: 2008-09-16 20:09:03 +0000 (Tue, 16 Sep 2008) Log Message: ----------- src/rmd_macro.h: Move the DEFAULT_AUDIO_DEVICE define to src/rmd_types.h here. src/rmd_parseargs.c: That way we can get rid of the dependency to rmd_macro.h from here, yay! Modified Paths: -------------- trunk/recordmydesktop/src/rmd_macro.h trunk/recordmydesktop/src/rmd_parseargs.c trunk/recordmydesktop/src/rmd_types.h Modified: trunk/recordmydesktop/src/rmd_macro.h =================================================================== --- trunk/recordmydesktop/src/rmd_macro.h 2008-09-16 19:45:26 UTC (rev 553) +++ trunk/recordmydesktop/src/rmd_macro.h 2008-09-16 20:09:03 UTC (rev 554) @@ -84,12 +84,6 @@ #define Y_UNIT_WIDTH 0x0010 #define UV_UNIT_WIDTH 0x0008 -#ifdef HAVE_LIBASOUND - #define DEFAULT_AUDIO_DEVICE "hw:0,0" -#else - #define DEFAULT_AUDIO_DEVICE "/dev/dsp" -#endif - #define I16TOA(number,buffer){\ int t_num=(number),__k=0,__i=0;\ char *t_buf=malloc(8);\ Modified: trunk/recordmydesktop/src/rmd_parseargs.c =================================================================== --- trunk/recordmydesktop/src/rmd_parseargs.c 2008-09-16 19:45:26 UTC (rev 553) +++ trunk/recordmydesktop/src/rmd_parseargs.c 2008-09-16 20:09:03 UTC (rev 554) @@ -26,11 +26,11 @@ #include "config.h" +#include <stdio.h> + #include "rmd_types.h" -#include "rmd_macro.h" - static void PrintConfig(void) { fprintf(stderr,"\nrecordMyDesktop was compiled with" " the following options:\n\n"); Modified: trunk/recordmydesktop/src/rmd_types.h =================================================================== --- trunk/recordmydesktop/src/rmd_types.h 2008-09-16 19:45:26 UTC (rev 553) +++ trunk/recordmydesktop/src/rmd_types.h 2008-09-16 20:09:03 UTC (rev 554) @@ -37,9 +37,13 @@ #ifdef HAVE_LIBASOUND #include <alsa/asoundlib.h> + + #define DEFAULT_AUDIO_DEVICE "hw:0,0" #else #include <sys/ioctl.h> #include <sys/soundcard.h> + + #define DEFAULT_AUDIO_DEVICE "/dev/dsp" #endif #ifdef HAVE_JACK_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-10-03 08:29:18
|
Revision: 564 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=564&view=rev Author: enselic Date: 2008-10-03 08:29:13 +0000 (Fri, 03 Oct 2008) Log Message: ----------- src/rmd_setbrwindow.c: Make SetBRWindow() return a success-boolean, i.e. TRUE for success and FALSE for failure. src/rmd.c: Adapt. Modified Paths: -------------- trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_setbrwindow.c Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2008-10-03 08:25:53 UTC (rev 563) +++ trunk/recordmydesktop/src/rmd.c 2008-10-03 08:29:13 UTC (rev 564) @@ -96,7 +96,7 @@ " color depth modes are currently supported.\n"); exit(10); } - if(SetBRWindow(pdata.dpy,&pdata.brwin,&pdata.specs,&pdata.args)) + if (!SetBRWindow(pdata.dpy, &pdata.brwin, &pdata.specs, &pdata.args)) exit(11); //check if we are under compiz or beryl, Modified: trunk/recordmydesktop/src/rmd_setbrwindow.c =================================================================== --- trunk/recordmydesktop/src/rmd_setbrwindow.c 2008-10-03 08:25:53 UTC (rev 563) +++ trunk/recordmydesktop/src/rmd_setbrwindow.c 2008-10-03 08:29:13 UTC (rev 564) @@ -124,10 +124,10 @@ -int SetBRWindow(Display *dpy, - BRWindow *brwin, - DisplaySpecs *specs, - ProgArgs *args){ +boolean SetBRWindow(Display *dpy, + BRWindow *brwin, + DisplaySpecs *specs, + ProgArgs *args) { //before we start recording we have to make sure the ranges are valid if(args->windowid==0){//root window //first set it up @@ -147,7 +147,7 @@ fprintf(stderr,"Window size specification out of bounds!" "(current resolution:%dx%d)\n", specs->width,specs->height); - return 1; + return FALSE; } } else{ @@ -158,7 +158,7 @@ XGetWindowAttributes(dpy,args->windowid,&attribs); if((attribs.map_state==IsUnviewable)||(attribs.map_state==IsUnmapped)){ fprintf(stderr,"Window must be mapped and visible!\n"); - return 1; + return FALSE; } XTranslateCoordinates(dpy, specs->root, @@ -176,7 +176,7 @@ if((brwin->geom.x+brwin->geom.width>specs->width)|| (brwin->geom.y+brwin->geom.height>specs->height)){ fprintf(stderr,"Window must be on visible screen area!\n"); - return 1; + return FALSE; } brwin->rgeom.x=brwin->geom.x+args->x; @@ -188,7 +188,7 @@ if((args->x+brwin->rgeom.width>brwin->geom.width)|| (args->y+brwin->rgeom.height>brwin->geom.height)){ fprintf(stderr,"Specified Area is larger than window!\n"); - return 1; + return FALSE; } } fprintf(stderr, "Initial recording window is set to:\n" @@ -209,5 +209,5 @@ (((brwin->rgeom.height+15)>>4)<<4)* ((specs->depth==16)?2:4); - return 0; + return TRUE; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-11-15 16:28:38
|
Revision: 568 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=568&view=rev Author: iovar Date: 2008-11-15 16:28:36 +0000 (Sat, 15 Nov 2008) Log Message: ----------- src/rmd_wm_is_compositing.[ch], src/rmd.c, src/rmd_types.h, src/Makefile.am : Added rmdWMIsCompositing method which is used to determine if the window manager is compositing and thus if it will be recorded in --full-shots mode. This method replaces the name check that was previously used, but rmdWMCheck hasn't been removed as it is also a proper method of identifying compliance with the freedesktop.org standards, which is a neccessary step before determining whether a window manager is compositing. This method is still not perfect as non-3d compositing WM's will trigger full-shots, without neccessarily needing it, but the only penalty for this mistake will be increased CPU usage while previously, non-identification of compositing WM as such could lead in distorted/unusable videos (e.g. KWin when used in 3d compositing mode). Modified Paths: -------------- trunk/recordmydesktop/src/Makefile.am trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_types.h Added Paths: ----------- trunk/recordmydesktop/src/rmd_wm_is_compositing.c trunk/recordmydesktop/src/rmd_wm_is_compositing.h Modified: trunk/recordmydesktop/src/Makefile.am =================================================================== --- trunk/recordmydesktop/src/Makefile.am 2008-11-15 15:12:18 UTC (rev 567) +++ trunk/recordmydesktop/src/Makefile.am 2008-11-15 16:28:36 UTC (rev 568) @@ -68,6 +68,8 @@ rmd_update_image.h \ rmd_wm_check.c \ rmd_wm_check.h \ + rmd_wm_is_compositing.c \ + rmd_wm_is_compositing.h \ rmd_yuv_utils.c \ rmd_yuv_utils.h \ skeleton.c \ Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2008-11-15 15:12:18 UTC (rev 567) +++ trunk/recordmydesktop/src/rmd.c 2008-11-15 16:28:36 UTC (rev 568) @@ -38,7 +38,7 @@ #include "rmd_setbrwindow.h" #include "rmd_shortcuts.h" #include "rmd_threads.h" -#include "rmd_wm_check.h" +#include "rmd_wm_is_compositing.h" int main(int argc,char **argv){ @@ -99,28 +99,17 @@ if (!SetBRWindow(pdata.dpy, &pdata.brwin, &pdata.specs, &pdata.args)) exit(11); - //check if we are under compiz or beryl, - //in which case we must enable full-shots - //and with it use of shared memory.User can override this - pdata.window_manager=((pdata.args.nowmcheck)? - NULL:rmdWMCheck(pdata.dpy,pdata.specs.root)); - if(pdata.window_manager==NULL){ - fprintf(stderr,"Not taking window manager into account.\n"); - } - //Right now only wm's that I know of performing - //3d compositing are beryl and compiz. - //No, the blue screen in metacity doesn't count :) - //names can be compiz for compiz and beryl/beryl-co/beryl-core - //for beryl(so it's strncmp ) - else if(!strcmp(pdata.window_manager,"compiz") || - !strncmp(pdata.window_manager,"beryl",5)){ - fprintf(stderr,"\nDetected 3d compositing window manager.\n" + if( !pdata.args.nowmcheck && + rmdWMIsCompositing( pdata.dpy, pdata.specs.screen ) ) { + + fprintf(stderr,"\nDetected compositing window manager.\n" "Reverting to full screen capture at every frame.\n" "To disable this check run with --no-wm-check\n" "(though that is not advised, since it will " "probably produce faulty results).\n\n"); pdata.args.full_shots=1; pdata.args.noshared=0; + } QueryExtensions(pdata.dpy, Modified: trunk/recordmydesktop/src/rmd_types.h =================================================================== --- trunk/recordmydesktop/src/rmd_types.h 2008-11-15 15:12:18 UTC (rev 567) +++ trunk/recordmydesktop/src/rmd_types.h 2008-11-15 16:28:36 UTC (rev 568) @@ -304,7 +304,6 @@ //when drawing the dummy pointer unsigned int periodtime,//time that a sound buffer lasts (microsecs) frametime; //time that a frame lasts (microsecs) - char *window_manager; //name of the window manager at program launch Window shaped_w; //frame int damage_event, //damage event base code damage_error, //damage error base code Added: trunk/recordmydesktop/src/rmd_wm_is_compositing.c =================================================================== --- trunk/recordmydesktop/src/rmd_wm_is_compositing.c (rev 0) +++ trunk/recordmydesktop/src/rmd_wm_is_compositing.c 2008-11-15 16:28:36 UTC (rev 568) @@ -0,0 +1,66 @@ +/****************************************************************************** +* recordMyDesktop * +******************************************************************************* +* * +* Copyright (C) 2006,2007,2008 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 joh...@gm... * +******************************************************************************/ + +#include "config.h" + +#include <X11/Xatom.h> + +#include "rmd_types.h" + +#include "rmd_wm_check.h" + +#include "rmd_wm_is_compositing.h" + +boolean rmdWMIsCompositing( Display *dpy, int screen ) { + + Window win; + Atom atom; + char buf[32]; + char *window_manager=rmdWMCheck( dpy, + RootWindow( dpy, screen ) ); + + //If the wm name is queried successfully the wm is compliant (source + //http://standards.freedesktop.org/wm-spec/1.4/ar01s03.html#id2568282 ) + //in which case we will also free() the allcoated string. + + if( window_manager == NULL ) + return FALSE; + else + free( window_manager ); + + + snprintf( buf, sizeof(buf), "_NET_WM_CM_S%d", screen); + atom = XInternAtom(dpy, buf, True); + if (atom == None) return FALSE; + + win = XGetSelectionOwner(dpy, atom); + + return win != None; + + + +} + Added: trunk/recordmydesktop/src/rmd_wm_is_compositing.h =================================================================== --- trunk/recordmydesktop/src/rmd_wm_is_compositing.h (rev 0) +++ trunk/recordmydesktop/src/rmd_wm_is_compositing.h 2008-11-15 16:28:36 UTC (rev 568) @@ -0,0 +1,48 @@ +/****************************************************************************** +* recordMyDesktop * +******************************************************************************* +* * +* Copyright (C) 2006,2007,2008 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 joh...@gm... * +******************************************************************************/ + +#ifndef RMD_WM_IS_COMPOSITING_H +#define RMD_WM_IS_COMPOSITING_H 1 + +#include "rmd_types.h" + + +/** +*Check if the window manager is compositing (duh!). +* +* \param dpy Connection to the server +* +* \param screen screen number/id that the window manager runs on +* +* \returns TRUE if compositing, false otherwise or when +* the window manager doesn't support the required +* freedesktop.org hints for the test to be done +* succesfully. +*/ + +boolean rmdWMIsCompositing( Display *dpy, int screen) ; + +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2008-11-22 16:39:12
|
Revision: 580 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=580&view=rev Author: iovar Date: 2008-11-22 16:39:04 +0000 (Sat, 22 Nov 2008) Log Message: ----------- src/rmd_cache.c, src/rmd_cache_frame.c, src/rmd_get_frame.c, src/rmd_init_encoder.c, src/rmd_poll_events.c, src/rmd_rectinsert.c, src/rmd_rectinsert.h, src/rmd_rescue.c, src/rmd_setbrwindow.c, src/rmd_specsfile.c, src/rmd_types.h, src/rmd_update_image.c, src/test-rectinsert-data.c, src/test-rectinsert-types.h, src/test-rectinsert.c: Replaced the custom WGeometry struct-type with the Xlib-provided XRectangle type. Since XRectangle has unsigned width and height, any places in the code where -1 was used in these members of WGeometry to denote invalid rects, where changed to 0 ( zero width or height rects are also considered invalid, wherever met). Also, the following variable renames happened : wgeom => xrect, rgeom => rrect, geom => rect and so on. Some other minor changes in this commit are all related to this type change and also the fact that WGeometry had members of type int, while XRectangle is comprised of short members. Modified Paths: -------------- trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_cache_frame.c trunk/recordmydesktop/src/rmd_get_frame.c trunk/recordmydesktop/src/rmd_init_encoder.c trunk/recordmydesktop/src/rmd_poll_events.c trunk/recordmydesktop/src/rmd_rectinsert.c trunk/recordmydesktop/src/rmd_rectinsert.h trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_setbrwindow.c trunk/recordmydesktop/src/rmd_specsfile.c trunk/recordmydesktop/src/rmd_types.h trunk/recordmydesktop/src/rmd_update_image.c trunk/recordmydesktop/src/test-rectinsert-data.c trunk/recordmydesktop/src/test-rectinsert-types.h trunk/recordmydesktop/src/test-rectinsert.c Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_cache.c 2008-11-22 16:39:04 UTC (rev 580) @@ -132,10 +132,10 @@ //we set the buffer only since there's //no need to initialize the encoder from now. - width=((pdata->brwin.rgeom.width + 15) >>4)<<4; - height=((pdata->brwin.rgeom.height + 15) >>4)<<4; - offset_x=((width-pdata->brwin.rgeom.width)/2)&~1; - offset_y=((height-pdata->brwin.rgeom.height)/2)&~1; + width=((pdata->brwin.rrect.width + 15) >>4)<<4; + height=((pdata->brwin.rrect.height + 15) >>4)<<4; + offset_x=((width-pdata->brwin.rrect.width)/2)&~1; + offset_y=((height-pdata->brwin.rrect.height)/2)&~1; (pdata)->enc_data=enc_data_t; Modified: trunk/recordmydesktop/src/rmd_cache_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache_frame.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_cache_frame.c 2008-11-22 16:39:04 UTC (rev 580) @@ -266,7 +266,7 @@ { unsigned int bytes_per_pixel = pdata->specs.depth >= 24 ? 4 : 2; - unsigned int pixels_per_frame = pdata->brwin.rgeom.width * pdata->brwin.rgeom.height; + unsigned int pixels_per_frame = pdata->brwin.rrect.width * pdata->brwin.rrect.height; total_received_bytes = ((unsigned int)frameno) * bytes_per_pixel * pixels_per_frame; } Modified: trunk/recordmydesktop/src/rmd_get_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_get_frame.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_get_frame.c 2008-11-22 16:39:04 UTC (rev 580) @@ -51,41 +51,41 @@ data_array[(k_tm*width_img+i_tm-1)*RMD_ULONG_SIZE_T+offset]+\ data_array[((k_tm-1)*width_img+i_tm-1)*RMD_ULONG_SIZE_T+offset])/4) -#define CLIP_DUMMY_POINTER_AREA(dummy_p_area,brwin,wgeom){\ - (wgeom)->x=((((dummy_p_area).x+\ - (dummy_p_area).width>=(brwin)->rgeom.x)&&\ - ((dummy_p_area).x<=(brwin)->rgeom.x+\ - (brwin)->rgeom.width))?\ - (((dummy_p_area).x<=(brwin)->rgeom.x)?\ - (brwin)->rgeom.x:(dummy_p_area).x):-1);\ - (wgeom)->y=((((dummy_p_area).y+\ - (dummy_p_area).height>=(brwin)->rgeom.y)&&\ - ((dummy_p_area).y<=(brwin)->rgeom.y+\ - (brwin)->rgeom.height))?\ - (((dummy_p_area).y<=(brwin)->rgeom.y)?\ - (brwin)->rgeom.y:(dummy_p_area).y):-1);\ - (wgeom)->width=((dummy_p_area).x<=(brwin)->rgeom.x)?\ +#define CLIP_DUMMY_POINTER_AREA(dummy_p_area,brwin,xrect){\ + (xrect)->x=((((dummy_p_area).x+\ + (dummy_p_area).width>=(brwin)->rrect.x)&&\ + ((dummy_p_area).x<=(brwin)->rrect.x+\ + (brwin)->rrect.width))?\ + (((dummy_p_area).x<=(brwin)->rrect.x)?\ + (brwin)->rrect.x:(dummy_p_area).x):-1);\ + (xrect)->y=((((dummy_p_area).y+\ + (dummy_p_area).height>=(brwin)->rrect.y)&&\ + ((dummy_p_area).y<=(brwin)->rrect.y+\ + (brwin)->rrect.height))?\ + (((dummy_p_area).y<=(brwin)->rrect.y)?\ + (brwin)->rrect.y:(dummy_p_area).y):-1);\ + (xrect)->width=((dummy_p_area).x<=(brwin)->rrect.x)?\ (dummy_p_area).width-\ - ((brwin)->rgeom.x-(dummy_p_area).x):\ - ((dummy_p_area).x<=(brwin)->rgeom.x+\ - (brwin)->rgeom.width)?\ - ((brwin)->rgeom.width-(dummy_p_area).x+\ - (brwin)->rgeom.x<(dummy_p_area).width)?\ - (brwin)->rgeom.width-(dummy_p_area).x+\ - (brwin)->rgeom.x:(dummy_p_area).width:-1;\ - (wgeom)->height=((dummy_p_area).y<=(brwin)->rgeom.y)?\ + ((brwin)->rrect.x-(dummy_p_area).x):\ + ((dummy_p_area).x<=(brwin)->rrect.x+\ + (brwin)->rrect.width)?\ + ((brwin)->rrect.width-(dummy_p_area).x+\ + (brwin)->rrect.x<(dummy_p_area).width)?\ + (brwin)->rrect.width-(dummy_p_area).x+\ + (brwin)->rrect.x:(dummy_p_area).width:0;\ + (xrect)->height=((dummy_p_area).y<=(brwin)->rrect.y)?\ (dummy_p_area).height-\ - ((brwin)->rgeom.y-(dummy_p_area).y):\ - ((dummy_p_area).y<=(brwin)->rgeom.y+\ - (brwin)->rgeom.height)?\ - ((brwin)->rgeom.height-(dummy_p_area).y+\ - (brwin)->rgeom.y<(dummy_p_area).height)?\ - (brwin)->rgeom.height-(dummy_p_area).y+\ - (brwin)->rgeom.y:(dummy_p_area).height:-1;\ - if((wgeom)->width>(brwin)->rgeom.width)\ - (wgeom)->width=(brwin)->rgeom.width;\ - if((wgeom)->height>(brwin)->rgeom.height)\ - (wgeom)->height=(brwin)->rgeom.height;\ + ((brwin)->rrect.y-(dummy_p_area).y):\ + ((dummy_p_area).y<=(brwin)->rrect.y+\ + (brwin)->rrect.height)?\ + ((brwin)->rrect.height-(dummy_p_area).y+\ + (brwin)->rrect.y<(dummy_p_area).height)?\ + (brwin)->rrect.height-(dummy_p_area).y+\ + (brwin)->rrect.y:(dummy_p_area).height:0;\ + if((xrect)->width>(brwin)->rrect.width)\ + (xrect)->width=(brwin)->rrect.width;\ + if((xrect)->height>(brwin)->rrect.height)\ + (xrect)->height=(brwin)->rrect.height;\ } #define XFIXES_POINTER_TO_YUV(yuv,\ @@ -210,17 +210,17 @@ ZPixmap, 0, *pxl_data, - pdata->brwin.rgeom.width, - pdata->brwin.rgeom.height, + pdata->brwin.rrect.width, + pdata->brwin.rrect.height, 8, 0); XInitImage((*image)); GetZPixmap(pdata->dpy,pdata->specs.root, (*image)->data, - pdata->brwin.rgeom.x, - pdata->brwin.rgeom.y, - pdata->brwin.rgeom.width, - pdata->brwin.rgeom.height); + pdata->brwin.rrect.x, + pdata->brwin.rrect.y, + pdata->brwin.rrect.width, + pdata->brwin.rrect.height); } else{ (*image)=XShmCreateImage(pdata->dpy, @@ -229,8 +229,8 @@ ZPixmap, *pxl_data, shminfo, - pdata->brwin.rgeom.width, - pdata->brwin.rgeom.height); + pdata->brwin.rrect.width, + pdata->brwin.rrect.height); (*shminfo).shmid=shmget(IPC_PRIVATE, (*image)->bytes_per_line* (*image)->height, @@ -249,15 +249,15 @@ XShmGetImage(pdata->dpy, pdata->specs.root, (*image), - pdata->brwin.rgeom.x, - pdata->brwin.rgeom.y, + pdata->brwin.rrect.x, + pdata->brwin.rrect.y, AllPlanes); } UPDATE_YUV_BUFFER((&pdata->enc_data->yuv), ((unsigned char*)((*image))->data),NULL, (pdata->enc_data->x_offset),(pdata->enc_data->y_offset), - (pdata->brwin.rgeom.width),(pdata->brwin.rgeom.height), + (pdata->brwin.rrect.width),(pdata->brwin.rrect.height), (pdata->args.no_quick_subsample), pdata->specs.depth); @@ -267,14 +267,14 @@ //make a deep copy static void BRWinCpy(BRWindow *target, BRWindow *source) { - target->geom.x=source->geom.x; - target->geom.y=source->geom.y; - target->geom.width=source->geom.width; - target->geom.height=source->geom.height; - target->rgeom.x=source->rgeom.x; - target->rgeom.y=source->rgeom.y; - target->rgeom.width=source->rgeom.width; - target->rgeom.height=source->rgeom.height; + target->rect.x=source->rect.x; + target->rect.y=source->rect.y; + target->rect.width=source->rect.width; + target->rect.height=source->rect.height; + target->rrect.x=source->rrect.x; + target->rrect.y=source->rrect.y; + target->rrect.width=source->rrect.width; + target->rrect.height=source->rrect.height; target->nbytes=source->nbytes; target->windowid=source->windowid; @@ -289,14 +289,14 @@ int height) { int t_x=0,t_y=0; - t_x=cursor_x-brwin->rgeom.width/2; + t_x=cursor_x-brwin->rrect.width/2; t_x=(t_x>>1)<<1; - brwin->rgeom.x=(t_x<0)?0:((t_x+brwin->rgeom.width>width)? - width-brwin->rgeom.width:t_x); - t_y=cursor_y-brwin->rgeom.height/2; + brwin->rrect.x=(t_x<0)?0:((t_x+brwin->rrect.width>width)? + width-brwin->rrect.width:t_x); + t_y=cursor_y-brwin->rrect.height/2; t_y=(t_y>>1)<<1; - brwin->rgeom.y=(t_y<0)?0:((t_y+brwin->rgeom.height>height)? - height-brwin->rgeom.height:t_y); + brwin->rrect.y=(t_y<0)?0:((t_y+brwin->rrect.height>height)? + height-brwin->rrect.height:t_y); } /** @@ -335,10 +335,10 @@ while (temp != NULL) { - column_start = (temp->geom.x - x_offset) / Y_UNIT_WIDTH; - column_end = (temp->geom.x + (temp->geom.width - 1) - x_offset) / Y_UNIT_WIDTH; - row_start = (temp->geom.y - y_offset) / Y_UNIT_WIDTH; - row_end = (temp->geom.y + (temp->geom.height - 1) - y_offset) / Y_UNIT_WIDTH; + column_start = (temp->rect.x - x_offset) / Y_UNIT_WIDTH; + column_end = (temp->rect.x + (temp->rect.width - 1) - x_offset) / Y_UNIT_WIDTH; + row_start = (temp->rect.y - y_offset) / Y_UNIT_WIDTH; + row_end = (temp->rect.y + (temp->rect.height - 1) - y_offset) / Y_UNIT_WIDTH; for (i = row_start; i < row_end + 1; i++) { for (j = column_start; j < column_end + 1; j++) { @@ -358,7 +358,7 @@ blocknum_x=pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, blocknum_y=pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH; unsigned int msk_ret; - WGeometry mouse_pos_abs,mouse_pos_rel,mouse_pos_temp; + XRectangle mouse_pos_abs,mouse_pos_rel,mouse_pos_temp; BRWindow temp_brwin; Window root_ret, child_ret; //Frame @@ -414,10 +414,10 @@ pdata->shaped_w=rmdFrameInit(pdata->dpy, pdata->specs.screen, pdata->specs.root, - pdata->brwin.rgeom.x, - pdata->brwin.rgeom.y, - pdata->brwin.rgeom.width, - pdata->brwin.rgeom.height); + pdata->brwin.rrect.x, + pdata->brwin.rrect.y, + pdata->brwin.rrect.width, + pdata->brwin.rrect.height); XSelectInput(pdata->dpy,pdata->shaped_w,ExposureMask); } @@ -486,8 +486,8 @@ XQueryPointer(pdata->dpy, pdata->specs.root, &root_ret,&child_ret, - &mouse_pos_abs.x,&mouse_pos_abs.y, - &mouse_pos_rel.x,&mouse_pos_rel.y,&msk_ret); + (int *)&mouse_pos_abs.x,(int *)&mouse_pos_abs.y, + (int *)&mouse_pos_rel.x,(int *)&mouse_pos_rel.y,&msk_ret); } CLIP_DUMMY_POINTER_AREA(mouse_pos_abs, &temp_brwin, &mouse_pos_temp); @@ -518,14 +518,14 @@ MARK_BUFFER_AREA( back_buff, (mouse_pos_temp.x- - temp_brwin.rgeom.x+ + temp_brwin.rrect.x+ pdata->enc_data->x_offset), (mouse_pos_temp.y- - temp_brwin.rgeom.y+ + temp_brwin.rrect.y+ pdata->enc_data->y_offset), mouse_pos_temp.width, mouse_pos_temp.height, - (temp_brwin.rgeom.width), + (temp_brwin.rrect.width), pdata->specs.depth) } } @@ -541,8 +541,8 @@ if(!pdata->args.noframe){ rmdMoveFrame(pdata->dpy, pdata->shaped_w, - temp_brwin.rgeom.x, - temp_brwin.rgeom.y); + temp_brwin.rrect.x, + temp_brwin.rrect.y); } } @@ -561,8 +561,8 @@ pdata->shm_opcode, pdata->args.no_quick_subsample); BlocksFromList(&pdata->rect_root, - temp_brwin.rgeom.x, - temp_brwin.rgeom.y, + temp_brwin.rrect.x, + temp_brwin.rrect.y, pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH); pthread_mutex_unlock(&pdata->yuv_mutex); @@ -577,17 +577,17 @@ if(!pdata->args.noshared){ XShmGetImage(pdata->dpy,pdata->specs.root, ((!img_sel)?image:image_back), - (temp_brwin.rgeom.x), - (temp_brwin.rgeom.y),AllPlanes); + (temp_brwin.rrect.x), + (temp_brwin.rrect.y),AllPlanes); } if(pdata->args.noshared){ GetZPixmap( pdata->dpy, pdata->specs.root, image->data, - temp_brwin.rgeom.x, - temp_brwin.rgeom.y, - temp_brwin.rgeom.width, - temp_brwin.rgeom.height); + temp_brwin.rrect.x, + temp_brwin.rrect.y, + temp_brwin.rrect.width, + temp_brwin.rrect.height); } pthread_mutex_lock(&pdata->yuv_mutex); for(i=0;i<blocknum_x*blocknum_y;i++){ @@ -597,8 +597,8 @@ front_buff,back_buff, (pdata->enc_data->x_offset), (pdata->enc_data->y_offset), - (temp_brwin.rgeom.width), - (temp_brwin.rgeom.height), + (temp_brwin.rrect.width), + (temp_brwin.rrect.height), pdata->args.no_quick_subsample, pdata->specs.depth); pthread_mutex_unlock(&pdata->yuv_mutex); @@ -625,10 +625,10 @@ XFIXES_POINTER_TO_YUV((&pdata->enc_data->yuv), ((unsigned char*)xcim->pixels), (mouse_pos_temp.x- - temp_brwin.rgeom.x+ + temp_brwin.rrect.x+ pdata->enc_data->x_offset), (mouse_pos_temp.y- - temp_brwin.rgeom.y+ + temp_brwin.rrect.y+ pdata->enc_data->y_offset), mouse_pos_temp.width, mouse_pos_temp.height, @@ -640,10 +640,10 @@ DUMMY_POINTER_TO_YUV((&pdata->enc_data->yuv), pdata->dummy_pointer, (mouse_pos_temp.x- - temp_brwin.rgeom.x+ + temp_brwin.rrect.x+ pdata->enc_data->x_offset), (mouse_pos_temp.y- - temp_brwin.rgeom.y+ + temp_brwin.rrect.y+ pdata->enc_data->y_offset), mouse_pos_temp.width, mouse_pos_temp.height, @@ -662,14 +662,14 @@ MARK_BUFFER_AREA( front_buff, (mouse_pos_temp.x- - temp_brwin.rgeom.x+ + temp_brwin.rrect.x+ pdata->enc_data->x_offset), (mouse_pos_temp.y- - temp_brwin.rgeom.y+ + temp_brwin.rrect.y+ pdata->enc_data->y_offset), mouse_pos_temp.width, mouse_pos_temp.height, - (temp_brwin.rgeom.width), + (temp_brwin.rrect.width), pdata->specs.depth) } Modified: trunk/recordmydesktop/src/rmd_init_encoder.c =================================================================== --- trunk/recordmydesktop/src/rmd_init_encoder.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_init_encoder.c 2008-11-22 16:39:04 UTC (rev 580) @@ -159,8 +159,8 @@ theora_info_init(&enc_data_t->m_th_inf); - enc_data_t->m_th_inf.frame_width = pdata->brwin.rgeom.width; - enc_data_t->m_th_inf.frame_height = pdata->brwin.rgeom.height; + enc_data_t->m_th_inf.frame_width = pdata->brwin.rrect.width; + enc_data_t->m_th_inf.frame_height = pdata->brwin.rrect.height; enc_data_t->m_th_inf.width = ((enc_data_t->m_th_inf.frame_width + 15) >> 4) << 4; enc_data_t->m_th_inf.height = ((enc_data_t->m_th_inf.frame_height + 15) >> 4) << 4; enc_data_t->m_th_inf.offset_x = 0; Modified: trunk/recordmydesktop/src/rmd_poll_events.c =================================================================== --- trunk/recordmydesktop/src/rmd_poll_events.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_poll_events.c 2008-11-22 16:39:04 UTC (rev 580) @@ -41,42 +41,42 @@ #include "rmd_types.h" -#define CLIP_EVENT_AREA(e,brwin,wgeom){\ - if(((e)->area.x<=(brwin)->rgeom.x)&&((e)->area.y<=(brwin)->rgeom.y)&&\ - ((e)->area.width>=(brwin)->rgeom.width)&&\ - ((e)->area.height<(brwin)->rgeom.height)){\ - (wgeom)->x=(brwin)->rgeom.x;\ - (wgeom)->y=(brwin)->rgeom.y;\ - (wgeom)->width=(brwin)->rgeom.width;\ - (wgeom)->height=(brwin)->rgeom.height;\ +#define CLIP_EVENT_AREA(e,brwin,xrect){\ + if(((e)->area.x<=(brwin)->rrect.x)&&((e)->area.y<=(brwin)->rrect.y)&&\ + ((e)->area.width>=(brwin)->rrect.width)&&\ + ((e)->area.height<(brwin)->rrect.height)){\ + (xrect)->x=(brwin)->rrect.x;\ + (xrect)->y=(brwin)->rrect.y;\ + (xrect)->width=(brwin)->rrect.width;\ + (xrect)->height=(brwin)->rrect.height;\ }\ else{\ - (wgeom)->x=((((e)->area.x+(e)->area.width>=(brwin)->rgeom.x)&&\ - ((e)->area.x<=(brwin)->rgeom.x+(brwin)->rgeom.width))?\ - (((e)->area.x<=(brwin)->rgeom.x)?(brwin)->rgeom.x:(e)->area.x):-1);\ + (xrect)->x=((((e)->area.x+(e)->area.width>=(brwin)->rrect.x)&&\ + ((e)->area.x<=(brwin)->rrect.x+(brwin)->rrect.width))?\ + (((e)->area.x<=(brwin)->rrect.x)?(brwin)->rrect.x:(e)->area.x):-1);\ \ - (wgeom)->y=((((e)->area.y+(e)->area.height>=(brwin)->rgeom.y)&&\ - ((e)->area.y<=(brwin)->rgeom.y+(brwin)->rgeom.height))?\ - (((e)->area.y<=(brwin)->rgeom.y)?(brwin)->rgeom.y:(e)->area.y):-1);\ + (xrect)->y=((((e)->area.y+(e)->area.height>=(brwin)->rrect.y)&&\ + ((e)->area.y<=(brwin)->rrect.y+(brwin)->rrect.height))?\ + (((e)->area.y<=(brwin)->rrect.y)?(brwin)->rrect.y:(e)->area.y):-1);\ \ - (wgeom)->width=((e)->area.x<=(brwin)->rgeom.x)?\ - (e)->area.width-((brwin)->rgeom.x-(e)->area.x):\ - ((e)->area.x<=(brwin)->rgeom.x+(brwin)->rgeom.width)?\ - (((brwin)->rgeom.width-(e)->area.x+(brwin)->rgeom.x<(e)->area.width)?\ - (brwin)->rgeom.width-(e)->area.x+(brwin)->rgeom.x:e->area.width):-1;\ + (xrect)->width=((e)->area.x<=(brwin)->rrect.x)?\ + (e)->area.width-((brwin)->rrect.x-(e)->area.x):\ + ((e)->area.x<=(brwin)->rrect.x+(brwin)->rrect.width)?\ + (((brwin)->rrect.width-(e)->area.x+(brwin)->rrect.x<(e)->area.width)?\ + (brwin)->rrect.width-(e)->area.x+(brwin)->rrect.x:e->area.width):0;\ \ - (wgeom)->height=((e)->area.y<=(brwin)->rgeom.y)?\ - (e)->area.height-((brwin)->rgeom.y-(e)->area.y):\ - ((e)->area.y<=(brwin)->rgeom.y+(brwin)->rgeom.height)?\ - (((brwin)->rgeom.height-(e)->area.y+\ - (brwin)->rgeom.y<(e)->area.height)?\ - (brwin)->rgeom.height-(e)->area.y+\ - (brwin)->rgeom.y:(e)->area.height):-1;\ + (xrect)->height=((e)->area.y<=(brwin)->rrect.y)?\ + (e)->area.height-((brwin)->rrect.y-(e)->area.y):\ + ((e)->area.y<=(brwin)->rrect.y+(brwin)->rrect.height)?\ + (((brwin)->rrect.height-(e)->area.y+\ + (brwin)->rrect.y<(e)->area.height)?\ + (brwin)->rrect.height-(e)->area.y+\ + (brwin)->rrect.y:(e)->area.height):0;\ \ - if((wgeom)->width>(brwin)->rgeom.width)\ - (wgeom)->width=(brwin)->rgeom.width;\ - if((wgeom)->height>(brwin)->rgeom.height)\ - (wgeom)->height=(brwin)->rgeom.height;\ + if((xrect)->width>(brwin)->rrect.width)\ + (xrect)->width=(brwin)->rrect.width;\ + if((xrect)->height>(brwin)->rrect.height)\ + (xrect)->height=(brwin)->rrect.height;\ }\ } @@ -167,8 +167,8 @@ rmdDrawFrame(pdata->dpy, pdata->specs.screen, pdata->shaped_w, - pdata->brwin.rgeom.width, - pdata->brwin.rgeom.height); + pdata->brwin.rrect.width, + pdata->brwin.rrect.height); } @@ -189,12 +189,12 @@ } else if(event.type == pdata->damage_event + XDamageNotify ){ XDamageNotifyEvent *e =(XDamageNotifyEvent *)( &event ); - WGeometry wgeom; - CLIP_EVENT_AREA(e,&(pdata->brwin),&wgeom); - if((wgeom.x>=0)&&(wgeom.y>=0)&& - (wgeom.width>0)&&(wgeom.height>0)){ + XRectangle xrect; + CLIP_EVENT_AREA(e,&(pdata->brwin),&xrect); + if((xrect.x>=0)&&(xrect.y>=0)&& + (xrect.width>0)&&(xrect.height>0)){ - inserts+=RectInsert(&pdata->rect_root,&wgeom); + inserts+=RectInsert(&pdata->rect_root,&xrect); } } Modified: trunk/recordmydesktop/src/rmd_rectinsert.c =================================================================== --- trunk/recordmydesktop/src/rmd_rectinsert.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_rectinsert.c 2008-11-22 16:39:04 UTC (rev 580) @@ -33,53 +33,53 @@ /** * Collide two rectangles and dictate most sane action for insertion, * as well as provide the updated rectangle(s) -* \param wgeom1 resident rectangle +* \param xrect1 resident rectangle * -* \param wgeom2 New rectangle +* \param xrect2 New rectangle * -* \param wgeom_return Pointer to rectangles to be inserted +* \param xrect_return Pointer to rectangles to be inserted * -* \param ngeoms number of entries in wgeom_return +* \param nrects number of entries in xrect_return * * \retval 0 No collision * -* \retval 1 wgeom1 is covered by wgeom2 +* \retval 1 xrect1 is covered by xrect2 * -* \retval 2 wgeom2 is covered by wgeom1 +* \retval 2 xrect2 is covered by xrect1 * -* \retval -1 wgeom1 was broken (new is picked up in wgeom_return) +* \retval -1 xrect1 was broken (new is picked up in xrect_return) * -* \retval -2 wgeom2 was broken (new is picked up in wgeom_return) +* \retval -2 xrect2 was broken (new is picked up in xrect_return) * -* \retval -10 Grouping the two geoms is possible +* \retval -10 Grouping the two rects is possible * */ -static int CollideRects(WGeometry *wgeom1, - WGeometry *wgeom2, - WGeometry wgeom_return[], - int *ngeoms) { +static int CollideRects(XRectangle *xrect1, + XRectangle *xrect2, + XRectangle xrect_return[], + int *nrects) { //1 fits in 2 - if((wgeom1->x>=wgeom2->x)&& - (wgeom1->x+wgeom1->width<=wgeom2->x+wgeom2->width)&& - (wgeom1->y>=wgeom2->y)&& - (wgeom1->y+wgeom1->height<=wgeom2->y+wgeom2->height)){ - *ngeoms=0; + if((xrect1->x>=xrect2->x)&& + (xrect1->x+xrect1->width<=xrect2->x+xrect2->width)&& + (xrect1->y>=xrect2->y)&& + (xrect1->y+xrect1->height<=xrect2->y+xrect2->height)){ + *nrects=0; return 1; } //2 fits in 1 - else if((wgeom2->x>=wgeom1->x)&& - (wgeom2->x+wgeom2->width<=wgeom1->x+wgeom1->width)&& - (wgeom2->y>=wgeom1->y)&& - (wgeom2->y+wgeom2->height<=wgeom1->y+wgeom1->height)){ - *ngeoms=0; + else if((xrect2->x>=xrect1->x)&& + (xrect2->x+xrect2->width<=xrect1->x+xrect1->width)&& + (xrect2->y>=xrect1->y)&& + (xrect2->y+xrect2->height<=xrect1->y+xrect1->height)){ + *nrects=0; return 2; } //no collision - else if((wgeom1->x+wgeom1->width<wgeom2->x)|| - (wgeom2->x+wgeom2->width<wgeom1->x)|| - (wgeom1->y+wgeom1->height<wgeom2->y)|| - (wgeom2->y+wgeom2->height<wgeom1->y)){ - *ngeoms=0; + else if((xrect1->x+xrect1->width<xrect2->x)|| + (xrect2->x+xrect2->width<xrect1->x)|| + (xrect1->y+xrect1->height<xrect2->y)|| + (xrect2->y+xrect2->height<xrect1->y)){ + *nrects=0; return 0; } else{ @@ -91,10 +91,10 @@ //function should always start at the next element(which is logical since //if any rect makes it to a points none of it's part collides with previous //nodes on the list, too) - int x1[2]={wgeom1->x,wgeom1->x+wgeom1->width}; - int y1[2]={wgeom1->y,wgeom1->y+wgeom1->height}; - int x2[2]={wgeom2->x,wgeom2->x+wgeom2->width}; - int y2[2]={wgeom2->y,wgeom2->y+wgeom2->height}; + int x1[2]={xrect1->x,xrect1->x+xrect1->width}; + int y1[2]={xrect1->y,xrect1->y+xrect1->height}; + int x2[2]={xrect2->x,xrect2->x+xrect2->width}; + int y2[2]={xrect2->y,xrect2->y+xrect2->height}; int enclosed[2][4],tot1,tot2; enclosed[0][0]=(((x1[0]>=x2[0])&&(x1[0]<=x2[1])&& (y1[0]>=y2[0])&&(y1[0]<=y2[1]))?1:0); @@ -117,223 +117,223 @@ if((tot1==2)&&(tot2==2)){//same width or height, which is the best case //group if((enclosed[1][0]&&enclosed[1][1])&& - (wgeom1->width==wgeom2->width)){ - *ngeoms=1; - wgeom_return[0].x = wgeom1->x; - wgeom_return[0].y = wgeom1->y; - wgeom_return[0].width = wgeom1->width; - wgeom_return[0].height = wgeom2->height + wgeom2->y - wgeom1->y; + (xrect1->width==xrect2->width)){ + *nrects=1; + xrect_return[0].x = xrect1->x; + xrect_return[0].y = xrect1->y; + xrect_return[0].width = xrect1->width; + xrect_return[0].height = xrect2->height + xrect2->y - xrect1->y; return -10; } else if((enclosed[1][0]&&enclosed[1][2])&& - (wgeom1->height==wgeom2->height)){ - *ngeoms=1; - wgeom_return[0].x = wgeom1->x; - wgeom_return[0].y = wgeom1->y; - wgeom_return[0].width = wgeom2->width + wgeom2->x - wgeom1->x; - wgeom_return[0].height = wgeom1->height; + (xrect1->height==xrect2->height)){ + *nrects=1; + xrect_return[0].x = xrect1->x; + xrect_return[0].y = xrect1->y; + xrect_return[0].width = xrect2->width + xrect2->x - xrect1->x; + xrect_return[0].height = xrect1->height; return -10; } else if((enclosed[1][3]&&enclosed[1][1])&& - (wgeom1->height==wgeom2->height)){ - *ngeoms=1; - wgeom_return[0].x = wgeom2->x; - wgeom_return[0].y = wgeom2->y; - wgeom_return[0].width = wgeom1->width + wgeom1->x - wgeom2->x; - wgeom_return[0].height = wgeom2->height; + (xrect1->height==xrect2->height)){ + *nrects=1; + xrect_return[0].x = xrect2->x; + xrect_return[0].y = xrect2->y; + xrect_return[0].width = xrect1->width + xrect1->x - xrect2->x; + xrect_return[0].height = xrect2->height; return -10; } else if((enclosed[1][3]&&enclosed[1][2])&& - (wgeom1->width==wgeom2->width)){ - *ngeoms=1; - wgeom_return[0].x = wgeom2->x; - wgeom_return[0].y = wgeom2->y; - wgeom_return[0].width = wgeom2->width; - wgeom_return[0].height = wgeom1->height + wgeom1->y - wgeom2->y; + (xrect1->width==xrect2->width)){ + *nrects=1; + xrect_return[0].x = xrect2->x; + xrect_return[0].y = xrect2->y; + xrect_return[0].width = xrect2->width; + xrect_return[0].height = xrect1->height + xrect1->y - xrect2->y; return -10; } //if control reaches here therewasn't a group and we go on } if(tot2==2){ - //break geom2 - wgeom_return[0].x = wgeom2->x; - wgeom_return[0].y = wgeom2->y; - wgeom_return[0].width = wgeom2->width; - wgeom_return[0].height = wgeom2->height; - *ngeoms=1; + //break rect2 + xrect_return[0].x = xrect2->x; + xrect_return[0].y = xrect2->y; + xrect_return[0].width = xrect2->width; + xrect_return[0].height = xrect2->height; + *nrects=1; if(enclosed[1][0]&&enclosed[1][1]){ - wgeom_return[0].y = y1[1]; - wgeom_return[0].height -= y1[1] - y2[0]; + xrect_return[0].y = y1[1]; + xrect_return[0].height -= y1[1] - y2[0]; } else if(enclosed[1][0]&&enclosed[1][2]){ - wgeom_return[0].x = x1[1]; - wgeom_return[0].width -= x1[1] - x2[0]; + xrect_return[0].x = x1[1]; + xrect_return[0].width -= x1[1] - x2[0]; } else if(enclosed[1][3]&&enclosed[1][1]) - wgeom_return[0].width -= x2[1] - x1[0]; + xrect_return[0].width -= x2[1] - x1[0]; else if(enclosed[1][3]&&enclosed[1][2]) - wgeom_return[0].height -= y2[1] - y1[0]; + xrect_return[0].height -= y2[1] - y1[0]; return -2; } else if(tot1==2){ //if the first one breaks(which is already inserted) //then we reenter the part that was left and the one //that was to be inserted - wgeom_return[1].x = wgeom2->x; - wgeom_return[1].y = wgeom2->y; - wgeom_return[1].width = wgeom2->width; - wgeom_return[1].height = wgeom2->height; - wgeom_return[0].x = wgeom1->x; - wgeom_return[0].y = wgeom1->y; - wgeom_return[0].width = wgeom1->width; - wgeom_return[0].height = wgeom1->height; - *ngeoms=1; + xrect_return[1].x = xrect2->x; + xrect_return[1].y = xrect2->y; + xrect_return[1].width = xrect2->width; + xrect_return[1].height = xrect2->height; + xrect_return[0].x = xrect1->x; + xrect_return[0].y = xrect1->y; + xrect_return[0].width = xrect1->width; + xrect_return[0].height = xrect1->height; + *nrects=1; if(enclosed[0][0]&&enclosed[0][1]){ - wgeom_return[0].y = y2[1]; - wgeom_return[0].height -= y2[1] - y1[0]; + xrect_return[0].y = y2[1]; + xrect_return[0].height -= y2[1] - y1[0]; } else if(enclosed[0][0]&&enclosed[0][2]){ - wgeom_return[0].x = x2[1]; - wgeom_return[0].width -= x2[1] - x1[0]; + xrect_return[0].x = x2[1]; + xrect_return[0].width -= x2[1] - x1[0]; } else if(enclosed[0][3]&&enclosed[0][1]) - wgeom_return[0].width -= x1[1] - x2[0]; + xrect_return[0].width -= x1[1] - x2[0]; else if(enclosed[0][3]&&enclosed[0][2]) - wgeom_return[0].height -= y1[1] - y2[0]; + xrect_return[0].height -= y1[1] - y2[0]; return -1; } else if(tot2==1){ //in which case there is also tot1==1 //but we rather not break that - //break geom2 in two - *ngeoms=2; + //break rect2 in two + *nrects=2; if(enclosed[1][0]){ //first - wgeom_return[0].x = x1[1]; - wgeom_return[0].y = y2[0]; - wgeom_return[0].width = wgeom2->width - x1[1] + x2[0]; - wgeom_return[0].height = wgeom2->height; + xrect_return[0].x = x1[1]; + xrect_return[0].y = y2[0]; + xrect_return[0].width = xrect2->width - x1[1] + x2[0]; + xrect_return[0].height = xrect2->height; //second - wgeom_return[1].x = x2[0]; - wgeom_return[1].y = y1[1]; - wgeom_return[1].width = x1[1] - x2[0]; - wgeom_return[1].height = wgeom2->height - y1[1] + y2[0]; + xrect_return[1].x = x2[0]; + xrect_return[1].y = y1[1]; + xrect_return[1].width = x1[1] - x2[0]; + xrect_return[1].height = xrect2->height - y1[1] + y2[0]; } else if(enclosed[1][1]){ //first - wgeom_return[0].x = x2[0]; - wgeom_return[0].y = y2[0]; - wgeom_return[0].width = wgeom2->width - x2[1] + x1[0]; - wgeom_return[0].height = wgeom2->height; + xrect_return[0].x = x2[0]; + xrect_return[0].y = y2[0]; + xrect_return[0].width = xrect2->width - x2[1] + x1[0]; + xrect_return[0].height = xrect2->height; //second - wgeom_return[1].x = x1[0]; - wgeom_return[1].y = y1[1]; - wgeom_return[1].width = x2[1] - x1[0]; - wgeom_return[1].height = wgeom2->height - y1[1] + y2[0]; + xrect_return[1].x = x1[0]; + xrect_return[1].y = y1[1]; + xrect_return[1].width = x2[1] - x1[0]; + xrect_return[1].height = xrect2->height - y1[1] + y2[0]; } else if(enclosed[1][2]){ //first(same as [1][0]) - wgeom_return[0].x = x1[1]; - wgeom_return[0].y = y2[0]; - wgeom_return[0].width = wgeom2->width - x1[1] + x2[0]; - wgeom_return[0].height = wgeom2->height; + xrect_return[0].x = x1[1]; + xrect_return[0].y = y2[0]; + xrect_return[0].width = xrect2->width - x1[1] + x2[0]; + xrect_return[0].height = xrect2->height; //second - wgeom_return[1].x = x2[0]; - wgeom_return[1].y = y2[0]; - wgeom_return[1].width = x1[1] - x2[0]; - wgeom_return[1].height = wgeom2->height - y2[1] + y1[0]; + xrect_return[1].x = x2[0]; + xrect_return[1].y = y2[0]; + xrect_return[1].width = x1[1] - x2[0]; + xrect_return[1].height = xrect2->height - y2[1] + y1[0]; } else if(enclosed[1][3]){ //first(same as [1][1]) - wgeom_return[0].x = x2[0]; - wgeom_return[0].y = y2[0]; - wgeom_return[0].width = wgeom2->width - x2[1] + x1[0]; - wgeom_return[0].height = wgeom2->height; + xrect_return[0].x = x2[0]; + xrect_return[0].y = y2[0]; + xrect_return[0].width = xrect2->width - x2[1] + x1[0]; + xrect_return[0].height = xrect2->height; //second - wgeom_return[1].x = x1[0]; - wgeom_return[1].y = y2[0]; - wgeom_return[1].width = x2[1] - x1[0]; - wgeom_return[1].height = wgeom2->height - y2[1] + y1[0]; + xrect_return[1].x = x1[0]; + xrect_return[1].y = y2[0]; + xrect_return[1].width = x2[1] - x1[0]; + xrect_return[1].height = xrect2->height - y2[1] + y1[0]; } return -2; } else{//polygons collide but no point of one is in the other - //so we just keep the two parts of geom2 that are outside geom1 + //so we just keep the two parts of rect2 that are outside rect1 - //break geom2 in two + //break rect2 in two //two cases: - //geom2 crossing vertically geom1 - //and geom2 crossing horizontally geom1 + //rect2 crossing vertically rect1 + //and rect2 crossing horizontally rect1 //The proper one can be found by simply checking x,y positions - *ngeoms=2; - if(wgeom2->y<wgeom1->y){ + *nrects=2; + if(xrect2->y<xrect1->y){ //common - wgeom_return[0].x = wgeom_return[1].x = x2[0]; - wgeom_return[0].width = wgeom_return[1].width = wgeom2->width; + xrect_return[0].x = xrect_return[1].x = x2[0]; + xrect_return[0].width = xrect_return[1].width = xrect2->width; - wgeom_return[0].y = y2[0]; - wgeom_return[0].height = wgeom2->height - y2[1] + y1[0]; - wgeom_return[1].y = y1[1]; - wgeom_return[1].height = y2[1] - y1[1]; + xrect_return[0].y = y2[0]; + xrect_return[0].height = xrect2->height - y2[1] + y1[0]; + xrect_return[1].y = y1[1]; + xrect_return[1].height = y2[1] - y1[1]; } else{ //common - wgeom_return[0].y = wgeom_return[1].y = y2[0]; - wgeom_return[0].height = wgeom_return[1].height = wgeom2->height; + xrect_return[0].y = xrect_return[1].y = y2[0]; + xrect_return[0].height = xrect_return[1].height = xrect2->height; - wgeom_return[0].x = x2[0]; - wgeom_return[0].width = wgeom2->width - x2[1] + x1[0]; - wgeom_return[1].x = x1[1]; - wgeom_return[1].width = x2[1] - x1[1]; + xrect_return[0].x = x2[0]; + xrect_return[0].width = xrect2->width - x2[1] + x1[0]; + xrect_return[1].x = x1[1]; + xrect_return[1].width = x2[1] - x1[1]; } return -2; } } } -int RectInsert(RectArea **root,WGeometry *wgeom){ +int RectInsert(RectArea **root,XRectangle *xrect){ int total_insertions=0; RectArea *temp=NULL,*newnode=(RectArea *)malloc(sizeof(RectArea)); //align //we do need to know boundaries - wgeom->width+=(wgeom->width%2)|(wgeom->x%2); - wgeom->height+=(wgeom->height%2)|(wgeom->y%2); - wgeom->width+=(wgeom->width%2); - wgeom->height+=(wgeom->height%2); - wgeom->x-=wgeom->x%2; - wgeom->y-=wgeom->y%2; -// fprintf(stderr," %d %d %d %d\n",wgeom->x, + xrect->width+=(xrect->width%2)|(xrect->x%2); + xrect->height+=(xrect->height%2)|(xrect->y%2); + xrect->width+=(xrect->width%2); + xrect->height+=(xrect->height%2); + xrect->x-=xrect->x%2; + xrect->y-=xrect->y%2; +// fprintf(stderr," %d %d %d %d\n",xrect->x, - newnode->geom.x=wgeom->x; - newnode->geom.y=wgeom->y; - newnode->geom.width=wgeom->width; - newnode->geom.height=wgeom->height; + newnode->rect.x=xrect->x; + newnode->rect.y=xrect->y; + newnode->rect.width=xrect->width; + newnode->rect.height=xrect->height; newnode->prev=newnode->next=NULL; if(*root==NULL){ *root=newnode; total_insertions=1; } else{ - WGeometry wgeom_return[2]; + XRectangle xrect_return[2]; - int ngeoms=0,insert_ok=1,i=0; + int nrects=0,insert_ok=1,i=0; temp=*root; while(insert_ok){ //if something is broken list does not procceed //(except on -1 collres case) - int collres = CollideRects(&temp->geom, wgeom, &wgeom_return[0], &ngeoms); + int collres = CollideRects(&temp->rect, xrect, &xrect_return[0], &nrects); if((!collres)) insert_ok=1; else{ - for(i=0;i<ngeoms;i++){ - wgeom_return[i].width += (wgeom_return[i].width % 2) | - (wgeom_return[i].x % 2); - wgeom_return[i].height += (wgeom_return[i].height % 2) | - (wgeom_return[i].y % 2); - wgeom_return[i].width += (wgeom_return[i].width % 2); - wgeom_return[i].height += (wgeom_return[i].height % 2); - wgeom_return[i].x -= wgeom_return[i].x % 2; - wgeom_return[i].y -= wgeom_return[i].y % 2; + for(i=0;i<nrects;i++){ + xrect_return[i].width += (xrect_return[i].width % 2) | + (xrect_return[i].x % 2); + xrect_return[i].height += (xrect_return[i].height % 2) | + (xrect_return[i].y % 2); + xrect_return[i].width += (xrect_return[i].width % 2); + xrect_return[i].height += (xrect_return[i].height % 2); + xrect_return[i].x -= xrect_return[i].x % 2; + xrect_return[i].y -= xrect_return[i].y % 2; } insert_ok=0; switch(collres){ @@ -345,8 +345,8 @@ temp->prev->next=temp->next; temp->next->prev=temp->prev; free(temp); - if((wgeom->width>0)&&(wgeom->height>0)) - total_insertions+=RectInsert(&temp1,wgeom); + if((xrect->width>0)&&(xrect->height>0)) + total_insertions+=RectInsert(&temp1,xrect); } else{ temp->prev->next=newnode; @@ -359,10 +359,10 @@ if((*root)->next!=NULL){ (*root)=(*root)->next; (*root)->prev=NULL; - if((wgeom->width>0)&&(wgeom->height>0)) - total_insertions+=RectInsert(root,wgeom); + if((xrect->width>0)&&(xrect->height>0)) + total_insertions+=RectInsert(root,xrect); } - else if((wgeom->width>0)&&(wgeom->height>0)){ + else if((xrect->width>0)&&(xrect->height>0)){ *root=newnode; total_insertions++; } @@ -379,12 +379,12 @@ case -1://current node is broken and reinserted //(in same pos) //newnode is also reinserted - if (wgeom_return[0].width > 0 && - wgeom_return[0].height > 0) { - temp->geom.x = wgeom_return[0].x; - temp->geom.y = wgeom_return[0].y; - temp->geom.width = wgeom_return[0].width; - temp->geom.height = wgeom_return[0].height; + if (xrect_return[0].width > 0 && + xrect_return[0].height > 0) { + temp->rect.x = xrect_return[0].x; + temp->rect.y = xrect_return[0].y; + temp->rect.width = xrect_return[0].width; + temp->rect.height = xrect_return[0].height; if(temp->next==NULL){ temp->next=newnode; newnode->prev=temp; @@ -412,49 +412,49 @@ temp->next->prev=temp->prev; temp->prev->next=temp->next; total_insertions+=RectInsert(&temp->next, - wgeom); + xrect); } free(temp); } break; case -2://new is broken and reinserted if(temp->next==NULL){ - total_insertions+=ngeoms; - newnode->geom.x = wgeom_return[0].x; - newnode->geom.y = wgeom_return[0].y; - newnode->geom.width = wgeom_return[0].width; - newnode->geom.height = wgeom_return[0].height; + total_insertions+=nrects; + newnode->rect.x = xrect_return[0].x; + newnode->rect.y = xrect_return[0].y; + newnode->rect.width = xrect_return[0].width; + newnode->rect.height = xrect_return[0].height; temp->next=newnode; newnode->prev=temp; - if(ngeoms>1){ + if(nrects>1){ RectArea *newnode1= (RectArea *)malloc(sizeof(RectArea)); - newnode1->geom.x = wgeom_return[1].x; - newnode1->geom.y = wgeom_return[1].y; - newnode1->geom.width = wgeom_return[1].width; - newnode1->geom.height = wgeom_return[1].height; + newnode1->rect.x = xrect_return[1].x; + newnode1->rect.y = xrect_return[1].y; + newnode1->rect.width = xrect_return[1].width; + newnode1->rect.height = xrect_return[1].height; newnode->next=newnode1; newnode1->prev=newnode; newnode1->next=NULL; } } else{ - for(i=0;i<ngeoms;i++){ - if(wgeom_return[i].width > 0 && - wgeom_return[i].height > 0) + for(i=0;i<nrects;i++){ + if(xrect_return[i].width > 0 && + xrect_return[i].height > 0) total_insertions+= - RectInsert(&temp->next, &wgeom_return[i]); + RectInsert(&temp->next, &xrect_return[i]); } } break; case -10://grouped if(temp->prev==NULL){ if(temp->next==NULL){//empty list - newnode->geom.x = wgeom_return[0].x; - newnode->geom.y = wgeom_return[0].y; - newnode->geom.width = wgeom_return[0].width; - newnode->geom.height = wgeom_return[0].height; + newnode->rect.x = xrect_return[0].x; + newnode->rect.y = xrect_return[0].y; + newnode->rect.width = xrect_return[0].width; + newnode->rect.height = xrect_return[0].height; *root=newnode; free(temp); @@ -464,17 +464,17 @@ *root=temp->next; (*root)->prev=NULL; free(temp); - if(wgeom_return[0].width > 0 && - wgeom_return[0].height > 0) + if(xrect_return[0].width > 0 && + xrect_return[0].height > 0) total_insertions+= - RectInsert(root, &wgeom_return[0]); + RectInsert(root, &xrect_return[0]); } } else if(temp->next==NULL){//last, enter anyway - newnode->geom.x = wgeom_return[0].x; - newnode->geom.y = wgeom_return[0].y; - newnode->geom.width = wgeom_return[0].width; - newnode->geom.height = wgeom_return[0].height; + newnode->rect.x = xrect_return[0].x; + newnode->rect.y = xrect_return[0].y; + newnode->rect.width = xrect_return[0].width; + newnode->rect.height = xrect_return[0].height; temp->prev->next=newnode; newnode->prev=temp->prev; free(temp); @@ -485,10 +485,10 @@ temp->prev->next=temp->next; temp->next->prev=temp->prev; free(temp); - if(wgeom_return[0].width > 0 && - wgeom_return[0].height > 0) + if(xrect_return[0].width > 0 && + xrect_return[0].height > 0) total_insertions+= - RectInsert(&temp1, &wgeom_return[0]); + RectInsert(&temp1, &xrect_return[0]); } break; } Modified: trunk/recordmydesktop/src/rmd_rectinsert.h =================================================================== --- trunk/recordmydesktop/src/rmd_rectinsert.h 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_rectinsert.h 2008-11-22 16:39:04 UTC (rev 580) @@ -36,14 +36,14 @@ * with the existing ones * \param root Root entry of the list * -* \param wgeom New area to be inserted +* \param xrect New area to be inserted * * \returns Number of insertions during operation * * \note This function is reentrant and recursive. The number * of insertions takes this into account. */ -int RectInsert(RectArea **root, WGeometry *wgeom); +int RectInsert(RectArea **root, XRectangle *xrect); /** * Clean up a list of areas marked for update. Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_rescue.c 2008-11-22 16:39:04 UTC (rev 580) @@ -39,13 +39,14 @@ int rmdRescue(const char *path){ - + int i=0, - width, - height, offset_x, offset_y; + unsigned short width, + height; + ProgData pdata; EncData enc_data; CacheData cache_data; @@ -77,10 +78,10 @@ return 1; - width=((pdata.brwin.rgeom.width + 15) >>4)<<4; - height=((pdata.brwin.rgeom.height + 15) >>4)<<4; - offset_x=((width-pdata.brwin.rgeom.width)/2)&~1; - offset_y=((height-pdata.brwin.rgeom.height)/2)&~1; + width=((pdata.brwin.rrect.width + 15) >>4)<<4; + height=((pdata.brwin.rrect.height + 15) >>4)<<4; + offset_x=((width-pdata.brwin.rrect.width)/2)&~1; + offset_y=((height-pdata.brwin.rrect.height)/2)&~1; enc_data.yuv.y=(unsigned char *)malloc(height*width); Modified: trunk/recordmydesktop/src/rmd_setbrwindow.c =================================================================== --- trunk/recordmydesktop/src/rmd_setbrwindow.c 2008-11-22 15:58:54 UTC (rev 579) +++ trunk/recordmydesktop/src/rmd_setbrwindow.c 2008-11-22 16:39:04 UTC (rev 580) @@ -43,7 +43,7 @@ * * \note This is called separately for width and height. */ -static void SizePack2_8_16(int *start, int *size, int limit) { +static void SizePack2_8_16(short *start, unsigned short *size, unsigned short limit) { int octoffset,hexoffset; //align in two @@ -132,18 +132,18 @@ if(args->windowid==0){//root window //first set it up brwin->windowid=specs->root; - brwin->geom.x=brwin->geom.y=0; - brwin->geom.width=specs->width; - brwin->geom.height=specs->height; - brwin->rgeom.x=args->x; - brwin->rgeom.y=args->y; - brwin->rgeom.width=((args->width)? - args->width:specs->width-brwin->rgeom.x); - brwin->rgeom.height=((args->height)? - args->height:specs->height-brwin->rgeom.y); + brwin->rect.x=brwin->rect.y=0; + brwin->rect.width=specs->width; + brwin->rect.height=specs->height; + brwin->rrect.x=args->x; + brwin->rrect.y=args->y; + brwin->rrect.width=((args->width)? + args->width:specs->width-brwin->rrect.x); + brwin->rrect.height=((args->height)? + args->height:specs->height-brwin->rrect.y); //and then check validity - if((brwin->rgeom.x+brwin->rgeom.width>specs->width)|| - (brwin->rgeom.y+brwin->rgeom.height>specs->height)){ + if((brwin->rrect.x+brwin->rrect.width>specs->width)|| + (brwin->rrect.y+brwin->rrect.height>specs->height)){ fprintf(stderr,"Window size specification out of bounds!" "(current resolution:%dx%d)\n", specs->width,specs->height); @@ -169,44 +169,44 @@ &transl_y, &wchid); - brwin->geom.x=attribs.x-transl_x; - brwin->geom.y=attribs.y-transl_y; - brwin->geom.width=attribs.width; - brwin->geom.height=attribs.height; - if((brwin->geom.x+brwin->geom.width>specs->width)|| - (brwin->geom.y+brwin->geom.height>specs->height)){ + brwin->rect.x=attribs.x-transl_x; + brwin->rect.y=attribs.y-transl_y; + brwin->rect.width=attribs.width; + brwin->rect.height=attribs.height; + if((brwin->rect.x+brwin->rect.width>specs->width)|| + (brwin->rect.y+brwin->rect.height>specs->height)){ fprintf(stderr,"Window must be on visible screen area!\n"); return FALSE; } - brwin->rgeom.x=brwin->geom.x+args->x; - brwin->rgeom.y=brwin->geom.y+args->y; - brwin->rgeom.width=((args->width)? - args->width:brwin->geom.width-args->x); - brwin->rgeom.height=((args->height)? - args->height:brwin->geom.height-args->y); - if((args->x+brwin->rgeom.width>brwin->geom.width)|| - (args->y+brwin->rgeom.height>brwin->geom.height)){ + brwin->rrect.x=brwin->rect.x+args->x; + brwin->rrect.y=brwin->rect.y+args->y; + brwin->rrect.width=((args->width)? + args->width:brwin->rect.width-args->x); + brwin->rrect.height=((args->height)? + args->height:brwin->rect.height-args->y); + if((args->x+brwin->rrect.width>brwin->rect.width)|| + (args->y+brwin->rrect.height>brwin->rect.height)){ fprintf(stderr,"Specified Area is larger than window!\n"); return FALSE; } } fprintf(stderr, "Initial recording window is set to:\n" ... [truncated message content] |
From: svn c. f. r. <rec...@li...> - 2009-01-10 12:18:32
|
Revision: 588 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=588&view=rev Author: enselic Date: 2009-01-10 11:57:10 +0000 (Sat, 10 Jan 2009) Log Message: ----------- src/rmd_types.h: Make ProgArgs::jack_port_names a fixed size 100-element array. src/rmd_initialize_data.c: Reset ProgArgs::jack_port_names using memset(). src/rmd_parseargs.c: With ProgArgs::jack_port_names as a fixed size array we can read the --use-jack options in a single pass which makes the code more libpopt migration friendly. Modified Paths: -------------- trunk/recordmydesktop/src/rmd_initialize_data.c trunk/recordmydesktop/src/rmd_parseargs.c trunk/recordmydesktop/src/rmd_types.h Modified: trunk/recordmydesktop/src/rmd_initialize_data.c =================================================================== --- trunk/recordmydesktop/src/rmd_initialize_data.c 2009-01-10 11:35:06 UTC (rev 587) +++ trunk/recordmydesktop/src/rmd_initialize_data.c 2009-01-10 11:57:10 UTC (rev 588) @@ -214,7 +214,6 @@ args->noframe = 0; args->jack_nports = 0; args->jack_ringbuffer_secs = 3.0; - args->jack_port_names = NULL; args->zerocompression = 1; args->no_quick_subsample = 1; args->cursor_color = 1; @@ -236,6 +235,8 @@ args->display = NULL; } + memset(args->jack_port_names, 0, sizeof(args->jack_port_names)); + args->device = (char *) malloc(strlen(DEFAULT_AUDIO_DEVICE) + 1); strcpy(args->device, DEFAULT_AUDIO_DEVICE); Modified: trunk/recordmydesktop/src/rmd_parseargs.c =================================================================== --- trunk/recordmydesktop/src/rmd_parseargs.c 2009-01-10 11:35:06 UTC (rev 587) +++ trunk/recordmydesktop/src/rmd_parseargs.c 2009-01-10 11:57:10 UTC (rev 588) @@ -478,23 +478,20 @@ #ifdef HAVE_LIBJACK int k=i+1; arg_return->jack_nports=0; - while((k<argc)&&(argv[k][0]!='-')){ + while((k<argc)&&(argv[k][0]!='-')&&k-i-1<RMD_MAX_JACK_PORTS){ arg_return->jack_nports++; + + arg_return->jack_port_names[k-i-1]=malloc(strlen(argv[k])+1); + strcpy(arg_return->jack_port_names[k-i-1],argv[k]); + + arg_return->use_jack=1; + k++; } - if(arg_return->jack_nports>0){ - arg_return->jack_port_names=malloc(sizeof(char*)* - arg_return->jack_nports); - for(k=i+1;k<i+1+arg_return->jack_nports;k++){ - arg_return->jack_port_names[k-i-1]= - malloc(strlen(argv[k])+1); - strcpy(arg_return->jack_port_names[k-i-1], - argv[k]); - } - i+=arg_return->jack_nports; - arg_return->use_jack=1; - } - else{ + + i+=arg_return->jack_nports; + + if (arg_return->jack_nports==0) { fprintf(stderr,"Argument Usage: --use-jack port1" " port2... portn\n"); return FALSE; Modified: trunk/recordmydesktop/src/rmd_types.h =================================================================== --- trunk/recordmydesktop/src/rmd_types.h 2009-01-10 11:35:06 UTC (rev 587) +++ trunk/recordmydesktop/src/rmd_types.h 2009-01-10 11:57:10 UTC (rev 588) @@ -83,6 +83,8 @@ #define TRUE (!FALSE) #endif +#define RMD_MAX_JACK_PORTS (100) + // Forward declarations typedef struct _ProgData ProgData; @@ -149,7 +151,7 @@ //(do not add a .number postfix) int use_jack; //record audio with jack unsigned int jack_nports; - char **jack_port_names; + char *jack_port_names[RMD_MAX_JACK_PORTS]; float jack_ringbuffer_secs; }ProgArgs; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: svn c. f. r. <rec...@li...> - 2009-01-10 20:00:14
|
Revision: 590 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=590&view=rev Author: enselic Date: 2009-01-10 20:00:06 +0000 (Sat, 10 Jan 2009) Log Message: ----------- src/*.c: Namescape all functions for consistency and general codebase sanity (previously only a few rmd functions were namespaced). Modified Paths: -------------- trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_cache.h trunk/recordmydesktop/src/rmd_cache_audio.c trunk/recordmydesktop/src/rmd_cache_audio.h trunk/recordmydesktop/src/rmd_cache_frame.c trunk/recordmydesktop/src/rmd_cache_frame.h trunk/recordmydesktop/src/rmd_capture_sound.c trunk/recordmydesktop/src/rmd_capture_sound.h trunk/recordmydesktop/src/rmd_encode_cache.c trunk/recordmydesktop/src/rmd_encode_cache.h trunk/recordmydesktop/src/rmd_encode_image_buffer.c trunk/recordmydesktop/src/rmd_encode_image_buffer.h trunk/recordmydesktop/src/rmd_encode_sound_buffer.c trunk/recordmydesktop/src/rmd_encode_sound_buffer.h trunk/recordmydesktop/src/rmd_flush_to_ogg.c trunk/recordmydesktop/src/rmd_flush_to_ogg.h trunk/recordmydesktop/src/rmd_get_frame.c trunk/recordmydesktop/src/rmd_get_frame.h trunk/recordmydesktop/src/rmd_getzpixmap.c trunk/recordmydesktop/src/rmd_getzpixmap.h trunk/recordmydesktop/src/rmd_init_encoder.c trunk/recordmydesktop/src/rmd_init_encoder.h trunk/recordmydesktop/src/rmd_initialize_data.c trunk/recordmydesktop/src/rmd_initialize_data.h trunk/recordmydesktop/src/rmd_jack.c trunk/recordmydesktop/src/rmd_jack.h trunk/recordmydesktop/src/rmd_load_cache.c trunk/recordmydesktop/src/rmd_load_cache.h trunk/recordmydesktop/src/rmd_make_dummy_pointer.c trunk/recordmydesktop/src/rmd_make_dummy_pointer.h trunk/recordmydesktop/src/rmd_opendev.c trunk/recordmydesktop/src/rmd_opendev.h trunk/recordmydesktop/src/rmd_parseargs.c trunk/recordmydesktop/src/rmd_parseargs.h trunk/recordmydesktop/src/rmd_poll_events.c trunk/recordmydesktop/src/rmd_poll_events.h trunk/recordmydesktop/src/rmd_queryextensions.c trunk/recordmydesktop/src/rmd_queryextensions.h trunk/recordmydesktop/src/rmd_rectinsert.c trunk/recordmydesktop/src/rmd_rectinsert.h trunk/recordmydesktop/src/rmd_register_callbacks.c trunk/recordmydesktop/src/rmd_register_callbacks.h trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_setbrwindow.c trunk/recordmydesktop/src/rmd_setbrwindow.h trunk/recordmydesktop/src/rmd_shortcuts.c trunk/recordmydesktop/src/rmd_shortcuts.h trunk/recordmydesktop/src/rmd_specsfile.c trunk/recordmydesktop/src/rmd_specsfile.h trunk/recordmydesktop/src/rmd_threads.c trunk/recordmydesktop/src/rmd_update_image.c trunk/recordmydesktop/src/rmd_update_image.h trunk/recordmydesktop/src/rmd_yuv_utils.c trunk/recordmydesktop/src/rmd_yuv_utils.h trunk/recordmydesktop/src/test-rectinsert.c Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd.c 2009-01-10 20:00:06 UTC (rev 590) @@ -49,9 +49,9 @@ ProgData pdata; int exit_status = 0; - SetupDefaultArgs(&pdata.args); + rmdSetupDefaultArgs(&pdata.args); - if (!ParseArgs(argc, argv, &pdata.args)) { + if (!rmdParseArgs(argc, argv, &pdata.args)) { exit(1); } if (pdata.args.rescue_path != NULL) { @@ -100,7 +100,7 @@ " color depth modes are currently supported.\n"); exit(10); } - if (!SetBRWindow(pdata.dpy, &pdata.brwin, &pdata.specs, &pdata.args)) + if (!rmdSetBRWindow(pdata.dpy, &pdata.brwin, &pdata.specs, &pdata.args)) exit(11); if( !pdata.args.nowmcheck && @@ -116,38 +116,38 @@ } - QueryExtensions(pdata.dpy, - &pdata.args, - &pdata.damage_event, - &pdata.damage_error, - &pdata.shm_opcode); + rmdQueryExtensions(pdata.dpy, + &pdata.args, + &pdata.damage_event, + &pdata.damage_error, + &pdata.shm_opcode); - if((exit_status=InitializeData(&pdata,&enc_data,&cache_data))==0){ + if((exit_status=rmdInitializeData(&pdata,&enc_data,&cache_data))==0){ if(!strcmp(pdata.args.pause_shortcut, pdata.args.stop_shortcut)|| - RegisterShortcut(pdata.dpy, - pdata.specs.root, - pdata.args.pause_shortcut, - &(pdata.pause_key)) || - RegisterShortcut(pdata.dpy, - pdata.specs.root, - pdata.args.stop_shortcut, - &(pdata.stop_key))){ + rmdRegisterShortcut(pdata.dpy, + pdata.specs.root, + pdata.args.pause_shortcut, + &(pdata.pause_key)) || + rmdRegisterShortcut(pdata.dpy, + pdata.specs.root, + pdata.args.stop_shortcut, + &(pdata.stop_key))){ fprintf(stderr,"Invalid shortcut," " or shortcuts are the same!\n\n" "Using defaults.\n"); - RegisterShortcut(pdata.dpy, - pdata.specs.root, - "Control+Mod1+p", - &(pdata.pause_key)); - RegisterShortcut(pdata.dpy, - pdata.specs.root, - "Control+Mod1+s", - &(pdata.stop_key)); + rmdRegisterShortcut(pdata.dpy, + pdata.specs.root, + "Control+Mod1+p", + &(pdata.pause_key)); + rmdRegisterShortcut(pdata.dpy, + pdata.specs.root, + "Control+Mod1+s", + &(pdata.stop_key)); } //this is where the capturing happens. @@ -159,10 +159,10 @@ //encode and then cleanup cache if(!pdata.args.encOnTheFly && !pdata.args.no_encode){ if (!pdata.aborted) { - EncodeCache(&pdata); + rmdEncodeCache(&pdata); } fprintf(stderr,"Cleanning up cache...\n"); - if(PurgeCache(pdata.cache_data,!pdata.args.nosound)) + if(rmdPurgeCache(pdata.cache_data,!pdata.args.nosound)) fprintf(stderr,"Some error occured " "while cleaning up cache!\n"); fprintf(stderr,"Done!!!\n"); @@ -184,7 +184,7 @@ fprintf(stderr,"Goodbye!\n"); - CleanUp(); + rmdCleanUp(); } } Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache.c 2009-01-10 20:00:06 UTC (rev 590) @@ -46,7 +46,7 @@ * \n number to be used as a postfix * */ -static void CacheFileN(char *name, char **newname, int n) { // Nth cache file +static void rmdCacheFileN(char *name, char **newname, int n) { // Nth cache file char numbuf[8]; strcpy(*newname,name); strcat(*newname,"."); @@ -54,9 +54,9 @@ strcat(*newname,numbuf); } -int SwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp){ +int rmdSwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp){ char *newname=malloc(strlen(name)+10); - CacheFileN(name,&newname,n); + rmdCacheFileN(name,&newname,n); if(*fp==NULL){ fflush(*ucfp); fclose(*ucfp); @@ -71,9 +71,9 @@ return ((*fp==NULL)&&(*ucfp==NULL)); } -int SwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp){ +int rmdSwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp){ char *newname=malloc(strlen(name)+10); - CacheFileN(name,&newname,n); + rmdCacheFileN(name,&newname,n); if(*fp==NULL){ fclose(*ucfp); *ucfp=fopen(newname,"rb"); @@ -87,7 +87,7 @@ return ((*fp==NULL)&&(*ucfp==NULL)); } -int PurgeCache(CacheData *cache_data_t,int sound){ +int rmdPurgeCache(CacheData *cache_data_t,int sound){ struct stat buff; char *fname; fname=malloc(strlen(cache_data_t->imgdata)+10); @@ -101,7 +101,7 @@ cache_data_t->imgdata); exit_value=1; } - CacheFileN(cache_data_t->imgdata,&fname,nth_cache); + rmdCacheFileN(cache_data_t->imgdata,&fname,nth_cache); nth_cache++; } free(fname); @@ -125,9 +125,9 @@ return exit_value; } -void InitCacheData(ProgData *pdata, - EncData *enc_data_t, - CacheData *cache_data_t){ +void rmdInitCacheData(ProgData *pdata, + EncData *enc_data_t, + CacheData *cache_data_t){ int width,height,offset_x,offset_y,pid; char pidbuf[8]; @@ -215,7 +215,7 @@ exit(13); } } - if(WriteSpecsFile(pdata)){ + if(rmdWriteSpecsFile(pdata)){ fprintf(stderr,"Could not write specsfile %s !!!\n", cache_data_t->specsfile); exit(13); Modified: trunk/recordmydesktop/src/rmd_cache.h =================================================================== --- trunk/recordmydesktop/src/rmd_cache.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache.h 2009-01-10 20:00:06 UTC (rev 590) @@ -49,7 +49,7 @@ * * \returns 0 on Success 1 on Failure */ -int SwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp); +int rmdSwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp); /** * Change file pointer to a new file while reading @@ -65,7 +65,7 @@ * * \returns 0 on Success 1 on Failure */ -int SwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp); +int rmdSwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp); /** * Delete all cache files @@ -74,7 +74,7 @@ * * \returns 0 if all files and folders where deleted, 1 otherwise */ -int PurgeCache(CacheData *cache_data_t,int sound); +int rmdPurgeCache(CacheData *cache_data_t,int sound); /** * Initializes paths and everything else needed to start caching @@ -86,9 +86,9 @@ * \param cache_data_t Caching options * */ -void InitCacheData(ProgData *pdata, - EncData *enc_data_t, - CacheData *cache_data_t); +void rmdInitCacheData(ProgData *pdata, + EncData *enc_data_t, + CacheData *cache_data_t); #endif Modified: trunk/recordmydesktop/src/rmd_cache_audio.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache_audio.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache_audio.c 2009-01-10 20:00:06 UTC (rev 590) @@ -38,7 +38,7 @@ -void *CacheSoundBuffer(ProgData *pdata){ +void *rmdCacheSoundBuffer(ProgData *pdata){ //We are simply going to throw sound on the disk. //It's sound is tiny compared to that of image, so //compressing would reducethe overall size by only an Modified: trunk/recordmydesktop/src/rmd_cache_audio.h =================================================================== --- trunk/recordmydesktop/src/rmd_cache_audio.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache_audio.h 2009-01-10 20:00:06 UTC (rev 590) @@ -36,7 +36,7 @@ * \param pdata ProgData struct containing all program data * */ -void *CacheSoundBuffer(ProgData *pdata); +void *rmdCacheSoundBuffer(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_cache_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache_frame.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache_frame.c 2009-01-10 20:00:06 UTC (rev 590) @@ -43,14 +43,14 @@ #define CACHE_FILE_SIZE_LIMIT (500 * 1024 * 1024) -static int FlushBlock(unsigned char *buf, - int blockno, - int width, - int height, - int blockwidth, - gzFile *fp, - FILE *ucfp, - int flush) { +static int rmdFlushBlock(unsigned char *buf, + int blockno, + int width, + int height, + int blockwidth, + gzFile *fp, + FILE *ucfp, + int flush) { int j,i, bytes_written=0, block_i=(!blockwidth)?0:(blockno/(width/blockwidth)),//place on the grid @@ -83,7 +83,7 @@ return bytes_written; } -void *CacheImageBuffer(ProgData *pdata){ +void *rmdCacheImageBuffer(ProgData *pdata){ gzFile *fp=NULL; FILE *ucfp=NULL; @@ -206,42 +206,42 @@ //flush the blocks for each buffer if(ynum){ for(j=0;j<ynum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.y,y_short_blocks[j], - pdata->enc_data->yuv.y_width, - pdata->enc_data->yuv.y_height, - Y_UNIT_WIDTH, - fp, - ucfp, - 0); + nbytes+=rmdFlushBlock(pdata->enc_data->yuv.y,y_short_blocks[j], + pdata->enc_data->yuv.y_width, + pdata->enc_data->yuv.y_height, + Y_UNIT_WIDTH, + fp, + ucfp, + 0); } if(unum){ for(j=0;j<unum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.u,u_short_blocks[j], - pdata->enc_data->yuv.uv_width, - pdata->enc_data->yuv.uv_height, - UV_UNIT_WIDTH, - fp, - ucfp, - 0); + nbytes+=rmdFlushBlock(pdata->enc_data->yuv.u,u_short_blocks[j], + pdata->enc_data->yuv.uv_width, + pdata->enc_data->yuv.uv_height, + UV_UNIT_WIDTH, + fp, + ucfp, + 0); } if(vnum){ for(j=0;j<vnum;j++) - nbytes+=FlushBlock( pdata->enc_data->yuv.v,v_short_blocks[j], - pdata->enc_data->yuv.uv_width, - pdata->enc_data->yuv.uv_height, - UV_UNIT_WIDTH, - fp, - ucfp, - 0); + nbytes+=rmdFlushBlock(pdata->enc_data->yuv.v,v_short_blocks[j], + pdata->enc_data->yuv.uv_width, + pdata->enc_data->yuv.uv_height, + UV_UNIT_WIDTH, + fp, + ucfp, + 0); } //release main buffer pthread_mutex_unlock(&pdata->yuv_mutex); - nbytes+=FlushBlock(NULL,0,0,0,0,fp,ucfp,1); + nbytes+=rmdFlushBlock(NULL,0,0,0,0,fp,ucfp,1); /**@________________@**/ pdata->avd+=pdata->frametime; if(nbytes>CACHE_FILE_SIZE_LIMIT){ - if(SwapCacheFilesWrite(pdata->cache_data->imgdata, + if(rmdSwapCacheFilesWrite(pdata->cache_data->imgdata, nth_cache,&fp,&ucfp)){ fprintf(stderr,"New cache file could not be created.\n" "Ending recording...\n"); Modified: trunk/recordmydesktop/src/rmd_cache_frame.h =================================================================== --- trunk/recordmydesktop/src/rmd_cache_frame.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_cache_frame.h 2009-01-10 20:00:06 UTC (rev 590) @@ -37,7 +37,7 @@ * \param pdata ProgData struct containing all program data * */ -void *CacheImageBuffer(ProgData *pdata); +void *rmdCacheImageBuffer(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_capture_sound.c =================================================================== --- trunk/recordmydesktop/src/rmd_capture_sound.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_capture_sound.c 2009-01-10 20:00:06 UTC (rev 590) @@ -36,7 +36,7 @@ #include <errno.h> -void *CaptureSound(ProgData *pdata){ +void *rmdCaptureSound(ProgData *pdata){ #ifdef HAVE_LIBASOUND int frames=pdata->periodsize; @@ -62,15 +62,15 @@ pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); pthread_mutex_unlock(&pdata->pause_mutex); pdata->sound_handle= - OpenDev(pdata->args.device, - &pdata->args.channels, - &pdata->args.frequency, - &pdata->args.buffsize, - NULL, - NULL, - NULL//let's hope that the device capabilities - //didn't magically change - ); + rmdOpenDev(pdata->args.device, + &pdata->args.channels, + &pdata->args.frequency, + &pdata->args.buffsize, + NULL, + NULL, + NULL//let's hope that the device capabilities + //didn't magically change + ); if(pdata->sound_handle==NULL){ fprintf(stderr,"Couldn't reopen sound device.Exiting\n"); pdata->running = FALSE; @@ -84,9 +84,9 @@ pthread_cond_wait(&pdata->pause_cond, &pdata->pause_mutex); pthread_mutex_unlock(&pdata->pause_mutex); pdata->sound_handle= - OpenDev(pdata->args.device, - pdata->args.channels, - pdata->args.frequency); + rmdOpenDev(pdata->args.device, + pdata->args.channels, + pdata->args.frequency); if(pdata->sound_handle<0){ fprintf(stderr,"Couldn't reopen sound device.Exiting\n"); pdata->running = FALSE; Modified: trunk/recordmydesktop/src/rmd_capture_sound.h =================================================================== --- trunk/recordmydesktop/src/rmd_capture_sound.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_capture_sound.h 2009-01-10 20:00:06 UTC (rev 590) @@ -36,7 +36,7 @@ * * \param pdata ProgData struct containing all program data */ -void *CaptureSound(ProgData *pdata); +void *rmdCaptureSound(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_encode_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_encode_cache.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_cache.c 2009-01-10 20:00:06 UTC (rev 590) @@ -39,7 +39,7 @@ -void EncodeCache(ProgData *pdata){ +void rmdEncodeCache(ProgData *pdata){ pthread_t flush_to_ogg_t, load_cache_t; fprintf(stderr,"STATE:ENCODING\n");fflush(stderr); @@ -49,7 +49,7 @@ "any portion of the video, which is already encoded won't be deleted).\n" "Please wait...\n"); pdata->running = TRUE; - InitEncoder(pdata,pdata->enc_data,1); + rmdInitEncoder(pdata,pdata->enc_data,1); //load encoding and flushing threads if(!pdata->args.nosound){ //before we start loading again @@ -59,10 +59,10 @@ pdata->sound_buffer=pdata->sound_buffer->next; } } - pthread_create(&flush_to_ogg_t,NULL,(void *)FlushToOgg,(void *)pdata); + pthread_create(&flush_to_ogg_t,NULL,(void *)rmdFlushToOgg,(void *)pdata); //start loading image and audio - pthread_create(&load_cache_t,NULL,(void *)LoadCache,(void *)pdata); + pthread_create(&load_cache_t,NULL,(void *)rmdLoadCache,(void *)pdata); //join and finish pthread_join(load_cache_t,NULL); Modified: trunk/recordmydesktop/src/rmd_encode_cache.h =================================================================== --- trunk/recordmydesktop/src/rmd_encode_cache.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_cache.h 2009-01-10 20:00:06 UTC (rev 590) @@ -35,7 +35,7 @@ * ogg stream. * \param pdata ProgData struct containing all program data */ -void EncodeCache(ProgData *pdata); +void rmdEncodeCache(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_encode_image_buffer.c =================================================================== --- trunk/recordmydesktop/src/rmd_encode_image_buffer.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_image_buffer.c 2009-01-10 20:00:06 UTC (rev 590) @@ -32,7 +32,7 @@ #include <errno.h> -void *EncodeImageBuffer(ProgData *pdata){ +void *rmdEncodeImageBuffer(ProgData *pdata){ pdata->th_encoding_clean=0; while(pdata->running){ pdata->th_enc_thread_waiting=1; @@ -77,7 +77,7 @@ //this function is meant to be called normally //not through a thread of it's own -void SyncEncodeImageBuffer(ProgData *pdata){ +void rmdSyncEncodeImageBuffer(ProgData *pdata){ if(theora_encode_YUVin(&pdata->enc_data->m_th_st, &pdata->enc_data->yuv)){ fprintf(stderr,"Encoder not ready!\n"); Modified: trunk/recordmydesktop/src/rmd_encode_image_buffer.h =================================================================== --- trunk/recordmydesktop/src/rmd_encode_image_buffer.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_image_buffer.h 2009-01-10 20:00:06 UTC (rev 590) @@ -35,16 +35,16 @@ * the ogg stream. * \param pdata ProgData struct containing all program data */ -void *EncodeImageBuffer(ProgData *pdata); +void *rmdEncodeImageBuffer(ProgData *pdata); /** -* As EncodeImageBuffer, only with the assumption that +* As rmdEncodeImageBuffer, only with the assumption that * this is not a thread on it's own * * \param pdata ProgData struct containing all program data * */ -void SyncEncodeImageBuffer(ProgData *pdata); +void rmdSyncEncodeImageBuffer(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_encode_sound_buffer.c =================================================================== --- trunk/recordmydesktop/src/rmd_encode_sound_buffer.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_sound_buffer.c 2009-01-10 20:00:06 UTC (rev 590) @@ -36,7 +36,7 @@ #include <errno.h> -void *EncodeSoundBuffer(ProgData *pdata){ +void *rmdEncodeSoundBuffer(ProgData *pdata){ int sampread=pdata->periodsize; #ifdef HAVE_LIBJACK void *jackbuf=NULL; @@ -143,7 +143,7 @@ pthread_exit(&errno); } -void SyncEncodeSoundBuffer(ProgData *pdata,signed char *buff){ +void rmdSyncEncodeSoundBuffer(ProgData *pdata,signed char *buff){ float **vorbis_buffer; int count=0,i,j; int sampread=(buff!=NULL)?pdata->periodsize:0; Modified: trunk/recordmydesktop/src/rmd_encode_sound_buffer.h =================================================================== --- trunk/recordmydesktop/src/rmd_encode_sound_buffer.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_encode_sound_buffer.h 2009-01-10 20:00:06 UTC (rev 590) @@ -36,16 +36,16 @@ * * \param pdata ProgData struct containing all program data */ -void *EncodeSoundBuffer(ProgData *pdata); +void *rmdEncodeSoundBuffer(ProgData *pdata); /** -* As EncodeSoundBuffer, only with the assumption that +* As rmdEncodeSoundBuffer, only with the assumption that * this is not a thread on it's own * * \param pdata ProgData struct containing all program data * */ -void SyncEncodeSoundBuffer(ProgData *pdata,signed char *buff); +void rmdSyncEncodeSoundBuffer(ProgData *pdata,signed char *buff); #endif Modified: trunk/recordmydesktop/src/rmd_flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/rmd_flush_to_ogg.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_flush_to_ogg.c 2009-01-10 20:00:06 UTC (rev 590) @@ -69,7 +69,7 @@ free(pg->body); } -void *FlushToOgg(ProgData *pdata){ +void *rmdFlushToOgg(ProgData *pdata){ int videoflag=0,audioflag=0; double video_bytesout=0,audio_bytesout=0; ogg_page videopage,//owned by libogg @@ -123,7 +123,7 @@ &pdata->theora_lib_mutex); pthread_mutex_unlock(&pdata->theora_lib_mutex); } - SyncEncodeImageBuffer(pdata); + rmdSyncEncodeImageBuffer(pdata); } } if(!pdata->args.nosound && !v_st_fin &&!audioflag){ @@ -143,7 +143,7 @@ &pdata->vorbis_lib_mutex); pthread_mutex_unlock(&pdata->vorbis_lib_mutex); } - SyncEncodeSoundBuffer(pdata,NULL); + rmdSyncEncodeSoundBuffer(pdata,NULL); } } } Modified: trunk/recordmydesktop/src/rmd_flush_to_ogg.h =================================================================== --- trunk/recordmydesktop/src/rmd_flush_to_ogg.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_flush_to_ogg.h 2009-01-10 20:00:06 UTC (rev 590) @@ -35,6 +35,6 @@ * flush them on the disk * \param pdata ProgData struct containing all program data */ -void *FlushToOgg(ProgData *pdata); +void *rmdFlushToOgg(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_get_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_get_frame.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_get_frame.c 2009-01-10 20:00:06 UTC (rev 590) @@ -195,10 +195,10 @@ //besides taking the first screenshot, this functions primary purpose is to //initialize the structures and memory. -static int FirstFrame(ProgData *pdata, - XImage **image, - XShmSegmentInfo *shminfo, - char **pxl_data) { +static int rmdFirstFrame(ProgData *pdata, + XImage **image, + XShmSegmentInfo *shminfo, + char **pxl_data) { if((pdata->args.noshared)){ @@ -215,12 +215,12 @@ 8, 0); XInitImage((*image)); - GetZPixmap(pdata->dpy,pdata->specs.root, - (*image)->data, - pdata->brwin.rrect.x, - pdata->brwin.rrect.y, - pdata->brwin.rrect.width, - pdata->brwin.rrect.height); + rmdGetZPixmap(pdata->dpy,pdata->specs.root, + (*image)->data, + pdata->brwin.rrect.x, + pdata->brwin.rrect.y, + pdata->brwin.rrect.width, + pdata->brwin.rrect.height); } else{ (*image)=XShmCreateImage(pdata->dpy, @@ -265,7 +265,7 @@ } //make a deep copy -static void BRWinCpy(BRWindow *target, BRWindow *source) { +static void rmdBRWinCpy(BRWindow *target, BRWindow *source) { target->rect.x=source->rect.x; target->rect.y=source->rect.y; @@ -282,11 +282,11 @@ //recenters the capture area to the mouse //without exiting the display bounding box -static void MoveCaptureArea(BRWindow *brwin, - int cursor_x, - int cursor_y, - int width, - int height) { +static void rmdMoveCaptureArea(BRWindow *brwin, + int cursor_x, + int cursor_y, + int width, + int height) { int t_x=0,t_y=0; t_x=cursor_x-brwin->rrect.width/2; @@ -312,11 +312,11 @@ * * \param blocknum_y Height of image in blocks */ -static void BlocksFromList (RectArea **root, - unsigned int x_offset, - unsigned int y_offset, - unsigned int blocknum_x, - unsigned int blocknum_y) { +static void rmdBlocksFromList (RectArea **root, + unsigned int x_offset, + unsigned int y_offset, + unsigned int blocknum_x, + unsigned int blocknum_y) { RectArea *temp; unsigned int i, @@ -353,7 +353,7 @@ } } -void *GetFrame(ProgData *pdata){ +void *rmdGetFrame(ProgData *pdata){ int i=0, blocknum_x=pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, blocknum_y=pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH; @@ -375,7 +375,7 @@ img_sel=d_buff=pdata->args.full_shots; - if((init_img1=FirstFrame(pdata,&image,&shminfo,&pxl_data)!=0)){ + if((init_img1=rmdFirstFrame(pdata,&image,&shminfo,&pxl_data)!=0)){ if(pdata->args.encOnTheFly){ if(remove(pdata->args.filename)){ perror("Error while removing file:\n"); @@ -386,13 +386,13 @@ } } else{ - PurgeCache(pdata->cache_data,!pdata->args.nosound); + rmdPurgeCache(pdata->cache_data,!pdata->args.nosound); } exit(init_img1); } if(d_buff){ - if((init_img2=FirstFrame(pdata,&image_back,&shminfo_back, - &pxl_data_back)!=0)){ + if((init_img2=rmdFirstFrame(pdata,&image_back,&shminfo_back, + &pxl_data_back)!=0)){ if(pdata->args.encOnTheFly){ if(remove(pdata->args.filename)){ perror("Error while removing file:\n"); @@ -403,7 +403,7 @@ } } else{ - PurgeCache(pdata->cache_data,!pdata->args.nosound); + rmdPurgeCache(pdata->cache_data,!pdata->args.nosound); } exit(init_img2); } @@ -429,7 +429,7 @@ //This is the the place where we call XSelectInput //and arrange so that we listen for damage on all //windows - InitEventsPolling(pdata); + rmdInitEventsPolling(pdata); while(pdata->running){ @@ -443,20 +443,20 @@ if (pdata->paused) { //this is necessary since event loop processes //the shortcuts which will unpause the program - EventLoop(pdata); + rmdEventLoop(pdata); continue; } } //read all events and construct list with damage //events (if not full_shots) - EventLoop(pdata); + rmdEventLoop(pdata); //switch back and front buffers (full_shots only) if(d_buff) img_sel=(img_sel)?0:1; pdata->capture_busy = TRUE; - BRWinCpy(&temp_brwin,&pdata->brwin); + rmdBRWinCpy(&temp_brwin,&pdata->brwin); if(pdata->args.xfixes_cursor || @@ -465,15 +465,15 @@ // Pointer sequence: - // * Mark previous position as dirty with RectInsert() + // * Mark previous position as dirty with rmdRectInsert() // * Update to new position - // * Mark new position as dirty with RectInsert() + // * Mark new position as dirty with rmdRectInsert() if (!pdata->args.full_shots && mouse_pos_temp.x >=0 && mouse_pos_temp.y >=0 && mouse_pos_temp.width > 0 && mouse_pos_temp.height > 0) { - RectInsert(&pdata->rect_root,&mouse_pos_temp); + rmdRectInsert(&pdata->rect_root,&mouse_pos_temp); } if(pdata->args.xfixes_cursor){ xcim=XFixesGetCursorImage(pdata->dpy); @@ -508,7 +508,7 @@ if (!pdata->args.full_shots) { - RectInsert(&pdata->rect_root,&mouse_pos_temp); + rmdRectInsert(&pdata->rect_root,&mouse_pos_temp); } else if(d_buff){ @@ -531,13 +531,13 @@ } } if(pdata->args.follow_mouse){ - MoveCaptureArea(&pdata->brwin, - mouse_pos_abs.x+ - ((pdata->args.xfixes_cursor)?xcim->xhot:0), - mouse_pos_abs.y+ - ((pdata->args.xfixes_cursor)?xcim->yhot:0), - pdata->specs.width, - pdata->specs.height); + rmdMoveCaptureArea(&pdata->brwin, + mouse_pos_abs.x+ + ((pdata->args.xfixes_cursor)?xcim->xhot:0), + mouse_pos_abs.y+ + ((pdata->args.xfixes_cursor)?xcim->yhot:0), + pdata->specs.width, + pdata->specs.height); if(!pdata->args.noframe){ rmdMoveFrame(pdata->dpy, pdata->shaped_w, @@ -549,22 +549,22 @@ if(!pdata->args.full_shots){ pthread_mutex_lock(&pdata->yuv_mutex); - UpdateImage(pdata->dpy, - &pdata->enc_data->yuv, - &pdata->specs, - &pdata->rect_root, - &temp_brwin, - pdata->enc_data, - image->data, - pdata->args.noshared, - &shminfo, - pdata->shm_opcode, - pdata->args.no_quick_subsample); - BlocksFromList(&pdata->rect_root, - temp_brwin.rrect.x, - temp_brwin.rrect.y, - pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, - pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH); + rmdUpdateImage(pdata->dpy, + &pdata->enc_data->yuv, + &pdata->specs, + &pdata->rect_root, + &temp_brwin, + pdata->enc_data, + image->data, + pdata->args.noshared, + &shminfo, + pdata->shm_opcode, + pdata->args.no_quick_subsample); + rmdBlocksFromList(&pdata->rect_root, + temp_brwin.rrect.x, + temp_brwin.rrect.y, + pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH, + pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH); pthread_mutex_unlock(&pdata->yuv_mutex); } else{ @@ -581,13 +581,13 @@ (temp_brwin.rrect.y),AllPlanes); } if(pdata->args.noshared){ - GetZPixmap( pdata->dpy, - pdata->specs.root, - image->data, - temp_brwin.rrect.x, - temp_brwin.rrect.y, - temp_brwin.rrect.width, - temp_brwin.rrect.height); + rmdGetZPixmap( pdata->dpy, + pdata->specs.root, + image->data, + temp_brwin.rrect.x, + temp_brwin.rrect.y, + temp_brwin.rrect.width, + temp_brwin.rrect.height); } pthread_mutex_lock(&pdata->yuv_mutex); for(i=0;i<blocknum_x*blocknum_y;i++){ @@ -680,7 +680,7 @@ } } if(!pdata->args.full_shots){ - ClearList(&pdata->rect_root); + rmdClearList(&pdata->rect_root); } if (pdata->encoder_busy) { pdata->frames_lost++; Modified: trunk/recordmydesktop/src/rmd_get_frame.h =================================================================== --- trunk/recordmydesktop/src/rmd_get_frame.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_get_frame.h 2009-01-10 20:00:06 UTC (rev 590) @@ -35,7 +35,7 @@ * either directly(full shots) or by calling UpdateImage. * \param pdata ProgData struct containing all program data */ -void *GetFrame(ProgData *pdata); +void *rmdGetFrame(ProgData *pdata); #endif Modified: trunk/recordmydesktop/src/rmd_getzpixmap.c =================================================================== --- trunk/recordmydesktop/src/rmd_getzpixmap.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_getzpixmap.c 2009-01-10 20:00:06 UTC (rev 590) @@ -37,13 +37,13 @@ -int GetZPixmap(Display *dpy, - Window root, - char *data, - int x, - int y, - int width, - int height){ +int rmdGetZPixmap(Display *dpy, + Window root, + char *data, + int x, + int y, + int width, + int height){ xGetImageReply reply; xGetImageReq *request; long nbytes; @@ -69,15 +69,15 @@ return 0; } -int GetZPixmapSHM(Display *dpy, - Window root, - XShmSegmentInfo *shminfo, - int shm_opcode, - char *data, - int x, - int y, - int width, - int height){ +int rmdGetZPixmapSHM(Display *dpy, + Window root, + XShmSegmentInfo *shminfo, + int shm_opcode, + char *data, + int x, + int y, + int width, + int height){ xShmGetImageReply reply; xShmGetImageReq *request=NULL; long nbytes; Modified: trunk/recordmydesktop/src/rmd_getzpixmap.h =================================================================== --- trunk/recordmydesktop/src/rmd_getzpixmap.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_getzpixmap.h 2009-01-10 20:00:06 UTC (rev 590) @@ -52,13 +52,13 @@ * * \returns 0 on Success 1 on Failure */ -int GetZPixmap(Display *dpy, - Window root, - char *data, - int x, - int y, - int width, - int height); +int rmdGetZPixmap(Display *dpy, + Window root, + char *data, + int x, + int y, + int width, + int height); /** * Rerieve pixmap data from xserver through the MIT-Shm extension @@ -85,15 +85,15 @@ * * \returns 0 on Success 1 on Failure */ -int GetZPixmapSHM(Display *dpy, - Window root, - XShmSegmentInfo *shminfo, - int shm_opcode, - char *data, - int x, - int y, - int width, - int height); +int rmdGetZPixmapSHM(Display *dpy, + Window root, + XShmSegmentInfo *shminfo, + int shm_opcode, + char *data, + int x, + int y, + int width, + int height); #endif Modified: trunk/recordmydesktop/src/rmd_init_encoder.c =================================================================== --- trunk/recordmydesktop/src/rmd_init_encoder.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_init_encoder.c 2009-01-10 20:00:06 UTC (rev 590) @@ -53,7 +53,7 @@ } -static int IncrementalNaming(char **name) { +static int rmdIncrementalNaming(char **name) { struct stat buff; char *base_name__; int i=0, @@ -90,7 +90,7 @@ return 0; } -void InitEncoder(ProgData *pdata,EncData *enc_data_t,int buffer_ready){ +void rmdInitEncoder(ProgData *pdata,EncData *enc_data_t,int buffer_ready){ int y0, y1, @@ -124,7 +124,7 @@ } if (!pdata->args.overwrite) { - IncrementalNaming(&(pdata)->args.filename); + rmdIncrementalNaming(&(pdata)->args.filename); fprintf(stderr, "Output file: %s\n", pdata->args.filename); } Modified: trunk/recordmydesktop/src/rmd_init_encoder.h =================================================================== --- trunk/recordmydesktop/src/rmd_init_encoder.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_init_encoder.h 2009-01-10 20:00:06 UTC (rev 590) @@ -38,10 +38,10 @@ * \param enc_data_t Encoding options * * \param buffer_ready when 1, the yuv buffer must be preallocated -* when 0 InitEncoder will alocate a new one +* when 0 rmdInitEncoder will alocate a new one * */ -void InitEncoder(ProgData *pdata,EncData *enc_data_t,int buffer_ready); +void rmdInitEncoder(ProgData *pdata,EncData *enc_data_t,int buffer_ready); #endif Modified: trunk/recordmydesktop/src/rmd_initialize_data.c =================================================================== --- trunk/recordmydesktop/src/rmd_initialize_data.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_initialize_data.c 2009-01-10 20:00:06 UTC (rev 590) @@ -42,10 +42,10 @@ #include <string.h> #ifdef HAVE_LIBASOUND -static void FixBufferSize(snd_pcm_uframes_t *buffsize) { +static void rmdFixBufferSize(snd_pcm_uframes_t *buffsize) { snd_pcm_uframes_t buffsize_t=*buffsize, #else -static void FixBufferSize(u_int32_t *buffsize) { +static void rmdFixBufferSize(u_int32_t *buffsize) { u_int32_t buffsize_t=*buffsize, #endif buffsize_ret=1; @@ -57,20 +57,20 @@ (int)buffsize_ret,(int)*buffsize); } -int InitializeData(ProgData *pdata, - EncData *enc_data, - CacheData *cache_data){ +int rmdInitializeData(ProgData *pdata, + EncData *enc_data, + CacheData *cache_data){ int i; fprintf(stderr,"Initializing...\n"); - MakeMatrices(); + rmdMakeMatrices(); if(pdata->args.have_dummy_cursor){ - pdata->dummy_pointer = MakeDummyPointer(pdata->dpy, - &pdata->specs, - 16, - pdata->args.cursor_color, - 0, - &pdata->npxl); + pdata->dummy_pointer = rmdMakeDummyPointer(pdata->dpy, + &pdata->specs, + 16, + pdata->args.cursor_color, + 0, + &pdata->npxl); pdata->dummy_p_size=16; } else @@ -107,24 +107,24 @@ if(!pdata->args.nosound){ if(!pdata->args.use_jack){ - FixBufferSize(&pdata->args.buffsize); + rmdFixBufferSize(&pdata->args.buffsize); #ifdef HAVE_LIBASOUND - pdata->sound_handle=OpenDev( pdata->args.device, - &pdata->args.channels, - &pdata->args.frequency, - &pdata->args.buffsize, - &pdata->periodsize, - &pdata->periodtime, - &pdata->hard_pause); + pdata->sound_handle=rmdOpenDev(pdata->args.device, + &pdata->args.channels, + &pdata->args.frequency, + &pdata->args.buffsize, + &pdata->periodsize, + &pdata->periodtime, + &pdata->hard_pause); pdata->sound_framesize=((snd_pcm_format_width( SND_PCM_FORMAT_S16_LE))/8)* pdata->args.channels; if(pdata->sound_handle==NULL){ #else - pdata->sound_handle=OpenDev(pdata->args.device, - pdata->args.channels, - pdata->args.frequency); + pdata->sound_handle=rmdOpenDev(pdata->args.device, + pdata->args.channels, + pdata->args.frequency); pdata->periodtime=(1000000*pdata->args.buffsize)/ ((pdata->args.channels<<1)*pdata->args.frequency); //when using OSS periodsize serves as an alias of buffsize @@ -149,7 +149,7 @@ pdata->jdata->sound_data_read=&pdata->sound_data_read; pdata->jdata->capture_started=0; - if((jack_error=StartJackClient(pdata->jdata))!=0) + if((jack_error=rmdStartJackClient(pdata->jdata))!=0) return jack_error; pdata->args.buffsize=pdata->jdata->buffersize; @@ -169,9 +169,9 @@ } if(pdata->args.encOnTheFly) - InitEncoder(pdata,enc_data,0); + rmdInitEncoder(pdata,enc_data,0); else - InitCacheData(pdata,enc_data,cache_data); + rmdInitCacheData(pdata,enc_data,cache_data); for(i=0;i<(pdata->enc_data->yuv.y_width*pdata->enc_data->yuv.y_height);i++) pdata->enc_data->yuv.y[i]=0; @@ -193,7 +193,7 @@ } -void SetupDefaultArgs(ProgArgs *args) { +void rmdSetupDefaultArgs(ProgArgs *args) { args->delay = 0; args->windowid = 0; @@ -253,7 +253,7 @@ strcpy(args->filename, "out.ogv"); } -void CleanUp(void){ +void rmdCleanUp(void){ free(yblocks); free(ublocks); Modified: trunk/recordmydesktop/src/rmd_initialize_data.h =================================================================== --- trunk/recordmydesktop/src/rmd_initialize_data.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_initialize_data.h 2009-01-10 20:00:06 UTC (rev 590) @@ -42,21 +42,21 @@ * * \returns 0 on success, other values must cause the program to exit */ -int InitializeData(ProgData *pdata, - EncData *enc_data, - CacheData *cache_data); +int rmdInitializeData(ProgData *pdata, + EncData *enc_data, + CacheData *cache_data); /** * Sets up the ProgArgs structure to default values. */ -void SetupDefaultArgs(ProgArgs *args); +void rmdSetupDefaultArgs(ProgArgs *args); /** * Currently only frees some memory * (y,u,v blocks) * */ -void CleanUp(void); +void rmdCleanUp(void); #endif Modified: trunk/recordmydesktop/src/rmd_jack.c =================================================================== --- trunk/recordmydesktop/src/rmd_jack.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_jack.c 2009-01-10 20:00:06 UTC (rev 590) @@ -46,7 +46,7 @@ * * \returns Zero always */ -static int JackCapture(jack_nframes_t nframes,void *jdata_t) { +static int rmdJackCapture(jack_nframes_t nframes,void *jdata_t) { int i=0; JackData *jdata=(JackData *)jdata_t; @@ -67,7 +67,7 @@ /*FIXME */ //This is not safe. //cond_var signaling must move away from signal handlers -//alltogether (JackCapture, SetExpired, SetPaused). +//alltogether (rmdJackCapture, SetExpired, SetPaused). //Better would be a set of pipes for each of these. //The callback should write on the pipe and the main thread //should perform a select over the fd's, signaling afterwards the @@ -87,7 +87,7 @@ * * \returns 0 on Success, 1 on failure */ -static int SetupPorts(JackData *jdata) { +static int rmdSetupPorts(JackData *jdata) { int i=0; jdata->ports=malloc(sizeof(jack_port_t *)* jdata->nports); @@ -126,7 +126,7 @@ //the program should stop recording, //encode the result(if not on the fly) //an exit cleanly. -static void JackShutdown(void *jdata_t) { +static void rmdJackShutdown(void *jdata_t) { JackData *jdata = (JackData *)jdata_t; jdata->pdata->running = FALSE; @@ -134,7 +134,7 @@ fprintf (stderr, "JACK shutdown\n"); } -int StartJackClient(JackData *jdata){ +int rmdStartJackClient(JackData *jdata){ float ring_buffer_size=0.0; int pid; char pidbuf[8]; @@ -176,14 +176,14 @@ jdata->nports); jdata->sound_buffer= (*jack_ringbuffer_create)((int)(ring_buffer_size+0.5));//round up - jack_set_process_callback(jdata->client,JackCapture,jdata); - jack_on_shutdown(jdata->client,JackShutdown,jdata); + jack_set_process_callback(jdata->client,rmdJackCapture,jdata); + jack_on_shutdown(jdata->client,rmdJackShutdown,jdata); if (jack_activate(jdata->client)) { fprintf(stderr,"cannot activate client!\n"); return 16; } - if(SetupPorts(jdata)){ + if(rmdSetupPorts(jdata)){ jack_client_close(jdata->client); return 17; } @@ -191,7 +191,7 @@ return 0; } -int StopJackClient(JackData *jdata){ +int rmdStopJackClient(JackData *jdata){ int ret=0; (*jack_ringbuffer_free)(jdata->sound_buffer); Modified: trunk/recordmydesktop/src/rmd_jack.h =================================================================== --- trunk/recordmydesktop/src/rmd_jack.h 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_jack.h 2009-01-10 20:00:06 UTC (rev 590) @@ -41,7 +41,7 @@ * \returns 0 on Success, error code on failure * (depending on where the error occured) */ -int StartJackClient(JackData *jdata); +int rmdStartJackClient(JackData *jdata); /** * Close Jack Client @@ -51,7 +51,7 @@ * * \returns 0 on Success, 1 on failure */ -int StopJackClient(JackData *jdata); +int rmdStopJackClient(JackData *jdata); #endif Modified: trunk/recordmydesktop/src/rmd_load_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_load_cache.c 2009-01-10 12:43:52 UTC (rev 589) +++ trunk/recordmydesktop/src/rmd_load_cache.c 2009-01-10 20:00:06 UTC (rev 590) @@ -66,12 +66,12 @@ }CachedFrame; -static void LoadBlock(unsigned char *dest, - unsigned char *source, - int blockno, - int width, - int height, - int blockwidth) { +static void rmdLoadBlock(unsigned char *dest, + unsigned char *source, + int blockno, + int width, + int height, + int blockwidth) { int j, block_i=blockno/(width/blockwidth),//place on the grid block_k=blockno%(width/blockwidth); @@ -82,7 +82,7 @@ } //returns number of bytes -static int ReadZF(void * buffer, size_t size, size_t nmemb, FILE *ucfp, gzFile *ifp) { +static int rmdReadZF(void * buffer, size_t size, size_t nmemb, FILE *ucfp, gzFile *ifp) { if((ifp!=NULL && ucfp!=NULL)|| (ifp==NULL && ucfp==NULL)) return -1; @@ -93,66 +93,66 @@ return gzread(ifp,buffer,size*nmemb); } -static int ReadFrame(CachedFrame *frame, FILE *ucfp, gzFile *ifp) { +static int rmdReadFrame(CachedFrame *frame, FILE *ucfp, gzFile *ifp) { int index_entry_size=sizeof(u_int32_t); if(frame->header->Ynum>0){ - if(ReadZF(frame->YBlocks, - index_entry_size, - frame->header->Ynum, - ucfp, - ifp)!=index_entry_size*frame->header->Ynum){ + if(rmdReadZF(frame->YBlocks, + index_entry_size, + frame->header->Ynum, + ucfp, + ifp)!=index_entry_size*frame->header->Ynum){ return -1; } } if(frame->header->Unum>0){ - if(ReadZF(frame->UBlocks, - index_entry_size, - frame->header->Unum, - ucfp, - ifp)!=index_entry_size*frame->header->Unum){ + if(rmdReadZF(frame->UBlocks, + index_entry_size, + frame->header->Unum, + ucfp, + ifp)!=index_entry_size*frame->header->Unum){ return -1; } } if(frame->header->Vnum>0){ - if(ReadZF(frame->VBlocks, - index_entry_size, - frame->header->Vnum, - ucfp, - ifp)!=index_entry_size*frame->header->Vnum){ + if(rmdReadZF(frame->VBlocks, + index_entry_size, + frame->header->Vnum, + ucfp, + ifp)!=index_entry_size*frame->header->Vnum){ return -1; } } if(frame->header->Ynum>0){ - if(ReadZF(frame->YData, - Y_UNIT_BYTES, - frame->header->Ynum, - ucfp, - ifp)!=Y_UNIT_BYTES*frame->header->Ynum){ + if(rmdReadZF(frame->YData, + Y_UNIT_BYTES, + frame->header->Ynum, + ucfp, + ifp)!=Y_UNIT_BYTES*frame->header->Ynum){ return -2; } } if(frame->header->Unum>0){ - if(ReadZF(frame->UData, - UV_UNIT_BYTES, - frame->header->Unum, - ucfp, - ifp)!=UV_UNIT_BYTES*frame->header->Unum){ + if(rmdReadZF(frame->UData, + UV_UNIT_BYTES, + frame->header->Unum, + ucfp, + ifp)!=UV_UNIT_BYTES*frame->header->Unum){ return -2; } } if(frame->header->Vnum>0){ - if(ReadZF(frame->VData, - UV_UNIT_BYTES, - frame->header->Vnum, - ucfp, - ifp)!=UV_UNIT_BYTES*frame->header->Vnum){ + if(rmdReadZF(frame->VData, + UV_UNIT_BYTES, + frame->header->Vnum, + ucfp, + ifp)!=UV_UNIT_BYTES*frame->header->Vnum){ return -2; } } return 0; } -void *LoadCache(ProgData *pdata){ +void *rmdLoadCache(ProgData *pdata){ yuv_buffer *yuv=&pdata->enc_data->yuv; gzFile *ifp=NULL; @@ -223,7 +223,7 @@ if(missing_frames>0){ extra_frames++; missing_frames--; - SyncEncodeImageBuffer(pdata); + rmdSyncEncodeImageBuffer(pdata); } else if(((!pdata->args.zerocompression)&& (gzread(ifp,frame.header,sizeof(FrameHeader))== @@ -245,40 +245,40 @@ if( (frame.header->Ynum<=blocknum_x*blocknum_y) && (frame.header->Unum<=blocknum_x*blocknum_y) && (frame.header->Vnum<=blocknum_x*blocknum_y) && - (!ReadFrame(&frame, - ((pdata->args.zerocompression)?ucfp:NULL), - ((pdata->args.zerocompression)?NULL:ifp))) + (!rmdReadFrame(&frame, + ((pdata->args.zerocompression)?ucfp:NULL), + ((pdata->args.zerocompression)?NULL:ifp))) ){ //load the blocks for each buffer if(frame.header->Ynum) for(j=0;j<frame.header->Ynum;j++) - LoadBlock( yuv->y, - &frame.YData[j*blockszy], - frame.YBlocks[j], - yuv->y_width, - yuv->y_height, - Y_UNIT_WIDTH); + rmdLoadBlock(yuv->y, + &frame.YData[j*blockszy], + frame.YBlocks[j], + yuv->y_width, + yuv->y_height, + Y_UNIT_WIDTH); if(frame.header->Unum) for(j=0;j<frame.header->Unum;j++) - LoadBlock( yuv->u, - &frame.UData[j*blockszuv], - frame.UBlocks[j], - yuv->uv_width, - yuv->uv_height, - UV_UNIT_WIDTH); + rmdLoadBlock(yuv->u, + &frame.UData[j*blockszuv], + frame.UBlocks[j], + yuv->uv_width, + yuv->uv_height, + UV_UNIT_WIDTH); if(frame.header->Vnum) for(j=0;j<frame.header->Vnum;j++) - LoadBlock( yuv->v, - &frame.VData[j*blockszuv], - frame.VBlocks[j], - yuv->uv_width, - yuv->uv_height, - UV_UNIT_WIDTH); + rmdLoadBlock(yuv->v, + &frame.VData[j*blockszuv], + frame.VBlocks[j], + yuv->uv_width, + yuv->uv_height, + UV_UNIT_WIDTH); //encode. This is not made in a thread since //now blocking is not a problem //and this way sync problems //can be avoided more easily. - SyncEncodeIma... [truncated message content] |
From: svn c. f. r. <rec...@li...> - 2009-03-12 07:09:09
|
Revision: 599 http://recordmydesktop.svn.sourceforge.net/recordmydesktop/?rev=599&view=rev Author: enselic Date: 2009-03-12 07:09:01 +0000 (Thu, 12 Mar 2009) Log Message: ----------- Applied patch from Kevin Lo that fixes compilation on FreeBSD by addressing include and format string issues. Modified Paths: -------------- trunk/recordmydesktop/src/rmd.c trunk/recordmydesktop/src/rmd_cache.c trunk/recordmydesktop/src/rmd_cache_frame.c trunk/recordmydesktop/src/rmd_capture_sound.c trunk/recordmydesktop/src/rmd_flush_to_ogg.c trunk/recordmydesktop/src/rmd_get_frame.c trunk/recordmydesktop/src/rmd_make_dummy_pointer.c trunk/recordmydesktop/src/rmd_queryextensions.c trunk/recordmydesktop/src/rmd_rescue.c trunk/recordmydesktop/src/rmd_specsfile.c trunk/recordmydesktop/src/rmd_timer.c Modified: trunk/recordmydesktop/src/rmd.c =================================================================== --- trunk/recordmydesktop/src/rmd.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd.c 2009-03-12 07:09:01 UTC (rev 599) @@ -43,6 +43,7 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <errno.h> int main(int argc,char **argv){ Modified: trunk/recordmydesktop/src/rmd_cache.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_cache.c 2009-03-12 07:09:01 UTC (rev 599) @@ -30,6 +30,8 @@ #include "rmd_specsfile.h" #include "rmd_types.h" +#include <sys/types.h> +#include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <string.h> Modified: trunk/recordmydesktop/src/rmd_cache_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_cache_frame.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_cache_frame.c 2009-03-12 07:09:01 UTC (rev 599) @@ -34,6 +34,7 @@ #include <signal.h> #include <string.h> #include <stdio.h> +#include <stdlib.h> #include <errno.h> #include <math.h> Modified: trunk/recordmydesktop/src/rmd_capture_sound.c =================================================================== --- trunk/recordmydesktop/src/rmd_capture_sound.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_capture_sound.c 2009-03-12 07:09:01 UTC (rev 599) @@ -34,6 +34,10 @@ #include <pthread.h> #include <string.h> #include <errno.h> +#include <sys/types.h> +#include <sys/uio.h> +#include <unistd.h> +#include <stdlib.h> void *rmdCaptureSound(ProgData *pdata){ Modified: trunk/recordmydesktop/src/rmd_flush_to_ogg.c =================================================================== --- trunk/recordmydesktop/src/rmd_flush_to_ogg.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_flush_to_ogg.c 2009-03-12 07:09:01 UTC (rev 599) @@ -36,6 +36,7 @@ #include <stdio.h> #include <stdlib.h> #include <errno.h> +#include <unistd.h> Modified: trunk/recordmydesktop/src/rmd_get_frame.c =================================================================== --- trunk/recordmydesktop/src/rmd_get_frame.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_get_frame.c 2009-03-12 07:09:01 UTC (rev 599) @@ -43,6 +43,7 @@ #include <pthread.h> #include <sys/shm.h> #include <errno.h> +#include <stdlib.h> #define AVG_4_PIXELS(data_array,width_img,k_tm,i_tm,offset)\ Modified: trunk/recordmydesktop/src/rmd_make_dummy_pointer.c =================================================================== --- trunk/recordmydesktop/src/rmd_make_dummy_pointer.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_make_dummy_pointer.c 2009-03-12 07:09:01 UTC (rev 599) @@ -31,8 +31,8 @@ #include "rmd_types.h" #include <X11/Xlib.h> +#include <stdlib.h> - unsigned char *rmdMakeDummyPointer(Display *display, DisplaySpecs *specs, int size, Modified: trunk/recordmydesktop/src/rmd_queryextensions.c =================================================================== --- trunk/recordmydesktop/src/rmd_queryextensions.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_queryextensions.c 2009-03-12 07:09:01 UTC (rev 599) @@ -32,6 +32,7 @@ #include <X11/extensions/shape.h> #include <X11/extensions/Xfixes.h> #include <X11/extensions/Xdamage.h> +#include <stdlib.h> Modified: trunk/recordmydesktop/src/rmd_rescue.c =================================================================== --- trunk/recordmydesktop/src/rmd_rescue.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_rescue.c 2009-03-12 07:09:01 UTC (rev 599) @@ -37,6 +37,7 @@ #include <pthread.h> #include <string.h> +#include <stdlib.h> int rmdRescue(const char *path){ Modified: trunk/recordmydesktop/src/rmd_specsfile.c =================================================================== --- trunk/recordmydesktop/src/rmd_specsfile.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_specsfile.c 2009-03-12 07:09:01 UTC (rev 599) @@ -51,9 +51,9 @@ fprintf(fp,"NoSound = %d\n",pdata->args.nosound); fprintf(fp,"Frequency = %d\n",pdata->args.frequency); fprintf(fp,"Channels = %d\n",pdata->args.channels); - fprintf(fp,"BufferSize = %lu\n",pdata->args.buffsize); + fprintf(fp,"BufferSize = %lu\n",(unsigned long)pdata->args.buffsize); fprintf(fp,"SoundFrameSize = %d\n",pdata->sound_framesize); - fprintf(fp,"PeriodSize = %lu\n",pdata->periodsize); + fprintf(fp,"PeriodSize = %lu\n",(unsigned long)pdata->periodsize); fprintf(fp,"UsedJack = %d\n",pdata->args.use_jack); fprintf(fp,"v_bitrate = %d\n",pdata->args.v_bitrate); fprintf(fp,"v_quality = %d\n",pdata->args.v_quality); @@ -119,7 +119,8 @@ fprintf(stderr,"Error reading Channels attribute!!!\n"); return 1; } - if(fscanf(fp,"BufferSize = %lu\n",&pdata->args.buffsize)!=1){ + if(fscanf(fp,"BufferSize = %lu\n", + (unsigned long *)&pdata->args.buffsize)!=1){ fprintf(stderr,"Error reading BufferSize attribute!!!\n"); return 1; } @@ -127,7 +128,8 @@ fprintf(stderr,"Error reading SoundFrameSize attribute!!!\n"); return 1; } - if(fscanf(fp,"PeriodSize = %lu\n",&pdata->periodsize)!=1){ + if(fscanf(fp,"PeriodSize = %lu\n", + (unsigned long *)&pdata->periodsize)!=1){ fprintf(stderr,"Error reading PeriodSize attribute!!!\n"); return 1; } Modified: trunk/recordmydesktop/src/rmd_timer.c =================================================================== --- trunk/recordmydesktop/src/rmd_timer.c 2009-01-11 14:33:07 UTC (rev 598) +++ trunk/recordmydesktop/src/rmd_timer.c 2009-03-12 07:09:01 UTC (rev 599) @@ -34,6 +34,7 @@ #include <stdio.h> #include <stdlib.h> #include <errno.h> +#include <unistd.h> void *rmdTimer(ProgData *pdata){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |