aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorMax Horn2011-03-24 16:49:46 +0100
committerMax Horn2011-03-24 16:49:46 +0100
commit62f5c475f3bf7482526ce58bd90f37343ef523a6 (patch)
treecba18a5af76adeee784bc39ce1fdf0df6d3bc671 /audio
parent9a646cde46c1d61ab14c057a0142e851e9ec3a91 (diff)
downloadscummvm-rg350-62f5c475f3bf7482526ce58bd90f37343ef523a6.tar.gz
scummvm-rg350-62f5c475f3bf7482526ce58bd90f37343ef523a6.tar.bz2
scummvm-rg350-62f5c475f3bf7482526ce58bd90f37343ef523a6.zip
AUDIO: Expand MidiPlayer docs / goals a bit, mention deadlock bug
Diffstat (limited to 'audio')
-rw-r--r--audio/midiplayer.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/audio/midiplayer.h b/audio/midiplayer.h
index 913d49c68c..fd60d0bc07 100644
--- a/audio/midiplayer.h
+++ b/audio/midiplayer.h
@@ -41,6 +41,18 @@ namespace Audio {
* start of the real thing, which tries to include code replicated between
* several of our engines.
*
+ * Eventually, this should offer ways to start playback of SMF and XMIDI
+ * data (and possibly make it easy to add further playback methods),
+ * should be able to automatically instantiate _driver as needed,
+ * should perform memory management on the MidiParser object(s) being
+ * used, and possibly more.
+ *
+ * Also, care should be taken to ensure that mutex locking is done right;
+ * currently, it isn't: That is, many engines have (and already had before
+ * this class was introduced) various potential deadlocks hiding in their
+ * MIDI code, caused by a thread trying to lock a mutex twice -- this may
+ * work on some systems, but on others is a sure way towards a deadlock.
+ *
* @todo Document origin of this class. It is based on code shared by
* several engines (e.g. DRACI says it copied it from MADE, which took
* it from SAGE).