15435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu/* 22f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * portother.cpp, port class for other 330bd6062e4b295f5f7bcaeb98165065310d29269Ho-Eun Ryu * 42f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * Copyright (c) 2009-2010 Wind River Systems, Inc. 52f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * 62f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * Licensed under the Apache License, Version 2.0 (the "License"); 72f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * you may not use this file except in compliance with the License. 82f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * You may obtain a copy of the License at 92f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * 102f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * http://www.apache.org/licenses/LICENSE-2.0 112f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * 122f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * Unless required by applicable law or agreed to in writing, software 132f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * distributed under the License is distributed on an "AS IS" BASIS, 142f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 152f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * See the License for the specific language governing permissions and 162f6e87e64736666857c1bbe2cb0692c1f4e56508Ho-Eun Ryu * limitations under the License. 175435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu */ 185435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 195435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <stdlib.h> 205435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <string.h> 215435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 225435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <OMX_Core.h> 235435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <OMX_Component.h> 245435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 255435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <componentbase.h> 265435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <portother.h> 275435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 285435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#define LOG_TAG "portother" 295435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu#include <log.h> 305435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 315435027850dee5fe18425ed8d6513d551914d29bHo-Eun RyuPortOther::PortOther() 325435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu{ 335435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu memset(&otherparam, 0, sizeof(otherparam)); 345435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu ComponentBase::SetTypeHeader(&otherparam, sizeof(otherparam)); 355435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu} 365435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 375435027850dee5fe18425ed8d6513d551914d29bHo-Eun RyuOMX_ERRORTYPE PortOther::SetPortOtherParam( 385435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu const OMX_OTHER_PARAM_PORTFORMATTYPE *p, bool internal) 395435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu{ 405435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu if (!internal) { 415435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu OMX_ERRORTYPE ret; 423739d03aa380db0d809c6acf7968c629e769b0c2Ho-Eun Ryu 435435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu ret = ComponentBase::CheckTypeHeader((void *)p, sizeof(*p)); 445435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu if (ret != OMX_ErrorNone) 455435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu return ret; 465435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu if (otherparam.nPortIndex != p->nPortIndex) 475435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu return OMX_ErrorBadPortIndex; 485435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu } 495435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu else 505435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu otherparam.nPortIndex = p->nPortIndex; 515435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 525435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu otherparam.nIndex = p->nIndex; 535435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu otherparam.eFormat = p->eFormat; 545435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 555435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu return OMX_ErrorNone; 565435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu} 575435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 585435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryuconst OMX_OTHER_PARAM_PORTFORMATTYPE *PortOther::GetPortOtherParam(void) 595435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu{ 605435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu return &otherparam; 615435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu} 625435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu 635435027850dee5fe18425ed8d6513d551914d29bHo-Eun Ryu/* end of PortOther */ 64