StagefrightMetadataRetriever.h revision 2a4a7d5af053a17586a262a1267ba993e31790f1
12a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber/* 22a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** 32a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** Copyright 2009, The Android Open Source Project 42a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** 52a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** Licensed under the Apache License, Version 2.0 (the "License"); 62a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** you may not use this file except in compliance with the License. 72a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** You may obtain a copy of the License at 82a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** 92a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** http://www.apache.org/licenses/LICENSE-2.0 102a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** 112a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** Unless required by applicable law or agreed to in writing, software 122a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** distributed under the License is distributed on an "AS IS" BASIS, 132a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 142a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** See the License for the specific language governing permissions and 152a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber** limitations under the License. 162a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber*/ 172a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 182a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber#ifndef STAGEFRIGHT_METADATA_RETRIEVER_H_ 192a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 202a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber#define STAGEFRIGHT_METADATA_RETRIEVER_H_ 212a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 222a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber#include <media/MediaMetadataRetrieverInterface.h> 232a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 242a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber#include <media/stagefright/OMXClient.h> 252a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 262a4a7d5af053a17586a262a1267ba993e31790f1Andreas Hubernamespace android { 272a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 282a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huberclass MediaExtractor; 292a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 302a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huberstruct StagefrightMetadataRetriever : public MediaMetadataRetrieverInterface { 312a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber StagefrightMetadataRetriever(); 322a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual ~StagefrightMetadataRetriever(); 332a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 342a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual status_t setDataSource(const char *url); 352a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual status_t setDataSource(int fd, int64_t offset, int64_t length); 362a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 372a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual VideoFrame *captureFrame(); 382a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual MediaAlbumArt *extractAlbumArt(); 392a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber virtual const char *extractMetadata(int keyCode); 402a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 412a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huberprivate: 422a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber OMXClient mClient; 432a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber sp<MediaExtractor> mExtractor; 442a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 452a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber StagefrightMetadataRetriever(const StagefrightMetadataRetriever &); 462a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 472a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber StagefrightMetadataRetriever &operator=( 482a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber const StagefrightMetadataRetriever &); 492a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber}; 502a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 512a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber} // namespace android 522a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber 532a4a7d5af053a17586a262a1267ba993e31790f1Andreas Huber#endif // STAGEFRIGHT_METADATA_RETRIEVER_H_ 54