blob: f93c323ef1b3b89db209808841048355573bca85 [file] [log] [blame]
Andreas Huberb0caf942009-12-03 11:39:54 -08001/*
Andreas Huber4b3913a2011-05-11 14:13:42 -07002 * Copyright (C) 2011 The Android Open Source Project
Andreas Huberb0caf942009-12-03 11:39:54 -08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Andreas Huber4b3913a2011-05-11 14:13:42 -070017#ifndef SOFT_OMX_PLUGIN_H_
Andreas Huberb0caf942009-12-03 11:39:54 -080018
Andreas Huber4b3913a2011-05-11 14:13:42 -070019#define SOFT_OMX_PLUGIN_H_
Andreas Huberb0caf942009-12-03 11:39:54 -080020
Andreas Huber4b3913a2011-05-11 14:13:42 -070021#include <media/stagefright/foundation/ABase.h>
Andreas Huberb0caf942009-12-03 11:39:54 -080022#include <media/stagefright/OMXPluginBase.h>
23
24namespace android {
25
Andreas Huber4b3913a2011-05-11 14:13:42 -070026struct SoftOMXPlugin : public OMXPluginBase {
27 SoftOMXPlugin();
Andreas Huberb0caf942009-12-03 11:39:54 -080028
29 virtual OMX_ERRORTYPE makeComponentInstance(
30 const char *name,
31 const OMX_CALLBACKTYPE *callbacks,
32 OMX_PTR appData,
33 OMX_COMPONENTTYPE **component);
34
Andreas Huberfef64352009-12-04 12:52:40 -080035 virtual OMX_ERRORTYPE destroyComponentInstance(
36 OMX_COMPONENTTYPE *component);
37
Andreas Huberb0caf942009-12-03 11:39:54 -080038 virtual OMX_ERRORTYPE enumerateComponents(
39 OMX_STRING name,
40 size_t size,
41 OMX_U32 index);
42
Andreas Huberc7e91ee2009-12-15 15:22:08 -080043 virtual OMX_ERRORTYPE getRolesOfComponent(
44 const char *name,
45 Vector<String8> *roles);
46
Andreas Huberb0caf942009-12-03 11:39:54 -080047private:
Andreas Huber4b3913a2011-05-11 14:13:42 -070048 DISALLOW_EVIL_CONSTRUCTORS(SoftOMXPlugin);
Andreas Huberb0caf942009-12-03 11:39:54 -080049};
50
51} // namespace android
52
Andreas Huber4b3913a2011-05-11 14:13:42 -070053#endif // SOFT_OMX_PLUGIN_H_