summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-06-09 00:29:41 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-09 00:29:41 +0000
commit76ade36bd8374678a918dac44cab60f95a0d54f3 (patch)
treed7b173794491d0aa0e31e97e5a2928c45cc873f7 /include
parentaeac647a003c48cc8570b6c87513f0e45ea7f30e (diff)
parent037d4ca35abbcf40e244a5d09bade6dd8b9b2b0b (diff)
downloadframeworks_native-76ade36bd8374678a918dac44cab60f95a0d54f3.zip
frameworks_native-76ade36bd8374678a918dac44cab60f95a0d54f3.tar.gz
frameworks_native-76ade36bd8374678a918dac44cab60f95a0d54f3.tar.bz2
am 037d4ca3: Merge "media: change parameters for OMX_EventOutputRendered" into mnc-dev
* commit '037d4ca35abbcf40e244a5d09bade6dd8b9b2b0b': media: change parameters for OMX_EventOutputRendered
Diffstat (limited to 'include')
-rw-r--r--include/media/openmax/OMX_Core.h10
-rw-r--r--include/media/openmax/OMX_VideoExt.h6
2 files changed, 14 insertions, 2 deletions
diff --git a/include/media/openmax/OMX_Core.h b/include/media/openmax/OMX_Core.h
index 4fc1546..521c223 100644
--- a/include/media/openmax/OMX_Core.h
+++ b/include/media/openmax/OMX_Core.h
@@ -510,8 +510,14 @@ typedef enum OMX_EVENTTYPE
OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
/** Event when tunneled decoder has rendered an output
- * nData1 must contain the lower 32-bits of the buffer timestamp
- * nData2 must contain the upper 32-bits of the buffer timestamp
+ * nData1 must contain the number of timestamps returned
+ * pEventData must point to an array of the OMX_VIDEO_RENDEREVENTTYPE structs containing the
+ * render-timestamps of each frame. Component may batch rendered timestamps using this event,
+ * but must signal the event no more than 40ms after the first frame in the batch. The frames
+ * must be ordered by system timestamp inside and across batches.
+ *
+ * If component is doing frame-rate conversion, it must signal the render time of each
+ * converted frame, and must interpolate media timestamps for in-between frames.
*/
OMX_EventOutputRendered = 0x7F000001,
OMX_EventMax = 0x7FFFFFFF
diff --git a/include/media/openmax/OMX_VideoExt.h b/include/media/openmax/OMX_VideoExt.h
index 3c97e14..34c0405 100644
--- a/include/media/openmax/OMX_VideoExt.h
+++ b/include/media/openmax/OMX_VideoExt.h
@@ -203,6 +203,12 @@ typedef struct OMX_VIDEO_SLICESEGMENTSTYPE {
OMX_BOOL bEnableLoopFilterAcrossSlices;
} OMX_VIDEO_SLICESEGMENTSTYPE;
+/** Structure to return timestamps of rendered output frames for tunneled components */
+typedef struct OMX_VIDEO_RENDEREVENTTYPE {
+ OMX_S64 nMediaTimeUs; // timestamp of rendered video frame
+ OMX_S64 nSystemTimeNs; // system monotonic time at the time frame was rendered
+} OMX_VIDEO_RENDEREVENTTYPE;
+
#ifdef __cplusplus
}
#endif /* __cplusplus */