1e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber/* 2bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber * Copyright (C) 2011 The Android Open Source Project 3e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * 4e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * you may not use this file except in compliance with the License. 6e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * You may obtain a copy of the License at 7e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * 8e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * 10e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * Unless required by applicable law or agreed to in writing, software 11e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * See the License for the specific language governing permissions and 14e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber * limitations under the License. 15e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber */ 16e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 17bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber#ifndef SOFT_OMX_PLUGIN_H_ 18e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 19bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber#define SOFT_OMX_PLUGIN_H_ 20e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 21bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber#include <media/stagefright/foundation/ABase.h> 226c6b4d0d2b98a7ceee8b697daaf611f8df3254fbJames Dong#include <OMXPluginBase.h> 23e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 24e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Hubernamespace android { 25e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 26bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huberstruct SoftOMXPlugin : public OMXPluginBase { 27bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber SoftOMXPlugin(); 28e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 29e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber virtual OMX_ERRORTYPE makeComponentInstance( 30e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber const char *name, 31e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber const OMX_CALLBACKTYPE *callbacks, 32e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber OMX_PTR appData, 33e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber OMX_COMPONENTTYPE **component); 34e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 35f0fb96c352f30b812a4903a1d783a715e1e817bdAndreas Huber virtual OMX_ERRORTYPE destroyComponentInstance( 36f0fb96c352f30b812a4903a1d783a715e1e817bdAndreas Huber OMX_COMPONENTTYPE *component); 37f0fb96c352f30b812a4903a1d783a715e1e817bdAndreas Huber 38e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber virtual OMX_ERRORTYPE enumerateComponents( 39e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber OMX_STRING name, 40e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber size_t size, 41e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber OMX_U32 index); 42e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 438ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cdAndreas Huber virtual OMX_ERRORTYPE getRolesOfComponent( 448ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cdAndreas Huber const char *name, 458ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cdAndreas Huber Vector<String8> *roles); 468ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cdAndreas Huber 47e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huberprivate: 48bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber DISALLOW_EVIL_CONSTRUCTORS(SoftOMXPlugin); 49e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber}; 50e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 51e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber} // namespace android 52e3ec3cec3a2e27033249ff82964d2cbd441d9873Andreas Huber 53bbba88cb1bdc34705d1477208990a06904c022e7Andreas Huber#endif // SOFT_OMX_PLUGIN_H_ 54