diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2020-06-19 03:47:43 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2020-06-20 15:58:17 -0700 |
commit | 2e5fdc7f842eacce7b41eab794c4bfe97761e381 (patch) | |
tree | 4f11cd5aa2196a85c531c1eeb6c75ddb4b190465 /recordmydesktop/src/rmd_cache.c | |
parent | c903c20a8554bd5a56fbe95f6598662e9fc0d2b6 (diff) |
*: just some fast and nasty reformatting
If I'm going to actually be modifying this program substantially
and possibly maintaining some fork of it, it's gotta be formmatted
how I prefer.
This is by no means done or perfect, rmd_types.h in particular is
quite the mess, I will be revisiting this issue...
Diffstat (limited to 'recordmydesktop/src/rmd_cache.c')
-rw-r--r-- | recordmydesktop/src/rmd_cache.c | 328 |
1 files changed, 162 insertions, 166 deletions
diff --git a/recordmydesktop/src/rmd_cache.c b/recordmydesktop/src/rmd_cache.c index 61111b7..22c7200 100644 --- a/recordmydesktop/src/rmd_cache.c +++ b/recordmydesktop/src/rmd_cache.c @@ -49,180 +49,176 @@ * */ static void rmdCacheFileN(char *name, char **newname, int n) { // Nth cache file - char numbuf[8]; - strcpy(*newname,name); - strcat(*newname,"."); - snprintf( numbuf, 8, "%d", n ); - strcat(*newname,numbuf); -} + char numbuf[8]; -int rmdSwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp){ - char *newname=malloc(strlen(name)+10); - rmdCacheFileN(name,&newname,n); - if(*fp==NULL){ - fflush(*ucfp); - fclose(*ucfp); - *ucfp=fopen(newname,"wb"); - } - else{ - gzflush(*fp,Z_FINISH); - gzclose(*fp); - *fp=gzopen(newname,"wb0f"); - } - free(newname); - return ((*fp==NULL)&&(*ucfp==NULL)); + strcpy(*newname, name); + strcat(*newname, "."); + snprintf(numbuf, 8, "%d", n); + strcat(*newname, numbuf); } -int rmdSwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp){ - char *newname=malloc(strlen(name)+10); - rmdCacheFileN(name,&newname,n); - if(*fp==NULL){ - fclose(*ucfp); - *ucfp=fopen(newname,"rb"); - } - else{ - - gzclose(*fp); - *fp=gzopen(newname,"rb"); - } - free(newname); - return ((*fp==NULL)&&(*ucfp==NULL)); +int rmdSwapCacheFilesWrite(char *name, int n, gzFile **fp, FILE **ucfp) { + char *newname = malloc(strlen(name) + 10); + + rmdCacheFileN(name, &newname, n); + if (*fp == NULL) { + fflush(*ucfp); + fclose(*ucfp); + *ucfp = fopen(newname, "wb"); + } else { + gzflush(*fp, Z_FINISH); + gzclose(*fp); + *fp = gzopen(newname, "wb0f"); + } + free(newname); + + return ((*fp == NULL) && (*ucfp == NULL)); } -int rmdPurgeCache(CacheData *cache_data_t,int sound){ - struct stat buff; - char *fname; - fname=malloc(strlen(cache_data_t->imgdata)+10); - strcpy(fname,cache_data_t->imgdata); - int exit_value=0; - int nth_cache=1; - - while (stat(fname,&buff)==0){ - if(remove(fname)){ - fprintf(stderr,"Couldn't remove temporary file %s", - cache_data_t->imgdata); - exit_value=1; - } - rmdCacheFileN(cache_data_t->imgdata,&fname,nth_cache); - nth_cache++; - } - free(fname); - if(sound){ - if(remove(cache_data_t->audiodata)){ - fprintf(stderr,"Couldn't remove temporary file %s", - cache_data_t->audiodata); - exit_value=1; - } - } - if(remove(cache_data_t->specsfile)){ - fprintf(stderr,"Couldn't remove temporary file %s", - cache_data_t->specsfile); - exit_value=1; - } - if(remove(cache_data_t->projname)){ - fprintf(stderr,"Couldn't remove temporary directory %s", - cache_data_t->projname); - exit_value=1; - } - return exit_value; +int rmdSwapCacheFilesRead(char *name, int n, gzFile **fp, FILE **ucfp) { + char *newname = malloc(strlen(name) + 10); + + rmdCacheFileN(name, &newname, n); + if (*fp == NULL) { + fclose(*ucfp); + *ucfp = fopen(newname, "rb"); + } else { + gzclose(*fp); + *fp = gzopen(newname, "rb"); + } + free(newname); + + return ((*fp == NULL) && (*ucfp == NULL)); } -void rmdInitCacheData(ProgData *pdata, - EncData *enc_data_t, - CacheData *cache_data_t){ - int width,height,offset_x,offset_y,pid; - char pidbuf[8]; - - //we set the buffer only since there's - //no need to initialize the encoder from now. - 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; - - enc_data_t->yuv.y=(unsigned char *)malloc(height*width); - enc_data_t->yuv.u=(unsigned char *)malloc(height*width/4); - enc_data_t->yuv.v=(unsigned char *)malloc(height*width/4); - enc_data_t->yuv.y_width=width; - enc_data_t->yuv.y_height=height; - enc_data_t->yuv.y_stride=width; - - enc_data_t->yuv.uv_width=width/2; - enc_data_t->yuv.uv_height=height/2; - enc_data_t->yuv.uv_stride=width/2; - enc_data_t->x_offset=offset_x; - enc_data_t->y_offset=offset_y; - - - //now we set the cache files - (pdata)->cache_data=cache_data_t; - - cache_data_t->workdir=(pdata->args).workdir; - pid=getpid(); - - snprintf( pidbuf, 8, "%d", pid ); - //names are stored relatively to current dir(i.e. no chdir) - cache_data_t->projname=malloc(strlen(cache_data_t->workdir)+ - 12+strlen(pidbuf)+3); - //projname - strcpy(cache_data_t->projname,cache_data_t->workdir); - strcat(cache_data_t->projname,"/"); - strcat(cache_data_t->projname,"rMD-session-"); - strcat(cache_data_t->projname,pidbuf); - strcat(cache_data_t->projname,"/"); - //image data - cache_data_t->imgdata=malloc(strlen(cache_data_t->projname)+11); - strcpy(cache_data_t->imgdata,cache_data_t->projname); - strcat(cache_data_t->imgdata,"img.out"); - //audio data - cache_data_t->audiodata=malloc(strlen(cache_data_t->projname)+10); - strcpy(cache_data_t->audiodata,cache_data_t->projname); - strcat(cache_data_t->audiodata,"audio.pcm"); - //specsfile - cache_data_t->specsfile=malloc(strlen(cache_data_t->projname)+10); - strcpy(cache_data_t->specsfile,cache_data_t->projname); - strcat(cache_data_t->specsfile,"specs.txt"); - - //now that've got out buffers and our filenames we start - //creating the needed files - - if(mkdir(cache_data_t->projname,0777)){ - fprintf(stderr,"Could not create temporary directory %s !!!\n", - cache_data_t->projname); - exit(13); - } - if(!pdata->args.zerocompression){ - cache_data_t->ifp=gzopen(cache_data_t->imgdata,"wb0f"); - if(cache_data_t->ifp==NULL){ - fprintf(stderr,"Could not create temporary file %s !!!\n", - cache_data_t->imgdata); - exit(13); - } - } - else{ - cache_data_t->uncifp=fopen(cache_data_t->imgdata,"wb0f"); - if(cache_data_t->uncifp==NULL){ - fprintf(stderr,"Could not create temporary file %s !!!\n", - cache_data_t->imgdata); - exit(13); - } - } - if(!pdata->args.nosound){ - cache_data_t->afp=fopen(cache_data_t->audiodata,"wb"); - if(cache_data_t->afp==NULL){ - fprintf(stderr,"Could not create temporary file %s !!!\n", - cache_data_t->audiodata); - exit(13); - } - } - if(rmdWriteSpecsFile(pdata)){ - fprintf(stderr,"Could not write specsfile %s !!!\n", - cache_data_t->specsfile); - exit(13); - } +int rmdPurgeCache(CacheData *cache_data_t, int sound) { + struct stat buff; + char *fname; + int exit_value = 0; + int nth_cache = 1; + + fname = malloc(strlen(cache_data_t->imgdata) + 10); + strcpy(fname, cache_data_t->imgdata); + + while (stat(fname, &buff) == 0) { + if (remove(fname)) { + fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->imgdata); + exit_value = 1; + } + rmdCacheFileN(cache_data_t->imgdata, &fname, nth_cache); + nth_cache++; + } + + free(fname); + + if (sound) { + if (remove(cache_data_t->audiodata)) { + fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->audiodata); + exit_value = 1; + } + } + + if (remove(cache_data_t->specsfile)) { + fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->specsfile); + exit_value = 1; + } + + if (remove(cache_data_t->projname)) { + fprintf(stderr, "Couldn't remove temporary directory %s", cache_data_t->projname); + exit_value = 1; + } + + return exit_value; +} +void rmdInitCacheData(ProgData *pdata, EncData *enc_data_t, CacheData *cache_data_t) { + int width, height, offset_x, offset_y, pid; + char pidbuf[8]; + + //we set the buffer only since there's + //no need to initialize the encoder from now. + 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; + + enc_data_t->yuv.y = (unsigned char *)malloc(height*width); + enc_data_t->yuv.u = (unsigned char *)malloc(height*width/4); + enc_data_t->yuv.v = (unsigned char *)malloc(height*width/4); + enc_data_t->yuv.y_width = width; + enc_data_t->yuv.y_height = height; + enc_data_t->yuv.y_stride = width; + + enc_data_t->yuv.uv_width = width/2; + enc_data_t->yuv.uv_height = height/2; + enc_data_t->yuv.uv_stride = width/2; + enc_data_t->x_offset = offset_x; + enc_data_t->y_offset = offset_y; + + //now we set the cache files + (pdata)->cache_data = cache_data_t; + + cache_data_t->workdir = (pdata->args).workdir; + pid = getpid(); + + snprintf( pidbuf, 8, "%d", pid ); + //names are stored relatively to current dir(i.e. no chdir) + cache_data_t->projname = malloc(strlen(cache_data_t->workdir) + 12 + strlen(pidbuf) + 3); + //projname + strcpy(cache_data_t->projname, cache_data_t->workdir); + strcat(cache_data_t->projname, "/"); + strcat(cache_data_t->projname, "rMD-session-"); + strcat(cache_data_t->projname, pidbuf); + strcat(cache_data_t->projname, "/"); + //image data + cache_data_t->imgdata = malloc(strlen(cache_data_t->projname) + 11); + strcpy(cache_data_t->imgdata, cache_data_t->projname); + strcat(cache_data_t->imgdata, "img.out"); + //audio data + cache_data_t->audiodata = malloc(strlen(cache_data_t->projname) + 10); + strcpy(cache_data_t->audiodata, cache_data_t->projname); + strcat(cache_data_t->audiodata, "audio.pcm"); + //specsfile + cache_data_t->specsfile = malloc(strlen(cache_data_t->projname) + 10); + strcpy(cache_data_t->specsfile, cache_data_t->projname); + strcat(cache_data_t->specsfile, "specs.txt"); + + //now that've got out buffers and our filenames we start + //creating the needed files + + if (mkdir(cache_data_t->projname, 0777)) { + fprintf(stderr, "Could not create temporary directory %s !!!\n", cache_data_t->projname); + exit(13); + } + + if (!pdata->args.zerocompression) { + cache_data_t->ifp = gzopen(cache_data_t->imgdata, "wb0f"); + if (cache_data_t->ifp == NULL) { + fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->imgdata); + exit(13); + } + } else { + cache_data_t->uncifp = fopen(cache_data_t->imgdata, "wb0f"); + if (cache_data_t->uncifp == NULL) { + fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->imgdata); + exit(13); + } + } + + if (!pdata->args.nosound) { + cache_data_t->afp = fopen(cache_data_t->audiodata, "wb"); + if (cache_data_t->afp == NULL) { + fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->audiodata); + exit(13); + } + } + + if (rmdWriteSpecsFile(pdata)) { + fprintf(stderr, "Could not write specsfile %s !!!\n", cache_data_t->specsfile); + exit(13); + } } |