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

Commit 4fdefc48 authored by Sungtak Lee's avatar Sungtak Lee Committed by Automerger Merge Worker
Browse files

Merge "c2aidl InputSurface: enable InputSurface" into main am: 4161164a am: 8072be5f

parents 44d89e92 8072be5f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ container: "system"

flag {
  name: "aidl_hal_input_surface"
  is_exported: true
  namespace: "codec_fwk"
  description: "Feature flags for enabling AIDL HAL InputSurface handling"
  bug: "201479783"
+3 −3
Original line number Diff line number Diff line
@@ -21,7 +21,9 @@
#include <utils/Trace.h>

#include <codec2/aidl/GraphicBufferAllocator.h>
#include <codec2/common/HalSelection.h>
#include <codec2/hidl/client.h>

#include <C2Debug.h>
#include <C2BufferPriv.h>
#include <C2Config.h> // for C2StreamUsageTuning
@@ -1832,9 +1834,7 @@ std::vector<C2Component::Traits> const& Codec2Client::ListComponents() {

std::shared_ptr<Codec2Client::InputSurface> Codec2Client::CreateInputSurface(
        char const* serviceName) {
    int32_t inputSurfaceSetting = ::android::base::GetIntProperty(
            "debug.stagefright.c2inputsurface", int32_t(0));
    if (inputSurfaceSetting <= 0) {
    if (!IsCodec2AidlInputSurfaceSelected()) {
        return nullptr;
    }
    size_t index = GetServiceNames().size();
+5 −1
Original line number Diff line number Diff line
@@ -56,13 +56,17 @@ cc_library_static {
        "libaconfig_storage_read_api_cc",
    ],

    static_libs: ["aconfig_mediacodec_flags_c_lib"],
    static_libs: [
        "aconfig_mediacodec_flags_c_lib",
        "android.media.codec-aconfig-cc",
    ],
}

cc_defaults {
    name: "libcodec2_hal_selection",
    static_libs: [
        "aconfig_mediacodec_flags_c_lib",
        "android.media.codec-aconfig-cc",
        "libcodec2_hal_selection_static",
    ],
    shared_libs: [
+17 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
// NOTE: due to dependency from mainline modules cannot use libsysprop
// #include <android/sysprop/MediaProperties.sysprop.h>
#include <android-base/properties.h>
#include <android_media_codec.h>
#include <com_android_media_codec_flags.h>

#include <codec2/common/HalSelection.h>
@@ -66,4 +67,20 @@ bool IsCodec2AidlHalSelected() {
    return false;
}

bool IsCodec2AidlInputSurfaceSelected() {
    if (!IsCodec2AidlHalSelected()) {
        return false;
    }

    int32_t inputSurfaceSetting = ::android::base::GetIntProperty(
            "debug.stagefright.c2inputsurface", int32_t(0));
    if (inputSurfaceSetting <= 0) {
        return false;
    }
    if (!android::media::codec::provider_->aidl_hal_input_surface()) {
        return false;
    }
    return true;
}

}  // namespace android
+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ namespace android {
// Returns true iff AIDL c2 HAL is selected for the system
bool IsCodec2AidlHalSelected();

// Returns true iff AIDL c2 InputSurface interface is selected for the system
bool IsCodec2AidlInputSurfaceSelected();

}  // namespace android

#endif  // CODEC2_HAL_SELECTION_H