* 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:
parent
efbe1e876f
commit
f06a93c17a
@ -347,8 +347,8 @@ check_db(sqlite3 *db, int new_db, pid_t *scanner_pid)
|
|||||||
media_path = media_dirs;
|
media_path = media_dirs;
|
||||||
while (media_path)
|
while (media_path)
|
||||||
{
|
{
|
||||||
ret = sql_get_int_field(db, "SELECT ID from DETAILS where PATH = %Q", media_path->path);
|
ret = sql_get_int_field(db, "SELECT TIMESTAMP from DETAILS where PATH = %Q", media_path->path);
|
||||||
if (ret < 1)
|
if (ret != media_path->types)
|
||||||
{
|
{
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto rescan;
|
goto rescan;
|
||||||
|
@ -787,8 +787,11 @@ start_scanner()
|
|||||||
av_log_set_level(AV_LOG_PANIC);
|
av_log_set_level(AV_LOG_PANIC);
|
||||||
while( media_path )
|
while( media_path )
|
||||||
{
|
{
|
||||||
|
int64_t id;
|
||||||
strncpyt(name, media_path->path, sizeof(name));
|
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);
|
ScanDirectory(media_path->path, NULL, media_path->types);
|
||||||
sql_exec(db, "INSERT into SETTINGS values (%Q, %Q)", "media_dir", media_path->path);
|
sql_exec(db, "INSERT into SETTINGS values (%Q, %Q)", "media_dir", media_path->path);
|
||||||
media_path = media_path->next;
|
media_path = media_path->next;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user