• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 **
3 ** Copyright (C) 2008 The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17 
18 #ifndef ANDROID_IMEDIAMETADATARETRIEVER_H
19 #define ANDROID_IMEDIAMETADATARETRIEVER_H
20 
21 #include <utils/RefBase.h>
22 #include <binder/IInterface.h>
23 #include <binder/Parcel.h>
24 #include <binder/IMemory.h>
25 
26 namespace android {
27 
28 class IMediaMetadataRetriever: public IInterface
29 {
30 public:
31     DECLARE_META_INTERFACE(MediaMetadataRetriever);
32     virtual void            disconnect() = 0;
33     virtual status_t        setDataSource(const char* srcUrl) = 0;
34     virtual status_t        setDataSource(int fd, int64_t offset, int64_t length) = 0;
35     virtual status_t        setMode(int mode) = 0;
36     virtual status_t        getMode(int* mode) const = 0;
37     virtual sp<IMemory>     captureFrame() = 0;
38     virtual sp<IMemory>     extractAlbumArt() = 0;
39     virtual const char*     extractMetadata(int keyCode) = 0;
40 };
41 
42 // ----------------------------------------------------------------------------
43 
44 class BnMediaMetadataRetriever: public BnInterface<IMediaMetadataRetriever>
45 {
46 public:
47     virtual status_t    onTransact(uint32_t code,
48                                    const Parcel& data,
49                                    Parcel* reply,
50                                    uint32_t flags = 0);
51 };
52 
53 }; // namespace android
54 
55 #endif // ANDROID_IMEDIAMETADATARETRIEVER_H
56 
57