media: change parameters for OMX_EventOutputRendered

This allows batching of rendered events.

Bug: 20503131
Change-Id: I3b319317c0434eb225198f8c4bf716edf68079a2
This commit is contained in:
Lajos Molnar 2015-06-05 17:49:25 -07:00
parent 9d2c5a7c67
commit e21d7f500f
2 changed files with 14 additions and 2 deletions

View File

@ -510,8 +510,14 @@ typedef enum OMX_EVENTTYPE
OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
/** Event when tunneled decoder has rendered an output /** Event when tunneled decoder has rendered an output
* nData1 must contain the lower 32-bits of the buffer timestamp * nData1 must contain the number of timestamps returned
* nData2 must contain the upper 32-bits of the buffer timestamp * 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_EventOutputRendered = 0x7F000001,
OMX_EventMax = 0x7FFFFFFF OMX_EventMax = 0x7FFFFFFF

View File

@ -203,6 +203,12 @@ typedef struct OMX_VIDEO_SLICESEGMENTSTYPE {
OMX_BOOL bEnableLoopFilterAcrossSlices; OMX_BOOL bEnableLoopFilterAcrossSlices;
} OMX_VIDEO_SLICESEGMENTSTYPE; } 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 #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */