summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MidiMetadataRetriever.h
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2009-09-06 14:29:45 -0700
committerJames Dong <jdong@google.com>2009-09-08 11:04:53 -0700
commit148c1a2a96774517407717b61e5bc9cb08be8806 (patch)
treec6c4a5aff75009eddb3f89dfe7ba5f4ed9f75d40 /media/libmediaplayerservice/MidiMetadataRetriever.h
parente07db23c4935e47ecedfec7537ba95163e5836e5 (diff)
downloadframeworks_av-148c1a2a96774517407717b61e5bc9cb08be8806.zip
frameworks_av-148c1a2a96774517407717b61e5bc9cb08be8806.tar.gz
frameworks_av-148c1a2a96774517407717b61e5bc9cb08be8806.tar.bz2
Add basic metadata retrieval support for midi, ogg, etc.
Bug 2050320
Diffstat (limited to 'media/libmediaplayerservice/MidiMetadataRetriever.h')
-rw-r--r--media/libmediaplayerservice/MidiMetadataRetriever.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MidiMetadataRetriever.h b/media/libmediaplayerservice/MidiMetadataRetriever.h
new file mode 100644
index 0000000..73ff347
--- /dev/null
+++ b/media/libmediaplayerservice/MidiMetadataRetriever.h
@@ -0,0 +1,49 @@
+/*
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+#ifndef ANDROID_MIDIMETADATARETRIEVER_H
+#define ANDROID_MIDIMETADATARETRIEVER_H
+
+#include <utils/threads.h>
+#include <utils/Errors.h>
+#include <media/MediaMetadataRetrieverInterface.h>
+
+#include "MidiFile.h"
+
+namespace android {
+
+class MidiMetadataRetriever : public MediaMetadataRetrieverInterface {
+public:
+ MidiMetadataRetriever() {}
+ ~MidiMetadataRetriever() {}
+
+ virtual status_t setDataSource(const char *url);
+ virtual status_t setDataSource(int fd, int64_t offset, int64_t length);
+ virtual const char* extractMetadata(int keyCode);
+
+private:
+ static const uint32_t MAX_METADATA_STRING_LENGTH = 128;
+ void clearMetadataValues();
+
+ Mutex mLock;
+ sp<MidiFile> mMidiPlayer;
+ char mMetadataValues[1][MAX_METADATA_STRING_LENGTH];
+};
+
+}; // namespace android
+
+#endif // ANDROID_MIDIMETADATARETRIEVER_H