Use callbacks for Midi I/O

Instead of having the Sonivox engine directly open the file and
use stdio to read from it, use caller-provided callbacks.

Change-Id: Ie55129109060a4a7862fee3177f994401e00b6c1
diff --git a/media/libmediaplayerservice/MidiFile.h b/media/libmediaplayerservice/MidiFile.h
index 82e4e88..48a42aa 100644
--- a/media/libmediaplayerservice/MidiFile.h
+++ b/media/libmediaplayerservice/MidiFile.h
@@ -20,6 +20,7 @@
 
 #include <media/MediaPlayerInterface.h>
 #include <libsonivox/eas.h>
+#include <media/MidiIoWrapper.h>
 
 namespace android {
 
@@ -63,7 +64,6 @@
         return INVALID_OPERATION;
     }
 
-
 private:
             status_t    createOutputTrack();
             status_t    reset_nosync();
@@ -78,7 +78,7 @@
     EAS_I32             mPlayTime;
     EAS_I32             mDuration;
     EAS_STATE           mState;
-    EAS_FILE            mFileLocator;
+    sp<MidiIoWrapper>   mIoWrapper;
     audio_stream_type_t mStreamType;
     bool                mLoop;
     volatile bool       mExit;