StagefrightMediaScanner.h revision 7188e55f54a43c55fd6b96454720c447f1dc454e
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
33413f523afe96aff02d2b0a7459127b8f67b2b43cAndreas Huber    virtual char *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