* Store the media type in the TIMESTAMP column, so we can force a rescan if the user changes the media type configuration.

This commit is contained in:
Justin Maggard 2013-01-02 21:00:52 +00:00
parent efbe1e876f
commit f06a93c17a
2 changed files with 6 additions and 3 deletions

View File

@ -347,8 +347,8 @@ check_db(sqlite3 *db, int new_db, pid_t *scanner_pid)
media_path = media_dirs;
while (media_path)
{
ret = sql_get_int_field(db, "SELECT ID from DETAILS where PATH = %Q", media_path->path);
if (ret < 1)
ret = sql_get_int_field(db, "SELECT TIMESTAMP from DETAILS where PATH = %Q", media_path->path);
if (ret != media_path->types)
{
ret = 1;
goto rescan;

View File

@ -787,8 +787,11 @@ start_scanner()
av_log_set_level(AV_LOG_PANIC);
while( media_path )
{
int64_t id;
strncpyt(name, media_path->path, sizeof(name));
GetFolderMetadata(basename(name), media_path->path, NULL, NULL, 0);
id = GetFolderMetadata(basename(name), media_path->path, NULL, NULL, 0);
/* Use TIMESTAMP to store the media type */
sql_exec(db, "UPDATE DETAILS set TIMESTAMP = %d where ID = %lld", media_path->types, (long long)id);
ScanDirectory(media_path->path, NULL, media_path->types);
sql_exec(db, "INSERT into SETTINGS values (%Q, %Q)", "media_dir", media_path->path);
media_path = media_path->next;