1
0
mirror of https://git.code.sf.net/p/minidlna/git synced 2025-04-20 12:10:22 +00:00

* Add a verbose logging parameter and playlist skipping, based on SF bug .

This commit is contained in:
Justin Maggard
2011-09-03 01:54:39 +00:00
parent 4857493e4f
commit cb5ab0b1c6
5 changed files with 25 additions and 7 deletions

@ -340,6 +340,7 @@ init(int argc, char * * argv)
int i;
int pid;
int debug_flag = 0;
int verbose_flag = 0;
int options_flag = 0;
struct sigaction sa;
/*const char * logfilename = 0;*/
@ -351,6 +352,7 @@ init(int argc, char * * argv)
char * path;
char real_path[PATH_MAX];
char ip_addr[INET_ADDRSTRLEN + 3] = {'\0'};
char log_str[72] = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
/* first check if "-f" option is used */
for(i=2; i<argc; i++)
@ -658,6 +660,11 @@ init(int argc, char * * argv)
break;
case 'd':
debug_flag = 1;
case 'v':
verbose_flag = 1;
break;
case 'L':
SETFLAG(NO_PLAYLIST_MASK);
break;
case 'w':
if(i+1 < argc)
@ -765,7 +772,7 @@ init(int argc, char * * argv)
if( (n_lan_addr==0) || (runtime_vars.port<=0) )
{
fprintf(stderr, "Usage:\n\t"
"%s [-d] [-f config_file]\n"
"%s [-d] [-v] [-f config_file]\n"
"\t\t[-a listening_ip] [-p port]\n"
/*"[-l logfile] " not functionnal */
"\t\t[-s serial] [-m model_number] \n"
@ -777,26 +784,29 @@ init(int argc, char * * argv)
"\t-w sets the presentation url. Default is http address on port 80\n"
"\t-h displays this text\n"
"\t-R forces a full rescan\n"
"\t-L do note create playlists\n"
"\t-V print the version number\n",
argv[0], pidfilename);
return 1;
}
if( verbose_flag )
strcpy(log_str+65, "debug");
if(debug_flag)
{
pid = getpid();
log_init(NULL, "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=debug");
log_init(NULL, log_str);
}
else
{
pid = daemonize();
#ifdef READYNAS
log_init("/var/log/upnp-av.log", "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn");
log_init("/var/log/upnp-av.log", log_str);
#else
if( access(db_path, F_OK) != 0 )
make_dir(db_path, S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO);
sprintf(real_path, "%s/minidlna.log", log_path);
log_init(real_path, "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn");
log_init(real_path, log_str);
#endif
}

@ -97,6 +97,8 @@ fill_playlists()
sqlite_int64 plID, detailID;
char sql_buf[] = "SELECT ID, NAME, PATH from PLAYLISTS where ITEMS > FOUND";
DPRINTF(E_WARN, L_SCANNER, "Parsing playlists...\n");
if( sql_get_table(db, sql_buf, &result, &rows, NULL) != SQLITE_OK )
return -1;
if( !rows )
@ -220,6 +222,7 @@ found:
sql_exec(db, "UPDATE PLAYLISTS set FOUND = %d where ID = %lld", found, plID);
}
sqlite3_free_table(result);
DPRINTF(E_WARN, L_SCANNER, "Finished parsing playlists.\n");
return 0;
}

@ -828,8 +828,12 @@ start_scanner()
* client that uses UPnPSearch on large containers). */
sql_exec(db, "create INDEX IDX_SEARCH_OPT ON OBJECTS(OBJECT_ID, CLASS, DETAIL_ID);");
fill_playlists();
if( GETFLAG(NO_PLAYLIST_MASK) )
DPRINTF(E_WARN, L_SCANNER, "Playlist creation disabled\n");
else
fill_playlists();
DPRINTF(E_DEBUG, L_SCANNER, "Initial file scan completed\n", DB_VERSION);
//JM: Set up a db version number, so we know if we need to rebuild due to a new structure.
sql_exec(db, "pragma user_version = %d;", DB_VERSION);
}

@ -61,7 +61,7 @@
time_t startup_time = 0;
struct runtime_vars_s runtime_vars;
int runtime_flags = INOTIFY_MASK;
uint32_t runtime_flags = INOTIFY_MASK;
const char * pidfilename = "/var/run/minidlna.pid";

@ -175,10 +175,11 @@ extern time_t startup_time;
extern struct runtime_vars_s runtime_vars;
/* runtime boolean flags */
extern int runtime_flags;
extern uint32_t runtime_flags;
#define INOTIFY_MASK 0x0001
#define TIVO_MASK 0x0002
#define DLNA_STRICT_MASK 0x0004
#define NO_PLAYLIST_MASK 0x0008
#define SETFLAG(mask) runtime_flags |= mask
#define GETFLAG(mask) runtime_flags & mask