From 5c9ef7ebf39f4e103fb49bfa8e00e7751b8dea5d Mon Sep 17 00:00:00 2001 From: Oleksiy Yakovenko Date: Sat, 12 Nov 2022 21:59:30 +0100 Subject: [PATCH] medialib: resolve FIXME: corrected comment about track_uris --- plugins/medialib/medialibdb.h | 6 +++--- plugins/medialib/medialibscanner.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/medialib/medialibdb.h b/plugins/medialib/medialibdb.h index 94d247a914..ba8f494a1d 100644 --- a/plugins/medialib/medialibdb.h +++ b/plugins/medialib/medialibdb.h @@ -89,9 +89,9 @@ typedef struct { ml_collection_t genres; ml_collection_t folders; - // This hash is formed from track_uri ([%:TRACKNUM%#]%:URI%), and supposed to have all tracks which exist in the library (including subtracks). - // Main purpose is to find a library instance of a track for given track pointer. - // FIXME: the hashing doesn't seem to be using "tracknum+uri" -- needs to be verified / fixed. + // This hash is formed from track_uri (filename), + // and each node contains all tracks for the given filename. + // It is used to update the already scanned tracks during rescans. ml_collection_t track_uris; /// Selected / expanded state. diff --git a/plugins/medialib/medialibscanner.c b/plugins/medialib/medialibscanner.c index 9f4d4a54c7..e3e3ef895f 100644 --- a/plugins/medialib/medialibscanner.c +++ b/plugins/medialib/medialibscanner.c @@ -255,9 +255,9 @@ ml_filter_int (ddb_file_found_data_t *data, time_t mtime, scanner_state_t *state res = -1; // Copy from medialib playlist into scanner state - ml_collection_tree_node_t *str = ml_collection_hash_find (state->source->db.track_uris.hash, s); - if (str) { - for (ml_collection_track_ref_t *item = str->items; item; item = item->next) { + ml_collection_tree_node_t *node = ml_collection_hash_find (state->source->db.track_uris.hash, s); + if (node) { + for (ml_collection_track_ref_t *item = node->items; item; item = item->next) { const char *stimestamp = deadbeef->pl_find_meta (item->it, ":MEDIALIB_SCAN_TIME"); if (!stimestamp) { // no scan time @@ -273,7 +273,7 @@ ml_filter_int (ddb_file_found_data_t *data, time_t mtime, scanner_state_t *state } } - for (ml_collection_track_ref_t *item = str->items; item; item = item->next) { + for (ml_collection_track_ref_t *item = node->items; item; item = item->next) { // Because of cuesheets, the same track may get added multiple times, // since all items reference the same filename. // Check if this track is still in ml_playlist