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 #3395238.
This commit is contained in:
18
minidlna.c
18
minidlna.c
@ -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
|
||||
|
Reference in New Issue
Block a user