summaryrefslogtreecommitdiff
path: root/omx/gstomx.h
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-06-17 12:06:48 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-06-17 12:06:48 +0300
commita78756c63fac10597e78e93d81767f385b920e81 (patch)
treeb0ce8ab94e751e7425c931cabc9bca31ec8add60 /omx/gstomx.h
parent198e31355f42bbbab7450a8fea42b725a3b890e4 (diff)
downloadgst-omx-a78756c63fac10597e78e93d81767f385b920e81.tar.gz
omx: #define OMX_SKIP64BIT on the RPi as required by their API
Also add generic support for OMX_SKIP64BIT to gst-omx, in case other implementations also #define that for whatever reason. https://bugzilla.gnome.org/show_bug.cgi?id=766475
Diffstat (limited to 'omx/gstomx.h')
-rw-r--r--omx/gstomx.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/omx/gstomx.h b/omx/gstomx.h
index 9ad8e2f..bc9bdd0 100644
--- a/omx/gstomx.h
+++ b/omx/gstomx.h
@@ -71,6 +71,19 @@ G_BEGIN_DECLS
(st)->nVersion.s.nStep = OMX_VERSION_STEP; \
} G_STMT_END
+#ifdef OMX_SKIP64BIT
+#define GST_OMX_GET_TICKS(ticks) ((((guint64) (ticks).nHighPart) << 32) | ((ticks).nLowPart))
+#define GST_OMX_SET_TICKS(ticks, i) G_STMT_START { \
+ ticks.nLowPart = ((guint64) (i)) & 0xffffffff; \
+ ticks.nHighPart = ((guint64) (i)) >> 32; \
+} G_STMT_END
+#else
+#define GST_OMX_GET_TICKS(ticks) (ticks)
+#define GST_OMX_SET_TICKS(ticks, i) G_STMT_START { \
+ ticks = i; \
+} G_STMT_END
+#endif
+
/* Different hacks that are required to work around
* bugs in different OpenMAX implementations
*/