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 
PortOther()31 PortOther::PortOther()
32 {
33     memset(&otherparam, 0, sizeof(otherparam));
34     ComponentBase::SetTypeHeader(&otherparam, sizeof(otherparam));
35 }
36 
SetPortOtherParam(const OMX_OTHER_PARAM_PORTFORMATTYPE * p,bool internal)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 
GetPortOtherParam(void)58 const OMX_OTHER_PARAM_PORTFORMATTYPE *PortOther::GetPortOtherParam(void)
59 {
60     return &otherparam;
61 }
62 
63 /* end of PortOther */
64