diff options
author | Nicolas Catania <niko@google.com> | 2009-07-08 08:57:42 -0700 |
---|---|---|
committer | Nicolas Catania <niko@google.com> | 2009-07-09 11:46:02 -0700 |
commit | a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9 (patch) | |
tree | 526ea0a90e0fead7c9b5ef56dbb16631ac075504 /include/media/mediaplayer.h | |
parent | 814914cd0858cafaa6ad625e3012de97d213636d (diff) | |
download | frameworks_av-a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9.zip frameworks_av-a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9.tar.gz frameworks_av-a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9.tar.bz2 |
Implemented the metadata changed notification filters.
IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.
MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.
MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.
A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.
The notify method in run the metadata update notifications thru the filter and possibly drop them.
Diffstat (limited to 'include/media/mediaplayer.h')
-rw-r--r-- | include/media/mediaplayer.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/media/mediaplayer.h b/include/media/mediaplayer.h index dd8ea19..8326a21 100644 --- a/include/media/mediaplayer.h +++ b/include/media/mediaplayer.h @@ -97,6 +97,8 @@ enum media_info_type { MEDIA_INFO_BAD_INTERLEAVING = 800, // The media is not seekable (e.g live stream). MEDIA_INFO_NOT_SEEKABLE = 801, + // New media metadata is available. + MEDIA_INFO_METADATA_UPDATE = 802, }; @@ -152,6 +154,7 @@ public: static sp<IMemory> decode(const char* url, uint32_t *pSampleRate, int* pNumChannels, int* pFormat); static sp<IMemory> decode(int fd, int64_t offset, int64_t length, uint32_t *pSampleRate, int* pNumChannels, int* pFormat); status_t invoke(const Parcel& request, Parcel *reply); + status_t setMetadataFilter(const Parcel& filter); private: void clear_l(); status_t seekTo_l(int msec); |