summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/adplug/adplug-db.cpp2
-rw-r--r--plugins/sid/csid.cpp4
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;