Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1de4547 authored by Lajos Molnar's avatar Lajos Molnar Committed by Android (Google) Code Review
Browse files

Merge "OMX: clarify EOS signaling for tunneled decoders" into mnc-dev

parents bce101e7 bcaa8d5a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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
+8 −1
Original line number Diff line number Diff line
@@ -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