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

Commit 88e94d3c authored by Eric Laurent's avatar Eric Laurent Committed by android-build-merger
Browse files

aaudio: implement native IPLayer for legacy playback streams

am: 1d32e9f8

Change-Id: I2763b2e5fcfa1f4d234195c40e955aadbcce2fa3
parents e5ed4fc2 1d32e9f8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ LOCAL_SRC_FILES:= ../src/input_monitor.cpp

LOCAL_SHARED_LIBRARIES := libaudioutils libmedia \
                          libbinder libcutils libutils \
                          libaudioclient liblog libtinyalsa
                          libaudioclient liblog libtinyalsa libaudiomanager
LOCAL_STATIC_LIBRARIES := libaaudio

LOCAL_MODULE := input_monitor
@@ -30,7 +30,7 @@ LOCAL_SRC_FILES:= ../src/input_monitor_callback.cpp

LOCAL_SHARED_LIBRARIES := libaudioutils libmedia \
                          libbinder libcutils libutils \
                          libaudioclient liblog
                          libaudioclient liblog libaudiomanager
LOCAL_STATIC_LIBRARIES := libaaudio

LOCAL_MODULE := input_monitor_callback
+2 −2
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ LOCAL_SRC_FILES:= ../src/write_sine.cpp

LOCAL_SHARED_LIBRARIES := libaudioutils libmedia \
                          libbinder libcutils libutils \
                          libaudioclient liblog libtinyalsa
                          libaudioclient liblog libtinyalsa libaudiomanager
LOCAL_STATIC_LIBRARIES := libaaudio

LOCAL_MODULE := write_sine
@@ -31,7 +31,7 @@ LOCAL_SRC_FILES:= ../src/write_sine_callback.cpp

LOCAL_SHARED_LIBRARIES := libaudioutils libmedia \
                          libbinder libcutils libutils \
                          libaudioclient liblog
                          libaudioclient liblog libaudiomanager
LOCAL_STATIC_LIBRARIES := libaaudio

LOCAL_MODULE := write_sine_callback
+2 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ LOCAL_C_INCLUDES := \
    frameworks/native/media/libaaudio/include/include \
    frameworks/av/media/libaaudio/include \
    frameworks/native/include \
    frameworks/av/media/libaudioclient/include \
    $(LOCAL_PATH) \
    $(LOCAL_PATH)/binding \
    $(LOCAL_PATH)/client \
@@ -120,6 +121,6 @@ LOCAL_CFLAGS += -Wno-unused-parameter -Wall -Werror
# AAUDIO_API is used to explicitly export a function or a variable as a visible symbol.
LOCAL_CFLAGS += -DAAUDIO_API='__attribute__((visibility("default")))'

LOCAL_SHARED_LIBRARIES := libaudioclient liblog libcutils libutils libbinder
LOCAL_SHARED_LIBRARIES := libaudioclient liblog libcutils libutils libbinder libaudiomanager

include $(BUILD_SHARED_LIBRARY)
+7 −4
Original line number Diff line number Diff line
@@ -143,6 +143,9 @@ aaudio_result_t AudioStreamTrack::open(const AudioStreamBuilder& builder)
        return AAudioConvert_androidToAAudioResult(status);
    }

    //TrackPlayerBase init
    init(mAudioTrack.get(), PLAYER_TYPE_AAUDIO, AUDIO_USAGE_MEDIA);

    // Get the actual values from the AudioTrack.
    setSamplesPerFrame(mAudioTrack->channelCount());
    aaudio_format_t aaudioFormat =
@@ -194,7 +197,7 @@ aaudio_result_t AudioStreamTrack::open(const AudioStreamBuilder& builder)
aaudio_result_t AudioStreamTrack::close()
{
    if (getState() != AAUDIO_STREAM_STATE_CLOSED) {
        mAudioTrack.clear();
        destroy();
        setState(AAUDIO_STREAM_STATE_CLOSED);
    }
    mFixedBlockReader.close();
@@ -232,7 +235,7 @@ aaudio_result_t AudioStreamTrack::requestStart()
        return AAudioConvert_androidToAAudioResult(err);
    }

    err = mAudioTrack->start();
    err = startWithStatus();
    if (err != OK) {
        return AAudioConvert_androidToAAudioResult(err);
    } else {
@@ -256,7 +259,7 @@ aaudio_result_t AudioStreamTrack::requestPause()
    }
    onStop();
    setState(AAUDIO_STREAM_STATE_PAUSING);
    mAudioTrack->pause();
    pause();
    status_t err = mAudioTrack->getPosition(&mPositionWhenPausing);
    if (err != OK) {
        return AAudioConvert_androidToAAudioResult(err);
@@ -288,7 +291,7 @@ aaudio_result_t AudioStreamTrack::requestStop() {
    onStop();
    setState(AAUDIO_STREAM_STATE_STOPPING);
    incrementFramesRead(getFramesWritten() - getFramesRead()); // TODO review
    mAudioTrack->stop();
    stop();
    mFramesWritten.reset32();
    return AAUDIO_OK;
}
+2 −3
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
#define LEGACY_AUDIO_STREAM_TRACK_H

#include <math.h>
#include <media/AudioTrack.h>
#include <media/TrackPlayerBase.h>
#include <aaudio/AAudio.h>

#include "AudioStreamBuilder.h"
@@ -32,7 +32,7 @@ namespace aaudio {
/**
 * Internal stream that uses the legacy AudioTrack path.
 */
class AudioStreamTrack : public AudioStreamLegacy {
class AudioStreamTrack : public AudioStreamLegacy, public android::TrackPlayerBase {
public:
    AudioStreamTrack();

@@ -78,7 +78,6 @@ public:

private:

    android::sp<android::AudioTrack> mAudioTrack;
    // adapts between variable sized blocks and fixed size blocks
    FixedBlockReader                 mFixedBlockReader;

Loading