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

Commit 8bf96c01 authored by Lajos Molnar's avatar Lajos Molnar Committed by Android Git Automerger
Browse files

am 3d4e4fcb: Merge "DO NOT MERGE: Revert "stagefright: allow for...

am 3d4e4fcb: Merge "DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"" into klp-dev

* commit '3d4e4fcb':
  DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"
parents 65550a0e 3d4e4fcb
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -642,8 +642,8 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(

    // FIXME: assume that surface is controlled by app (native window
    // returns the number for the case when surface is not controlled by app)
    // FIXME2: This means that minUndeqeueudBufs can be 1 larger than reported
    // For now, try to allocate 1 more buffer, but don't fail if unsuccessful
    (*minUndequeuedBuffers)++;


    // Use conservative allocation while also trying to reduce starvation
    //
@@ -651,8 +651,7 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(
    //    minimum needed for the consumer to be able to work
    // 2. try to allocate two (2) additional buffers to reduce starvation from
    //    the consumer
    //    plus an extra buffer to account for incorrect minUndequeuedBufs
    for (OMX_U32 extraBuffers = 2 + 1; /* condition inside loop */; extraBuffers--) {
    for (OMX_U32 extraBuffers = 2; /* condition inside loop */; extraBuffers--) {
        OMX_U32 newBufferCount =
            def.nBufferCountMin + *minUndequeuedBuffers + extraBuffers;
        def.nBufferCountActual = newBufferCount;
+4 −6
Original line number Diff line number Diff line
@@ -1797,8 +1797,7 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {
    }
    // FIXME: assume that surface is controlled by app (native window
    // returns the number for the case when surface is not controlled by app)
    // FIXME2: This means that minUndeqeueudBufs can be 1 larger than reported
    // For now, try to allocate 1 more buffer, but don't fail if unsuccessful
    minUndequeuedBufs++;

    // Use conservative allocation while also trying to reduce starvation
    //
@@ -1806,11 +1805,10 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {
    //    minimum needed for the consumer to be able to work
    // 2. try to allocate two (2) additional buffers to reduce starvation from
    //    the consumer
    //    plus an extra buffer to account for incorrect minUndequeuedBufs
    CODEC_LOGI("OMX-buffers: min=%u actual=%u undeq=%d+1",
    CODEC_LOGI("OMX-buffers: min=%u actual=%u undeq=%d",
            def.nBufferCountMin, def.nBufferCountActual, minUndequeuedBufs);

    for (OMX_U32 extraBuffers = 2 + 1; /* condition inside loop */; extraBuffers--) {
    for (OMX_U32 extraBuffers = 2; /* condition inside loop */; extraBuffers--) {
        OMX_U32 newBufferCount =
            def.nBufferCountMin + minUndequeuedBufs + extraBuffers;
        def.nBufferCountActual = newBufferCount;
@@ -1829,7 +1827,7 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {
            return err;
        }
    }
    CODEC_LOGI("OMX-buffers: min=%u actual=%u undeq=%d+1",
    CODEC_LOGI("OMX-buffers: min=%u actual=%u undeq=%d",
            def.nBufferCountMin, def.nBufferCountActual, minUndequeuedBufs);

    err = native_window_set_buffer_count(