diff options
-rw-r--r-- | plugins/adplug/adplug-db.cpp | 2 | ||||
-rw-r--r-- | plugins/sid/csid.cpp | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/plugins/adplug/adplug-db.cpp b/plugins/adplug/adplug-db.cpp index 6e6242e6..a3e0c322 100644 --- a/plugins/adplug/adplug-db.cpp +++ b/plugins/adplug/adplug-db.cpp @@ -108,7 +108,9 @@ adplug_init (DB_fileinfo_t *_info, DB_playItem_t *it) { info->opl = new CKemuopl (samplerate, bps == 16, channels == 2); } } + deadbeef->pl_lock (); info->decoder = CAdPlug::factory (deadbeef->pl_find_meta (it, ":URI"), info->opl, CAdPlug::players); + deadbeef->pl_unlock (); if (!info->decoder) { trace ("adplug: failed to open %s\n", deadbeef->pl_find_meta (it, ":URI")); return -1; diff --git a/plugins/sid/csid.cpp b/plugins/sid/csid.cpp index 2bb5b84e..6658850e 100644 --- a/plugins/sid/csid.cpp +++ b/plugins/sid/csid.cpp @@ -299,7 +299,9 @@ csid_init (DB_fileinfo_t *_info, DB_playItem_t *it) { // libsidplay crashes if file doesn't exist // so i have to check it here + deadbeef->pl_lock (); DB_FILE *fp = deadbeef->fopen (deadbeef->pl_find_meta (it, ":URI")); + deadbeef->pl_unlock (); if (!fp ){ return -1; } @@ -318,7 +320,9 @@ csid_init (DB_fileinfo_t *_info, DB_playItem_t *it) { info->resid->sampling (samplerate); info->duration = deadbeef->pl_get_item_duration (it); + deadbeef->pl_lock (); info->tune = new SidTune (deadbeef->pl_find_meta (it, ":URI")); + deadbeef->pl_unlock (); info->tune->selectSong (deadbeef->pl_find_meta_int (it, ":TRACKNUM", 0)+1); sid2_config_t conf; |