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

Commit 2d4a4517 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12278291 from 05764885 to 24Q4-release

Change-Id: I395adb03afae67b0882aaefd6f8d8f58fc216a24
parents 13bb4d0d 05764885
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -15,11 +15,14 @@
 */

#define LOG_TAG "ScreenRecord"

//#define LOG_NDEBUG 0
#include <utils/Log.h>

#include <com_android_graphics_libgui_flags.h>
#include <gui/Surface.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <utils/Log.h>

#include "FrameOutput.h"

@@ -67,11 +70,17 @@ status_t FrameOutput::createInputSurface(int width, int height,
        return UNKNOWN_ERROR;
    }

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    mGlConsumer = new GLConsumer(mExtTextureName, GL_TEXTURE_EXTERNAL_OES, /*useFenceSync=*/true,
                                 /*isControlledByApp=*/false);
    auto producer = mGlConsumer->getSurface()->getIGraphicBufferProducer();
#else
    sp<IGraphicBufferProducer> producer;
    sp<IGraphicBufferConsumer> consumer;
    BufferQueue::createBufferQueue(&producer, &consumer);
    mGlConsumer = new GLConsumer(consumer, mExtTextureName,
                GL_TEXTURE_EXTERNAL_OES, true, false);
#endif  // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    mGlConsumer->setName(String8("virtual display"));
    mGlConsumer->setDefaultBufferSize(width, height);
    producer->setMaxDequeuedBufferCount(4);
+6 −0
Original line number Diff line number Diff line
@@ -172,10 +172,16 @@ status_t Overlay::setup_l() {
        return UNKNOWN_ERROR;
    }

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    mGlConsumer = new GLConsumer(mExtTextureName, GL_TEXTURE_EXTERNAL_OES, /*useFenceSync=*/true,
                                 /*isControlledByApp=*/false);
    mProducer = mGlConsumer->getSurface()->getIGraphicBufferProducer();
#else
    sp<IGraphicBufferConsumer> consumer;
    BufferQueue::createBufferQueue(&mProducer, &consumer);
    mGlConsumer = new GLConsumer(consumer, mExtTextureName,
                GL_TEXTURE_EXTERNAL_OES, true, false);
#endif  // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    mGlConsumer->setName(String8("virtual display"));
    mGlConsumer->setDefaultBufferSize(width, height);
    mProducer->setMaxDequeuedBufferCount(4);
+8 −1
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@

#include <private/media/VideoFrame.h>

#include <com_android_graphics_libgui_flags.h>
#include <gui/GLConsumer.h>
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
@@ -1133,7 +1134,12 @@ int main(int argc, char **argv) {
            CHECK(gSurface != NULL);
        } else {
            CHECK(useSurfaceTexAlloc);

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
            sp<GLConsumer> texture =
                    new GLConsumer(0 /* tex */, GLConsumer::TEXTURE_EXTERNAL,
                                   true /* useFenceSync */, false /* isControlledByApp */);
            gSurface = texture->getSurface();
#else
            sp<IGraphicBufferProducer> producer;
            sp<IGraphicBufferConsumer> consumer;
            BufferQueue::createBufferQueue(&producer, &consumer);
@@ -1141,6 +1147,7 @@ int main(int argc, char **argv) {
                    GLConsumer::TEXTURE_EXTERNAL, true /* useFenceSync */,
                    false /* isControlledByApp */);
            gSurface = new Surface(producer);
#endif  // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
        }
    }

+15 −1
Original line number Diff line number Diff line
@@ -322,6 +322,18 @@ status_t AudioSystem::setStreamMute(audio_stream_type_t stream, bool mute) {
    return NO_ERROR;
}

status_t AudioSystem::setPortsVolume(
        const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) {
    const sp<IAudioFlinger> af = get_audio_flinger();
    if (af == 0) return PERMISSION_DENIED;
    std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS(
            convertContainer<std::vector<int32_t>>(
                    portIds, legacy2aidl_audio_port_handle_t_int32_t));
    int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output));
    af->setPortsVolume(portIdsAidl, volume, outputAidl);
    return NO_ERROR;
}

status_t AudioSystem::setMode(audio_mode_t mode) {
    if (uint32_t(mode) >= AUDIO_MODE_CNT) return BAD_VALUE;
    const sp<IAudioFlinger> af = get_audio_flinger();
@@ -1081,7 +1093,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr,
                                       audio_port_handle_t* portId,
                                       std::vector<audio_io_handle_t>* secondaryOutputs,
                                       bool *isSpatialized,
                                       bool *isBitPerfect) {
                                       bool *isBitPerfect,
                                       float *volume) {
    if (attr == nullptr) {
        ALOGE("%s NULL audio attributes", __func__);
        return BAD_VALUE;
@@ -1147,6 +1160,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr,
    *isBitPerfect = responseAidl.isBitPerfect;
    *attr = VALUE_OR_RETURN_STATUS(
            aidl2legacy_AudioAttributes_audio_attributes_t(responseAidl.attr));
    *volume = responseAidl.volume;

    return OK;
}
+19 −0
Original line number Diff line number Diff line
@@ -350,6 +350,15 @@ status_t AudioFlingerClientAdapter::setStreamMute(audio_stream_type_t stream, bo
    return statusTFromBinderStatus(mDelegate->setStreamMute(streamAidl, muted));
}

status_t AudioFlingerClientAdapter::setPortsVolume(
        const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) {
    std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS(
            convertContainer<std::vector<int32_t>>(
                    portIds, legacy2aidl_audio_port_handle_t_int32_t));
    int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output));
    return statusTFromBinderStatus(mDelegate->setPortsVolume(portIdsAidl, volume, outputAidl));
}

status_t AudioFlingerClientAdapter::setMode(audio_mode_t mode) {
    AudioMode modeAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_mode_t_AudioMode(mode));
    return statusTFromBinderStatus(mDelegate->setMode(modeAidl));
@@ -1012,6 +1021,16 @@ Status AudioFlingerServerAdapter::setStreamMute(AudioStreamType stream, bool mut
    return Status::fromStatusT(mDelegate->setStreamMute(streamLegacy, muted));
}

Status AudioFlingerServerAdapter::setPortsVolume(
        const std::vector<int32_t>& portIds, float volume, int32_t output) {
    std::vector<audio_port_handle_t> portIdsLegacy = VALUE_OR_RETURN_BINDER(
            convertContainer<std::vector<audio_port_handle_t>>(
                    portIds, aidl2legacy_int32_t_audio_port_handle_t));
    audio_io_handle_t outputLegacy = VALUE_OR_RETURN_BINDER(
            aidl2legacy_int32_t_audio_io_handle_t(output));
    return Status::fromStatusT(mDelegate->setPortsVolume(portIdsLegacy, volume, outputLegacy));
}

Status AudioFlingerServerAdapter::setMode(AudioMode mode) {
    audio_mode_t modeLegacy = VALUE_OR_RETURN_BINDER(aidl2legacy_AudioMode_audio_mode_t(mode));
    return Status::fromStatusT(mDelegate->setMode(modeLegacy));
Loading