if (component_role) {
OMX_PARAM_COMPONENTROLETYPE param;
- memset (¶m, 0, sizeof (param));
- param.nSize = sizeof (param);
- param.nVersion.s.nVersionMajor = 1;
- param.nVersion.s.nVersionMinor = 1;
+ GST_OMX_INIT_STRUCT (¶m);
g_strlcpy ((gchar *) param.cRole, component_role, sizeof (param.cRole));
err =
GST_DEBUG_OBJECT (comp->parent, "Adding port %u", index);
- port_def.nSize = sizeof (port_def);
- port_def.nVersion.s.nVersionMajor = 1;
- port_def.nVersion.s.nVersionMinor = 1;
+ GST_OMX_INIT_STRUCT (&port_def);
port_def.nPortIndex = index;
+
err = OMX_GetParameter (comp->handle, OMX_IndexParamPortDefinition,
&port_def);
if (err != OMX_ErrorNone) {
comp = port->comp;
- memset (port_def, 0, sizeof (*port_def));
- port_def->nSize = sizeof (*port_def);
- port_def->nVersion.s.nVersionMajor = 1;
- port_def->nVersion.s.nVersionMinor = 1;
+ GST_OMX_INIT_STRUCT (port_def);
port_def->nPortIndex = port->index;
OMX_GetParameter (comp->handle, OMX_IndexParamPortDefinition, port_def);
#define __GST_OMX_H__
#include <gst/gst.h>
+#include <string.h>
#include <OMX_Core.h>
#include <OMX_Component.h>
G_BEGIN_DECLS
+#define GST_OMX_INIT_STRUCT(st) G_STMT_START { \
+ memset ((st), 0, sizeof ((*st))); \
+ (st)->nSize = sizeof ((*st)); \
+ (st)->nVersion.s.nVersionMajor = 1; \
+ (st)->nVersion.s.nVersionMinor = 1; \
+} G_STMT_END
+
/* Different hacks that are required to work around
* bugs in different OpenMAX implementations
*/