diff options
author | Marco Nelissen <marcone@google.com> | 2015-01-13 23:31:16 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-01-13 23:31:16 +0000 |
commit | 17c933cc07be9656aee8afc82dc866a67b3fd78e (patch) | |
tree | 1dbb1c050687cda6d0877c29d60ac80d281a05b3 /media/libmedia | |
parent | 7e85361e364bf8f80ab43dd5feb0f584e481019e (diff) | |
parent | cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f (diff) | |
download | frameworks_av-17c933cc07be9656aee8afc82dc866a67b3fd78e.zip frameworks_av-17c933cc07be9656aee8afc82dc866a67b3fd78e.tar.gz frameworks_av-17c933cc07be9656aee8afc82dc866a67b3fd78e.tar.bz2 |
am cec272df: am 724b9ea5: Merge "Replace MidiFile player with a Midi extractor"
* commit 'cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f':
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; |