1 /* 2 * portother.cpp, port class for other 3 * 4 * Copyright (c) 2009-2010 Wind River Systems, Inc. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 #include <stdlib.h> 20 #include <string.h> 21 22 #include <OMX_Core.h> 23 #include <OMX_Component.h> 24 25 #include <componentbase.h> 26 #include <portother.h> 27 28 #define LOG_TAG "portother" 29 #include <log.h> 30 31 PortOther::PortOther() 32 { 33 memset(&otherparam, 0, sizeof(otherparam)); 34 ComponentBase::SetTypeHeader(&otherparam, sizeof(otherparam)); 35 } 36 37 OMX_ERRORTYPE PortOther::SetPortOtherParam( 38 const OMX_OTHER_PARAM_PORTFORMATTYPE *p, bool internal) 39 { 40 if (!internal) { 41 OMX_ERRORTYPE ret; 42 43 ret = ComponentBase::CheckTypeHeader((void *)p, sizeof(*p)); 44 if (ret != OMX_ErrorNone) 45 return ret; 46 if (otherparam.nPortIndex != p->nPortIndex) 47 return OMX_ErrorBadPortIndex; 48 } 49 else 50 otherparam.nPortIndex = p->nPortIndex; 51 52 otherparam.nIndex = p->nIndex; 53 otherparam.eFormat = p->eFormat; 54 55 return OMX_ErrorNone; 56 } 57 58 const OMX_OTHER_PARAM_PORTFORMATTYPE *PortOther::GetPortOtherParam(void) 59 { 60 return &otherparam; 61 } 62 63 /* end of PortOther */ 64