1413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber/* 2413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Copyright (C) 2009 The Android Open Source Project 3413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * 4413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * you may not use this file except in compliance with the License. 6413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * You may obtain a copy of the License at 7413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * 8413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * 10413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * Unless required by applicable law or agreed to in writing, software 11413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * See the License for the specific language governing permissions and 14413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber * limitations under the License. 15413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber */ 16413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 17413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#ifndef STAGEFRIGHT_MEDIA_SCANNER_H_ 18413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 19413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#define STAGEFRIGHT_MEDIA_SCANNER_H_ 20413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 21413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#include <media/mediascanner.h> 22413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 23413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Hubernamespace android { 24413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 25413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huberstruct StagefrightMediaScanner : public MediaScanner { 26413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber StagefrightMediaScanner(); 27413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber virtual ~StagefrightMediaScanner(); 28413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 297188e55f54a43c55fd6b96454720c447f1dc454eJeff Brown virtual MediaScanResult processFile( 30413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber const char *path, const char *mimeType, 31413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber MediaScannerClient &client); 32413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 33f3e80dddd7376aa9deeb27de25e1d50030a2ad98Elliott Hughes virtual MediaAlbumArt *extractAlbumArt(int fd); 34413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 35413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huberprivate: 36413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber StagefrightMediaScanner(const StagefrightMediaScanner &); 37413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber StagefrightMediaScanner &operator=(const StagefrightMediaScanner &); 387188e55f54a43c55fd6b96454720c447f1dc454eJeff Brown 397188e55f54a43c55fd6b96454720c447f1dc454eJeff Brown MediaScanResult processFileInternal( 407188e55f54a43c55fd6b96454720c447f1dc454eJeff Brown const char *path, const char *mimeType, 417188e55f54a43c55fd6b96454720c447f1dc454eJeff Brown MediaScannerClient &client); 42413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber}; 43413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 44413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber} // namespace android 45413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber 46413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber#endif // STAGEFRIGHT_MEDIA_SCANNER_H_ 47