portvideo.cpp revision 5435027850dee5fe18425ed8d6513d551914d29b
1/*
2 * Copyright (C) 2009 Wind River Systems.
3 */
4
5#include <stdlib.h>
6#include <string.h>
7
8#include <OMX_Core.h>
9#include <OMX_Component.h>
10
11#include <componentbase.h>
12#include <portvideo.h>
13
14#define LOG_TAG "portvideo"
15#include <log.h>
16
17PortVideo::PortVideo()
18{
19    memset(&videoparam, 0, sizeof(videoparam));
20    ComponentBase::SetTypeHeader(&videoparam, sizeof(videoparam));
21}
22
23OMX_ERRORTYPE PortVideo::SetPortVideoParam(
24    const OMX_VIDEO_PARAM_PORTFORMATTYPE *p, bool internal)
25{
26    if (!internal) {
27        OMX_ERRORTYPE ret;
28
29        ret = ComponentBase::CheckTypeHeader((void *)p, sizeof(*p));
30        if (ret != OMX_ErrorNone)
31            return ret;
32        if (videoparam.nPortIndex != p->nPortIndex)
33            return OMX_ErrorBadPortIndex;
34    }
35    else
36        videoparam.nPortIndex = p->nPortIndex;
37
38    videoparam.nIndex = p->nIndex;
39    videoparam.eCompressionFormat = p->eCompressionFormat;
40    videoparam.eColorFormat = p->eColorFormat;
41    videoparam.xFramerate = p->xFramerate;
42
43    return OMX_ErrorNone;
44}
45
46const OMX_VIDEO_PARAM_PORTFORMATTYPE *PortVideo::GetPortVideoParam(void)
47{
48    return &videoparam;
49}
50
51/* end of PortVideo */
52