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

Commit 388360c7 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Brush up audio parameters usage

It is preferred to use the constants from AudioParameter
(which can now serve as an abstraction layer similar to libaudiohal).

Grepped for usages of defines and just string values
and replaced with references to AudioParameter.

Since the parameter definitions are being moved to system/audio.h,
update includes in AudioParemeter and stagefright Utils.

Change-Id: I2addb983707d866b16f39d45d0e14b802595e292
Test: make
parent 61a4fac2
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -58,9 +58,23 @@ public:
    static const char * const keyMonoOutput;
    static const char * const keyStreamHwAvSync;

    //  keyStreamConnect / Disconnect: value is an int in audio_devices_t
    static const char * const keyStreamConnect;
    static const char * const keyStreamDisconnect;

    // For querying stream capabilities. All the returned values are lists.
    //   keyStreamSupportedFormats: audio_format_t
    //   keyStreamSupportedChannels: audio_channel_mask_t
    //   keyStreamSupportedSamplingRates: sampling rate values
    static const char * const keyStreamSupportedFormats;
    static const char * const keyStreamSupportedChannels;
    static const char * const keyStreamSupportedSamplingRates;

    static const char * const valueOn;
    static const char * const valueOff;

    static const char * const valueListSeparator;

    String8 toString();

    status_t add(const String8& key, const String8& value);
+8 −1
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@

#include <utils/Log.h>

#include <hardware/audio.h>
#include <media/AudioParameter.h>
#include <system/audio.h>

