diff options
| author | 2015-11-13 00:00:19 +0000 | |
|---|---|---|
| committer | 2015-11-13 00:00:19 +0000 | |
| commit | f1de4547c14467c03b00187efde5381dd1fb265c (patch) | |
| tree | 5fc14a111f8d8674644d8a99e32ec2ad23699b64 | |
| parent | bce101e79b5ee9715a8329db8fd760f7ba829de1 (diff) | |
| parent | bcaa8d5a6c059d22d2fcf32ffab1a99f3b64c756 (diff) | |
Merge "OMX: clarify EOS signaling for tunneled decoders" into mnc-dev
| -rw-r--r-- | include/media/openmax/OMX_Core.h | 6 | ||||
| -rw-r--r-- | include/media/openmax/OMX_VideoExt.h | 9 | 
2 files changed, 13 insertions, 2 deletions
diff --git a/include/media/openmax/OMX_Core.h b/include/media/openmax/OMX_Core.h index 521c223b0b..f746a69d2a 100644 --- a/include/media/openmax/OMX_Core.h +++ b/include/media/openmax/OMX_Core.h @@ -509,7 +509,7 @@ typedef enum OMX_EVENTTYPE      OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard 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 or reached EOS       *  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, @@ -518,6 +518,10 @@ typedef enum OMX_EVENTTYPE       *       *  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. +     * +     *  When the component reached EOS, it must signal an EOS timestamp using the same mechanism. +     *  This is in addition to the timestamp of the last rendered frame, and should follow that +     *  frame.       */      OMX_EventOutputRendered = 0x7F000001,      OMX_EventMax = 0x7FFFFFFF diff --git a/include/media/openmax/OMX_VideoExt.h b/include/media/openmax/OMX_VideoExt.h index 34c040574b..3971bc5cc3 100644 --- a/include/media/openmax/OMX_VideoExt.h +++ b/include/media/openmax/OMX_VideoExt.h @@ -203,10 +203,17 @@ typedef struct OMX_VIDEO_SLICESEGMENTSTYPE {      OMX_BOOL bEnableLoopFilterAcrossSlices;  } OMX_VIDEO_SLICESEGMENTSTYPE; -/** Structure to return timestamps of rendered output frames for tunneled components */ +/** Structure to return timestamps of rendered output frames as well as EOS + *  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 +                           // Use INT64_MAX for nMediaTimeUs to signal that the EOS +                           // has been reached. In this case, nSystemTimeNs MUST be +                           // the system time when the last frame was rendered. +                           // This MUST be done in addition to returning (and +                           // following) the render information for the last frame.  } OMX_VIDEO_RENDEREVENTTYPE;  #ifdef __cplusplus  |