diff options
author | Marco Nelissen <marcone@google.com> | 2015-01-13 23:25:10 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-01-13 23:25:10 +0000 |
commit | cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f (patch) | |
tree | b43a3817ff0c9fb8b8a56dd320c22a950dae670b /media/libmedia | |
parent | 43799d707039b396a48653958bd085b8f31f3893 (diff) | |
parent | 724b9ea51db0c191cc3184319719a38b5a1f6502 (diff) | |
download | frameworks_av-cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f.zip frameworks_av-cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f.tar.gz frameworks_av-cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f.tar.bz2 |
am 724b9ea5: Merge "Replace MidiFile player with a Midi extractor"
* commit '724b9ea51db0c191cc3184319719a38b5a1f6502':
Replace MidiFile player with a Midi extractor
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/MidiIoWrapper.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/media/libmedia/MidiIoWrapper.cpp b/media/libmedia/MidiIoWrapper.cpp index ef931d2..2181111 100644 --- a/media/libmedia/MidiIoWrapper.cpp +++ b/media/libmedia/MidiIoWrapper.cpp @@ -47,6 +47,16 @@ MidiIoWrapper::MidiIoWrapper(int fd, off64_t offset, int64_t size) { mLength = size; } +MidiIoWrapper::MidiIoWrapper(const sp<DataSource> &source) { + mDataSource = source; + off64_t l; + if (mDataSource->getSize(&l) == OK) { + mLength = l; + } else { + mLength = 0; + } +} + MidiIoWrapper::~MidiIoWrapper() { ALOGV("~MidiIoWrapper"); close(mFd); @@ -54,6 +64,10 @@ MidiIoWrapper::~MidiIoWrapper() { int MidiIoWrapper::readAt(void *buffer, int offset, int size) { ALOGV("readAt(%p, %d, %d)", buffer, offset, size); + + if (mDataSource != NULL) { + return mDataSource->readAt(offset, buffer, size); + } lseek(mFd, mBase + offset, SEEK_SET); if (offset + size > mLength) { size = mLength - offset; |