namespace android {

@@ -36,8 +36,15 @@ const char * const AudioParameter::keyBtNrec = AUDIO_PARAMETER_KEY_BT_NREC;
const char * const AudioParameter::keyHwAvSync = AUDIO_PARAMETER_HW_AV_SYNC;
const char * const AudioParameter::keyMonoOutput = AUDIO_PARAMETER_MONO_OUTPUT;
const char * const AudioParameter::keyStreamHwAvSync = AUDIO_PARAMETER_STREAM_HW_AV_SYNC;
const char * const AudioParameter::keyStreamConnect = AUDIO_PARAMETER_DEVICE_CONNECT;
const char * const AudioParameter::keyStreamDisconnect = AUDIO_PARAMETER_DEVICE_DISCONNECT;
const char * const AudioParameter::keyStreamSupportedFormats = AUDIO_PARAMETER_STREAM_SUP_FORMATS;
const char * const AudioParameter::keyStreamSupportedChannels = AUDIO_PARAMETER_STREAM_SUP_CHANNELS;
const char * const AudioParameter::keyStreamSupportedSamplingRates =
        AUDIO_PARAMETER_STREAM_SUP_SAMPLING_RATES;
const char * const AudioParameter::valueOn = AUDIO_PARAMETER_VALUE_ON;
const char * const AudioParameter::valueOff = AUDIO_PARAMETER_VALUE_OFF;
const char * const AudioParameter::valueListSeparator = AUDIO_PARAMETER_VALUE_LIST_SEPARATOR;

AudioParameter::AudioParameter(const String8& keyValuePairs)
{
+1 −1
Original line number Diff line number Diff line
@@ -41,9 +41,9 @@
#include <media/stagefright/MediaDefs.h>
#include <media/AudioSystem.h>
#include <media/MediaPlayerInterface.h>
#include <hardware/audio.h>
#include <media/stagefright/Utils.h>
#include <media/AudioParameter.h>
#include <system/audio.h>

namespace android {

+17 −13
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include "policy.h"
#include <Volume.h>
#include <media/AudioParameter.h>
#include <system/audio.h>
#include <convert/convert.h>
#include <utils/Log.h>
@@ -89,7 +90,7 @@ struct DefaultTraits

template <class Traits>
static void collectionFromString(const std::string &str, typename Traits::Collection &collection,
                                 const char *del = "|")
                                 const char *del = AudioParameter::valueListSeparator)
{
    char *literal = strdup(str.c_str());
    for (const char *cstr = strtok(literal, del); cstr != NULL; cstr = strtok(NULL, del)) {
@@ -111,11 +112,13 @@ public:

    static void collectionFromString(const std::string &str,
                                     typename Traits::Collection &collection,
                                     const char *del = "|");
                                     const char *del = AudioParameter::valueListSeparator);

    static uint32_t maskFromString(const std::string &str, const char *del = "|");
    static uint32_t maskFromString(
            const std::string &str, const char *del = AudioParameter::valueListSeparator);

    static void maskToString(uint32_t mask, std::string &str, const char *del = "|");
    static void maskToString(
            uint32_t mask, std::string &str, const char *del = AudioParameter::valueListSeparator);

protected:
    struct Table {
@@ -139,8 +142,8 @@ typedef TypeConverter<DeviceCategoryTraits> DeviceCategoryConverter;
typedef TypeConverter<AudioModeTraits> AudioModeConverter;

inline
static SampleRateTraits::Collection samplingRatesFromString(const std::string &samplingRates,
                                                            const char *del = "|")
static SampleRateTraits::Collection samplingRatesFromString(
        const std::string &samplingRates, const char *del = AudioParameter::valueListSeparator)
{
    SampleRateTraits::Collection samplingRateCollection;
    collectionFromString<SampleRateTraits>(samplingRates, samplingRateCollection, del);
@@ -148,7 +151,8 @@ static SampleRateTraits::Collection samplingRatesFromString(const std::string &s
}

inline
static FormatTraits::Collection formatsFromString(const std::string &formats, const char *del = "|")
static FormatTraits::Collection formatsFromString(
        const std::string &formats, const char *del = AudioParameter::valueListSeparator)
{
    FormatTraits::Collection formatCollection;
    FormatConverter::collectionFromString(formats, formatCollection, del);
@@ -178,8 +182,8 @@ static audio_channel_mask_t channelMaskFromString(const std::string &literalChan
}

inline
static ChannelTraits::Collection channelMasksFromString(const std::string &channels,
                                                        const char *del = "|")
static ChannelTraits::Collection channelMasksFromString(
        const std::string &channels, const char *del = AudioParameter::valueListSeparator)
{
    ChannelTraits::Collection channelMaskCollection;
    OutputChannelConverter::collectionFromString(channels, channelMaskCollection, del);
@@ -189,8 +193,8 @@ static ChannelTraits::Collection channelMasksFromString(const std::string &chann
}

inline
static InputChannelTraits::Collection inputChannelMasksFromString(const std::string &inChannels,
                                                                  const char *del = "|")
static InputChannelTraits::Collection inputChannelMasksFromString(
        const std::string &inChannels, const char *del = AudioParameter::valueListSeparator)
{
    InputChannelTraits::Collection inputChannelMaskCollection;
    InputChannelConverter::collectionFromString(inChannels, inputChannelMaskCollection, del);
@@ -199,8 +203,8 @@ static InputChannelTraits::Collection inputChannelMasksFromString(const std::str
}

inline
static OutputChannelTraits::Collection outputChannelMasksFromString(const std::string &outChannels,
                                                                    const char *del = "|")
static OutputChannelTraits::Collection outputChannelMasksFromString(
        const std::string &outChannels, const char *del = AudioParameter::valueListSeparator)
{
    OutputChannelTraits::Collection outputChannelMaskCollection;
    OutputChannelConverter::collectionFromString(outChannels, outputChannelMaskCollection, del);
+3 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include "IOProfile.h"
#include "TypeConverter.h"
#include <system/audio.h>
#include <media/AudioParameter.h>
#include <utils/Log.h>
#include <cutils/misc.h>

@@ -289,7 +290,7 @@ void ConfigParsingUtils::loadDevicesFromTag(const char *tag, DeviceVector &devic
                                            const DeviceVector &declaredDevices)
{
    char *tagLiteral = strndup(tag, strlen(tag));
    char *devTag = strtok(tagLiteral, "|");
    char *devTag = strtok(tagLiteral, AudioParameter::valueListSeparator);
    while (devTag != NULL) {
        if (strlen(devTag) != 0) {
            audio_devices_t type;
@@ -311,7 +312,7 @@ void ConfigParsingUtils::loadDevicesFromTag(const char *tag, DeviceVector &devic
                }
            }
        }
        devTag = strtok(NULL, "|");
        devTag = strtok(NULL, AudioParameter::valueListSeparator);
    }
    free(tagLiteral);
}
Loading