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

Commit 91bc552c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes from topic "cherrypicker-L48700030005938629:N88900030094104124" into main

* changes:
  libaudiohal: Modify logging in DeviceHalAidl/Hal2AidlMapper/StreamHalAidl
  Send the Audio Usage down from AudioPolicyManager
  Add SourceMetadata as a new parameter in openOutputStream
parents 7e0e4f15 145313ed
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ namespace android {

using hardware::audio::common::PlaybackTrackMetadata;
using hardware::audio::common::RecordTrackMetadata;
using hardware::audio::common::SourceMetadata;
using ::android::BAD_VALUE;
using ::android::OK;

@@ -194,5 +195,16 @@ legacy2aidl_record_track_metadata_v7_RecordTrackMetadata(const record_track_meta
    return aidl;
}

// static
ConversionResult<SourceMetadata>
legacy2aidl_SourceMetadata(const std::vector<playback_track_metadata_v7_t>& legacy) {
    SourceMetadata aidl;
    aidl.tracks = VALUE_OR_RETURN(
            convertContainer<std::vector<PlaybackTrackMetadata>>(
                    legacy,
                    legacy2aidl_playback_track_metadata_v7_PlaybackTrackMetadata));
    return aidl;
}

}  // namespace android
}  // aidl
+4 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@

#include <aidl/android/hardware/audio/common/PlaybackTrackMetadata.h>
#include <aidl/android/hardware/audio/common/RecordTrackMetadata.h>
#include <aidl/android/hardware/audio/common/SourceMetadata.h>
#include <aidl/android/media/audio/common/AudioConfig.h>
#include <media/AidlConversionUtil.h>

@@ -56,5 +57,8 @@ aidl2legacy_RecordTrackMetadata_record_track_metadata_v7(
ConversionResult<hardware::audio::common::RecordTrackMetadata>
legacy2aidl_record_track_metadata_v7_RecordTrackMetadata(const record_track_metadata_v7& legacy);

ConversionResult<hardware::audio::common::SourceMetadata>
legacy2aidl_SourceMetadata(const std::vector<playback_track_metadata_v7_t>& legacy);

}  // namespace android
}  // namespace aidl
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.media;
import android.media.AudioPortFw;
import android.media.audio.common.AudioConfig;
import android.media.audio.common.AudioConfigBase;
import android.media.audio.common.AudioAttributes;

/**
 * {@hide}
@@ -32,4 +33,5 @@ parcelable OpenOutputRequest {
    AudioPortFw device;
    /** Bitmask, indexed by AudioOutputFlag. */
    int flags;
    AudioAttributes attributes;
}
+26 −0
Original line number Diff line number Diff line
@@ -25,6 +25,32 @@

namespace android {

/*
 * Helper macro to add instance name, function name in logs
 * classes should provide getInstanceName and getClassName API to use these macros.
 * print function names along with instance name.
 *
 * Usage:
 *  AUGMENT_LOG(I, "hello!");
 *  AUGMENT_LOG(W, "value: %d", value);
 *
 * AUGMENT_LOG_IF(D, value < 0, "negative");
 * AUGMENT_LOG_IF(E, value < 0, "bad value: %d", value);
 */

#define AUGMENT_LOG(level, ...)                                                              \
    ALOG##level("[%s] %s: " __android_second(0, __VA_ARGS__, ""), getInstanceName().c_str(), \
                __func__ __android_rest(__VA_ARGS__))

#define AUGMENT_LOG_IF(level, cond, ...)                                     \
    ALOG##level##_IF(cond, "[%s] %s: " __android_second(0, __VA_ARGS__, ""), \
                     getInstanceName().c_str(), __func__ __android_rest(__VA_ARGS__))
// Used to register an entry into the function
#define LOG_ENTRY() ALOGD("[%s] %s", getInstanceName().c_str(), __func__)

// entry logging as verbose level
#define LOG_ENTRY_V() ALOGV("[%s] %s", getInstanceName().c_str(), __func__)

class HalDeathHandler {
  public:
    static HalDeathHandler& getInstance();
+6 −4
Original line number Diff line number Diff line
@@ -49,13 +49,15 @@ class Args {

class ConversionHelperAidl {
  protected:
    ConversionHelperAidl(std::string_view className) : mClassName(className) {}
    ConversionHelperAidl(std::string_view className, std::string_view instanceName)
        : mClassName(className), mInstanceName(instanceName) {}

    const std::string& getClassName() const {
        return mClassName;
    }
    const std::string& getClassName() const { return mClassName; }

    const std::string& getInstanceName() const { return mInstanceName; }

    const std::string mClassName;
    const std::string mInstanceName;
};

// 'action' must accept a value of type 'T' and return 'status_t'.
Loading