summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorNicolas Catania <niko@google.com>2009-07-09 09:21:33 -0700
committerNicolas Catania <niko@google.com>2009-07-10 11:00:42 -0700
commit5d55c7119820ee9bb06fc072e416fe98ba77cd28 (patch)
tree4f461a51f26fc221f4e9c7c660c6b6680ff072d7 /media/libmediaplayerservice
parent2eedb2515b733aaba0a92944def8156ef379e0da (diff)
downloadframeworks_base-5d55c7119820ee9bb06fc072e416fe98ba77cd28.zip
frameworks_base-5d55c7119820ee9bb06fc072e416fe98ba77cd28.tar.gz
frameworks_base-5d55c7119820ee9bb06fc072e416fe98ba77cd28.tar.bz2
Basic plumbing to retrieve metadata from the native player.
IMediaPlayer.h Added a getMetadata method that mirrors the on in MediaPlayer.java. MediaPlayer.java Added a native method to get the metadata from the native player. Parse the parcel into a Metadata object. Metadata.java Added a stub to parse the Parcel returned by the native player into a set of metadata. android_media_MediaPlayer.cpp JNI call to forward the getMetadata call. MediaPlayerService.cpp MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp10
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 3adbfac..04aab81 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -846,6 +846,16 @@ status_t MediaPlayerService::Client::setMetadataFilter(const Parcel& filter)
return status;
}
+status_t MediaPlayerService::Client::getMetadata(bool update_only, bool apply_filter, Parcel *metadata)
+{
+ status_t status;
+ metadata->writeInt32(-1); // Placeholder for the return code
+
+ // FIXME: Implement, query the native player and do the optional filtering, etc...
+ status = OK;
+ return status;
+}
+
status_t MediaPlayerService::Client::prepareAsync()
{
LOGV("[%d] prepareAsync", mConnId);
diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h
index b915e86..7920559 100644
--- a/media/libmediaplayerservice/MediaPlayerService.h
+++ b/media/libmediaplayerservice/MediaPlayerService.h
@@ -191,6 +191,7 @@ private:
virtual status_t setVolume(float leftVolume, float rightVolume);
virtual status_t invoke(const Parcel& request, Parcel *reply);
virtual status_t setMetadataFilter(const Parcel& filter);
+ virtual status_t getMetadata(bool update_only, bool apply_filter, Parcel *metadata);
sp<MediaPlayerBase> createPlayer(player_type playerType);
status_t setDataSource(const char *url);