[Mt-daapd-cvs] SF.net SVN: mt-daapd: [1366] trunk/src
Status: Beta
Brought to you by:
andrew40
From: <rp...@us...> - 2006-08-26 03:57:42
|
Revision: 1366 Author: rpedde Date: 2006-08-25 20:57:35 -0700 (Fri, 25 Aug 2006) ViewCVS: http://svn.sourceforge.net/mt-daapd/?rev=1366&view=rev Log Message: ----------- Move collecting pmp3->file_size in the scanner driver rather than individual scanners. Fixes half of #166 Modified Paths: -------------- trunk/src/mp3-scanner.c trunk/src/scan-aac.c trunk/src/scan-aif.c trunk/src/scan-flac.c trunk/src/scan-mp3.c trunk/src/scan-mp4.c trunk/src/scan-mpc.c trunk/src/scan-ogg.c trunk/src/scan-wav.c trunk/src/scan-wma.c Modified: trunk/src/mp3-scanner.c =================================================================== --- trunk/src/mp3-scanner.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/mp3-scanner.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -619,7 +619,8 @@ memset((void*)&mp3file,0,sizeof(mp3file)); mp3file.path=strdup(path); mp3file.fname=strdup(fname); - + mp3file.file_size = psb->st_size; + if((fname) && (strlen(fname) > 1) && (fname[strlen(fname)-1] != '.')) { type = strrchr(fname, '.') + 1; if(type && *type) { @@ -729,9 +730,6 @@ * @param pmp3 struct to stuff with info gleaned */ int scan_get_info(char *file, MP3FILE *pmp3) { - FILE *infile; - off_t file_size; - TAGHANDLER *hdl; /* dispatch to appropriate tag handler */ @@ -739,20 +737,6 @@ if(hdl && hdl->scanner) return hdl->scanner(file,pmp3); - /* a file we don't know anything about... ogg or aiff maybe */ - if(!(infile=fopen(file,"rb"))) { - DPRINTF(E_WARN,L_SCAN,"Could not open %s for reading\n",file); - return FALSE; - } - - /* we can at least get this */ - fseek(infile,0,SEEK_END); - file_size=ftell(infile); - fseek(infile,0,SEEK_SET); - - pmp3->file_size=file_size; - - fclose(infile); return TRUE; } Modified: trunk/src/scan-aac.c =================================================================== --- trunk/src/scan-aac.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-aac.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -193,10 +193,6 @@ return FALSE; } - fseek(fin,0,SEEK_END); - pmp3->file_size = ftell(fin); - fseek(fin,0,SEEK_SET); - atom_offset=scan_aac_drilltoatom(fin, "moov:udta:meta:ilst", &atom_length); if(atom_offset != -1) { /* found the tag section - need to walk through now */ Modified: trunk/src/scan-aif.c =================================================================== --- trunk/src/scan-aif.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-aif.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -137,11 +137,6 @@ return FALSE; } - fseek(infile,0,SEEK_END); - pmp3->file_size = ftell(infile); - fseek(infile,0,SEEK_SET); - - /* first, verify we have a valid iff header */ if(fread((void*)&iff_header,sizeof(AIF_IFF_HEADER),1,infile) != 1) { DPRINTF(E_WARN,L_SCAN,"Error reading %s -- bad iff header\n",filename); Modified: trunk/src/scan-flac.c =================================================================== --- trunk/src/scan-flac.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-flac.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -68,22 +68,11 @@ FLAC__StreamMetadata *block; int found=0; unsigned int sec, ms; - FILE *f; int i; char *val; size_t len; char tmp; - /* get file length */ - if (!(f = fopen(filename, "rb"))) { - DPRINTF(E_WARN,L_SCAN,"Could not open %s for reading\n", filename); - return FALSE; - } - fseek(f, 0, SEEK_END); - pmp3->file_size = ftell(f); - fseek(f, 0, SEEK_SET); - fclose(f); - chain = FLAC__metadata_chain_new(); if (! chain) { DPRINTF(E_WARN,L_SCAN,"Cannot allocate FLAC metadata chain\n"); Modified: trunk/src/scan-mp3.c =================================================================== --- trunk/src/scan-mp3.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-mp3.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -821,12 +821,6 @@ memset((void*)&fi,0x00,sizeof(fi)); - fseek(infile,0,SEEK_END); - file_size=ftell(infile); - fseek(infile,0,SEEK_SET); - - pmp3->file_size=file_size; - if(fread(buffer,1,sizeof(buffer),infile) != sizeof(buffer)) { if(ferror(infile)) { DPRINTF(E_LOG,L_SCAN,"Error reading: %s\n",strerror(errno)); Modified: trunk/src/scan-mp4.c =================================================================== --- trunk/src/scan-mp4.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-mp4.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -81,11 +81,6 @@ return FALSE; } - fseek(fin,0,SEEK_END); - pmp3->file_size = ftell(fin); - fseek(fin,0,SEEK_SET); - - atom_offset=scan_aac_drilltoatom(fin, "moov:udta:meta:ilst", &atom_length); if(atom_offset != -1) { /* found the tag section - need to walk through now */ Modified: trunk/src/scan-mpc.c =================================================================== --- trunk/src/scan-mpc.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-mpc.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -47,16 +47,6 @@ int len; unsigned int i; - /* get file length */ - if (!(f = fopen(filename, "rb"))) { - DPRINTF(E_WARN,L_SCAN,"Could not open %s for reading\n", filename); - return FALSE; - } - fseek(f, 0, SEEK_END); - pmp3->file_size = ftell(f); - fseek(f, 0, SEEK_SET); - fclose(f); - /* open file with taglib */ if ((file = taglib_file_new_type(filename, TagLib_File_MPC)) == NULL) { DPRINTF(E_WARN,L_SCAN,"Could not open %s with taglib\n", filename); Modified: trunk/src/scan-ogg.c =================================================================== --- trunk/src/scan-ogg.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-ogg.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -43,11 +43,6 @@ return FALSE; } - if(!fseek(f,0,SEEK_END)) { - pmp3->file_size=ftell(f); - fseek(f,0,SEEK_SET); - } - if (ov_open(f, &vf, NULL, 0) != 0) { fclose(f); DPRINTF(E_LOG, L_SCAN, Modified: trunk/src/scan-wav.c =================================================================== --- trunk/src/scan-wav.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-wav.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -68,10 +68,6 @@ return FALSE; } - fseek(infile,0,SEEK_END); - pmp3->file_size = ftell(infile); - fseek(infile,0,SEEK_SET); - rl = fread(hdr, 1, 44, infile); fclose(infile); if (rl != 44) { Modified: trunk/src/scan-wma.c =================================================================== --- trunk/src/scan-wma.c 2006-08-26 03:44:43 UTC (rev 1365) +++ trunk/src/scan-wma.c 2006-08-26 03:57:35 UTC (rev 1366) @@ -866,7 +866,7 @@ int item; int err; int res=TRUE; - + wma_fd = r_open2(filename,O_RDONLY); if(wma_fd == -1) { DPRINTF(E_INF,L_SCAN,"Error opening WMA file (%s): %s\n",filename, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |