Git Product home page Git Product logo

oboe's Introduction

Oboe Build CI

Introduction to Oboe video

Oboe is a C++ library which makes it easy to build high-performance audio apps on Android. It was created primarily to allow developers to target a simplified API that works across multiple API levels back to API level 16 (Jelly Bean).

Features

  • Compatible with API 16 onwards - runs on 99% of Android devices
  • Chooses the audio API (OpenSL ES on API 16+ or AAudio on API 27+) which will give the best audio performance on the target Android device
  • Automatic latency tuning
  • Modern C++ allowing you to write clean, elegant code
  • Workarounds for some known issues
  • Used by popular apps and frameworks

Documentation

Community

Testing

Videos

Sample code and apps

Third party sample code

Contributing

We would love to receive your pull requests. Before we can though, please read the contributing guidelines.

Version history

View the releases page.

License

LICENSE

oboe's People

Contributors

android-usb avatar anokta avatar antonioolf avatar atneya avatar atsushieno avatar dependabot[bot] avatar designe avatar dturner avatar flamme avatar ggfan avatar gkasten avatar iamyellow avatar jbeta51 avatar jimmytobin2425 avatar jonlatane avatar jp-lisn avatar katyo avatar lerendan avatar mmoczkowski avatar namjungsoo avatar newproggie avatar nisrulz avatar pbodilis avatar philburk avatar robertwu1 avatar rpattabi avatar tchebb avatar tguilbert-google avatar vbarthel-fr avatar yrezgui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oboe's Issues

Problem with oboe::AudioStream in API24

Hey guys,

I'm working myself through the oboe-Library to use it as an AudioEngine for an LTC-Timecode-player (later the timecode-playback will be synced between many Android-Devices to get a wireless timecode-distribution).

So I tried to rebuilt the Synth from ADC'17-LiveCoding (https://www.youtube.com/watch?v=Pjgfje52Yv0).
Beside the fact that the names of the classes distinguish from the classes of the oboe-library (i.e. Don's "OboeStream" seems to be oboe::AudioStream in the library) I'm hanging on this problem:

When I run the Synth on a Oreo/API26-AVD, it works fine. When I run it on a Nougat/API24-AVD,

it crashes while it tries to open the stream. So, it looks like opening the stream works fine with AAudio, but if I use a device which only supports OpenSLES, that app crashes.

Anybody has a suggestion on this? Audio-Frameworks seem to be a tough territory to start getting into Android/NDK-coding, but I will get through this somehow :)

Greetings from cologne/germany
Niklas


void AudioEngine::start() {


    oboe::AudioStreamBuilder builder;
    builder.setFormat(oboe::AudioFormat::Float);
    builder.setChannelCount(2);

    builder.setCallback(this);
    oboe::AudioStream *stream = nullptr;
    oboe::Result result = builder.openStream(&stream);
    /*if (result != Result::OK){
        LOGE("Failed to create stream. Error: %s", oboe::convertToText(result));
    }*/
    oboe::AudioFormat format = stream->getFormat();
    //LOGI("AudioStream format is %s", oboe::convertToText(format));

    mOsc.setSampleRate(stream->getSampleRate());
    mOsc.setWaveOn(true);

    stream->requestStart();
}

oboe::DataCallbackResult
AudioEngine::onAudioReady(oboe::AudioStream *oboeStream, void *audioData, int32_t numFrames) {
    mOsc.render(static_cast<float *>(audioData), numFrames);
    return oboe::DataCallbackResult::Continue;
}

#ifndef OBOEAPITEST_AUDIOENGINE_H
#define OBOEAPITEST_AUDIOENGINE_H

#include <oboe/Oboe.h>
#include "Oscillator.h"

 class AudioEngine : public oboe::AudioStreamCallback {

 public:
     oboe::DataCallbackResult
     onAudioReady(oboe::AudioStream *oboeStream, void *audioData, int32_t numFrames) override;

     void start();

 private:
    Oscillator mOsc;
    oboe::AudioStream *stream;
};


#endif //OBOEAPITEST_AUDIOENGINE_H

Consider moving oboe samples into this repo

Why?

It's easier to keep the samples and the library in sync with one another when they're in the same repo. There have been a few instances recently where the sample and the library are incompatible because Oboe has been updated but the sample hasn't.

When making changes on a topic branch we could make sure that tests, samples and code were all updated together.

It would also make the samples' CMake configuration slightly less complex because there'd be no need to clone oboe inside of CMake.

returnvalue getState()

Hello
I'm getting unexpected results with the oboe::AudioStream::getState()-function.
After opening a stream getstate() returns the expected result 2 (for open).
After calling requestStart(), everything seems to work, I get a soundoutput, but when I call getState() I always only get a the returnvalue 3 (for starting).
The same with requestStop(), sound stops, but returnvalue is 9 (for stopping).

I am an unexperienced programmer, so maybe I'm made a mistake (even a basic one).

If it matters, I'm running AndroidStudio 3.0.1 on Windows 10 with Android Emulator.
minSdkVersion 16
targetSdkVersion 26

greetings
SchmadenSchmuki

problem with calling oboe::AudioStream-functions

Experienced the following problem and I think (hope) it's not a fault in my code:
I have "static oboe::AudioStream* pOboeAudioStream(nullptr);" after my #include-lines in the native-lib.cpp.
When I call "oboe::AudioStreamBuilder.open(&pOboeAudioStream);" directly in a native function, it works as expected, stream is opened and I can call the stream functions also outside this specific function.

But when I go one step further nested I'm getting troubles.
So when I try something like:
JNIEXPORT jint JNICALL
Java_schmaden_programme_android_test_MainActivity_makeOboeAudioStream()
{
callFunctionThatDoesAllTheBuilderSetUpAndOpensStream(pOboeAudioStream);
return 0;
}
I get a crash with the first call that uses pOboeAudioStream outside of callFunctionThatD... . So I can call requestStart() or any other function related to pOboeAudioStream only inside this function.
The only way to get some sound is to call requestStart() inside of callFunctionThatD... .

If I call requestStop() outside callFunctionThatD... in the following way:
if(pOboeAudioStream != nullptr) pOboeAudioStream->requestStop();
nothing happens, no stopping, no crash.

As said before it works with the first method, so it's not a problem when you know it, otherwise it's pretty unexpected.

I set up a callback in the builder (if that matter), the code was executed on Android emulator API 27.

Oboe should use a namespace

all oboe function are prefixed by "oboe_". Why not using a namespace ? This oboe_ prefix forces users to write "oboe_" all the time (not very C++)

Thanks to krocard

AudioStreamCallback

Implementing the abstract class "AudioStreamCallback" to give a callback is quite java style. Is there a way we could take an std::function instead ? It would be a more common pattern for C++ developer.

Alternative for getDevices() before API 23?

I couldn't find any answers anywhere else on that question so why not ask the experts (feel free to close or delete this issue if it's too annoying).

I wanted to have something like in the aaudio-echo-example, two spinners that list the available in- and outputdevices on the phone. The echo-example uses AudioManagers getDevice() which is not available befor API 23 and I would like to support from API 16.
Is there any method to get information on the available audiodevices before API 23? I would need deviceIds an whether it's in- or outputdevice to set up the stream.

thanks

Conditional code for OpenSL ES float format on API 21+ won't work

This code (which I wrote) is intended to determine whether floating point format is available on this device based on the runtime API level:

https://github.com/google/oboe/blob/master/src/opensles/AudioOutputStreamOpenSLES.cpp#L112

However, __ANDROID_API__ is a preprocessor define so will give the compile time API level (usually API 16) so floating point won't be available on any device.

mnaganov@ has a solution in his pull request here: d35c572#diff-d0e527b6330d249f712b4e30bf3dde92R96

Use NDK CMake rather than standalone CMake

"Using the builtin stuff means that your NDK support (including config defaults like STL choice or unified headers, etc) varies by which version of CMake the user has"

Thanks to danalbert for this.

Need lots of unit tests

If someone could figure out how to build one simple test then I could leverage a bunch of AAudio tests from CTS.

AudioStreamOpenSLES::processBufferCallback returns SL_RESULT_INTERNAL_ERROR

It does this in order to stop the stream if the callback requests a stop, in other words if the return from the callback is != DataCallbackResult::Continue.

Don suggested we could use the SL player interface to set the play state to stopped. E.g.

https://github.com/googlesamples/android-ndk/blob/master/audio-echo/app/src/main/cpp/audio_player.cpp#L235

Additionally, we could set the stream state to stopped.

We need to test and verify that it is safe to stop an OpenSL ES stream from a callback.

Add method to obtain latency of a stream

This was moved from an internal Android bug tracker.

For many developers knowing the latency of a stream is more important than obtaining very low latency.

For example, in karaoke apps, the latency of the recording and playback streams must be known in order to synchronise the user's recorded voice over the backing track.

Another example is recording in Audio Workstation apps (DAWs), the recorded audio must be synchronised with the current track. Doing this requires knowing the latency of the recording and playback streams.

We could add the following method to a utility.

int32_t getLatency()

which returns the latency of the stream in microseconds or nanoseconds (milliseconds does not have sufficient precision).

Input stream has device id 0 after opening

From Lukasz @ ROLI

Test environment: Google Pixel running Android API 26, the latest Oboe master (7283080) and Android Studio 3.0.1 with NDK version 16.1.4479499

I’ve noticed that when I try to open a particular input device (say 8 which in my case is microphone), the opened input stream has a device with id 0 and only later it is updated to id 8. Here is a filtered extract from the log.

6:24:59.426 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 1, mFramesPerCallback = 0
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio() call isSupported()
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 8
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/AAudio: AudioStreamBuilder(): mmapPolicy = 1, mapExclusivePolicy = 1
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest W/AAudio: AudioStreamBuilder(): EXCLUSIVE sharing mode not supported. Use SHARED.
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest I/AAudio: AudioStream::open() rate = 48000, channels = 1, format = 2, sharing = 1, dir = INPUT
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest I/AAudio: AudioStream::open() device = 8, perfMode = 12, callbackFrames = 0
01-08 16:24:59.426 29193-29193/com.yourcompany.oboetest D/AAudio: AudioStreamRecord::open(), request notificationFrames = 0, frameCount = 0
01-08 16:24:59.432 29193-29193/com.yourcompany.oboetest W/AudioRecord: AUDIO_INPUT_FLAG_FAST denied by server; frameCount 0 -> 2880
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest W/AAudio: AudioStreamRecord::open() flags changed from 0x00000005 to 0x00000000
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest W/AAudio: AudioStreamRecord::open() perfMode changed from 12 to 10
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x7476f75700) ----------------
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open() capacity      = 2880
01-08 16:24:59.439 29193-29193/com.yourcompany.oboetest D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x7476f75700
01-08 16:24:59.440 29193-29193/com.yourcompany.oboetest I/JUCE: Building Oboe stream with result: Result::OK
                                                                Stream state = StreamState::Open
01-08 16:24:59.440 29193-29193/com.yourcompany.oboetest I/JUCE: Stream details:
                                                                Uses AAudio = 1
                                                                DeviceId = 0
                                                                Direction = Direction::Input
                                                                SharingMode = SharingMode::Shared
                                                                ChannelCount = 1
                                                                Format = AudioFormat::Float
                                                                SampleRate = 48000
                                                                BufferSizeInFrames = 2880
                                                                BufferCapacityInFrames = 2880
                                                                FramesPerBurst = 960
                                                                FramesPerCallback = 0
                                                                BytesPerFrame = 4
                                                                BytesPerSample = 4
                                                                PerformanceMode = PerformanceMode::LowLatency
01-08 16:24:59.446 29193-29193/com.yourcompany.oboetest D/AAudio: AAudioStream_requestStart(0x7476f75700)
01-08 16:24:59.448 29193-29207/com.yourcompany.oboetest D/AudioStreamLegacy: onAudioDeviceUpdate() deviceId 8
01-08 16:24:59.448 29193-29193/com.yourcompany.oboetest I/JUCE: Requested Oboe stream start with result: Result::OK

ErrorDisconnected is not fired when headphones are unplugged the first time

From Lukasz @ ROLI:

Test environment: Google Pixel running Android API 26, the latest Oboe master (7283080) and Android Studio 3.0.1 with NDK version 16.1.4479499

The app in some circumstances does not receive oboe::Result::ErrorDisconnected when unplugging the headphones for the first time. The consecutive plugging an unplugging triggers the error callback correctly. To reproduce:

  • the app should open stream targeting wired headphones at startup (rather than letting the builder to pick a default device)
    => the sound will correctly play in headphones
  • unplug headphones
    => there will be no sound, since headphones unplugging gets not picked up
  • plug headphones
    => there will be sound in headphones
  • unplug headphones
    => now there will be sound in speakers

One way JUCE users can open a device is to simply ask for a default device and then open it. The way I’ve done it in JUCE is I open a dummy stream with no device ID, to let Oboe pick the default device, then I check the device ID, close the dummy stream and use that device as a default one.

To reproduce the same behaviour in Hello Oboe:

  • add the lines in bold below to mimic JUCE behaviour:
void PlayAudioEngine::createPlaybackStream() {

   oboe::AudioStreamBuilder builder2;
   oboe::AudioStream* testStream = nullptr;
   builder2.openStream (&testStream);
   mPlaybackDeviceId = testStream->getDeviceId();
   testStream->close;

   oboe::AudioStreamBuilder builder;
  • now unplug the headphones and notice that the change will not be picked up, only after consecutive plugging/unplugging the sound will play correctly

Perhaps the issue could be avoided if there was a function like int AudioStreamBuilder::getDefaultDeviceId() which could pick a default device at given situation?

Build OBOE using Android.mk

I have gone through the documentation of the Android C++ high performance audio library: OBOE. There is no documentation on how to add the library to an Android project that uses an Android.mk build type.

This is my current Android.mk file but it does not include the OBOE sources:

LOCAL_PATH := $(call my-dir)
OBOE_DIR := /Users/andelastc/code/workspace-android/oboe

include $(CLEAR_VARS)

LOCAL_MODULE        := native_code
LOCAL_SRC_FILES     := ...
LOCAL_CFLAGS        := -DNULL=0
LOCAL_LDLIBS        := -lm -llog -lOpenSLES
LOCAL_C_INCLUDES    := $(LOCAL_PATH)/$(OPUS_DIR)/include $(OBOE_DIR)/include $(OBOE_DIR)/source

Add code to handle disconnects

The stream can become disconnected when, for example, plugging or unplugging headphones.
By default, always stop and close the stream.
Let developer override method that will reopen a new stream or whatever the app needs.

Calling requestStart without setting callback results in crash when using aaudio::AudioStreamLegacy

Devices tested:

Sony Xperia XZ (Model: F8331)
Android version: 8.0.0
Build number: 41.3.A.2.24

Nexus 6P
Android version: 8.1.0
Build number: OPM3.171019.012

Not affected: Pixel running 7.1.2

Steps to repro:

  • Run the following code on app startup:
    oboe::AudioStreamBuilder builder;
    oboe::AudioStream* stream;
    auto result = builder.openStream(&stream);
    if (result != oboe::Result::OK) {
        __android_log_print(ANDROID_LOG_ERROR, "OboeCrashTest", "Could not open stream");
    }

    result = stream->requestStart();
    if (result !=  oboe::Result::OK){
        __android_log_print(ANDROID_LOG_ERROR, "OboeCrashTest", "Could not start stream");
    }

Expected result

  • result is an error after builder.openStream or after stream->requestStart(), or the stream starts without error

Actual result

  • App crashes with the following output:
01-10 19:32:18.464 569-569/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-10 19:32:18.464 569-569/? A/DEBUG: Build fingerprint: 'Sony/F8331/F8331:8.0.0/41.3.A.2.24/1453798961:user/release-keys'
01-10 19:32:18.464 569-569/? A/DEBUG: Revision: '0'
01-10 19:32:18.464 569-569/? A/DEBUG: ABI: 'arm64'
01-10 19:32:18.464 569-569/? A/DEBUG: pid: 473, tid: 561, name: AudioTrack  >>> com.donturner.oboecrashtest <<<
01-10 19:32:18.465 569-569/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x13
01-10 19:32:18.465 569-569/? A/DEBUG: Cause: null pointer dereference
01-10 19:32:18.465 569-569/? A/DEBUG:     x0   0000007c8c2a8b60  x1   0000007fd97d3e80  x2   0000000000000003  x3   0000000000001e02
01-10 19:32:18.465 569-569/? A/DEBUG:     x4   0000000000001e02  x5   00000000ffffffff  x6   0000007c909b1000  x7   000000000014a8e4
01-10 19:32:18.465 569-569/? A/DEBUG:     x8   0000007c72e67370  x9   0000000000000000  x10  0000000000000000  x11  0000000000000000
01-10 19:32:18.465 569-569/? A/DEBUG:     x12  0000000000000001  x13  0000007c726390e0  x14  0000000000000008  x15  0000000000000000
01-10 19:32:18.465 569-569/? A/DEBUG:     x16  0000007c72eaa258  x17  0000007c72e678f0  x18  0000007fd97d26d8  x19  0000007c8c27fc00
01-10 19:32:18.465 569-569/? A/DEBUG:     x20  0000007c72b35318  x21  0000000000001e02  x22  ffffffffffffffff  x23  000015e9289e0925
01-10 19:32:18.465 569-569/? A/DEBUG:     x24  000000000000f010  x25  0000007c8e853600  x26  0000000000989680  x27  000000000d000000
01-10 19:32:18.465 569-569/? A/DEBUG:     x28  0000000000003c04  x29  0000007c72b35260  x30  0000007c72e673b0
01-10 19:32:18.465 569-569/? A/DEBUG:     sp   0000007c72b35230  pc   0000007c72e67918  pstate 0000000080000000
01-10 19:32:18.476 671-10481/? D/msm8974_platform: platform_set_channel_map mixer_ctl_name:Playback Channel Map0
01-10 19:32:18.476 671-10481/? D/msm8974_platform: platform_set_channel_map: set mapping(1 2 0 0 0 0 0 0) for channel:2
01-10 19:32:18.477 671-10481/? D/audio_hw_extn: audio_extn_get_anc_enabled: anc_enabled:0
01-10 19:32:18.477 671-10481/? D/audio_hw_primary: start_output_stream: exit
01-10 19:32:18.478 671-10481/? D/ahc: ahc_enable: out_snd_device 0x2
01-10 19:32:18.479 569-569/? A/DEBUG: backtrace:
01-10 19:32:18.479 569-569/? A/DEBUG:     #00 pc 000000000001c918  /data/app/com.donturner.oboecrashtest-QpuMxSWiyoWEEVg3x-DEdQ==/lib/arm64/libnative-lib.so (_ZN4oboe17AudioStreamAAudio16callOnAudioReadyEP18AAudioStreamStructPvi+40)
01-10 19:32:18.479 569-569/? A/DEBUG:     #01 pc 000000000001c3ac  /data/app/com.donturner.oboecrashtest-QpuMxSWiyoWEEVg3x-DEdQ==/lib/arm64/libnative-lib.so
01-10 19:32:18.479 569-569/? A/DEBUG:     #02 pc 0000000000018a48  /system/lib64/libaaudio.so (_ZN6aaudio17AudioStreamLegacy21processCallbackCommonEiPv+228)
01-10 19:32:18.479 569-569/? A/DEBUG:     #03 pc 0000000000054a38  /system/lib64/libaudioclient.so (_ZN7android10AudioTrack18processAudioBufferEv+1800)
01-10 19:32:18.479 569-569/? A/DEBUG:     #04 pc 00000000000565e4  /system/lib64/libaudioclient.so (_ZN7android10AudioTrack16AudioTrackThread10threadLoopEv+196)
01-10 19:32:18.479 569-569/? A/DEBUG:     #05 pc 0000000000011674  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+280)
01-10 19:32:18.479 569-569/? A/DEBUG:     #06 pc 00000000000668a0  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
01-10 19:32:18.479 569-569/? A/DEBUG:     #07 pc 000000000001f374  /system/lib64/libc.so (__start_thread+68)
01-10 19:32:18.542 1024-1234/? W/AudioFlinger: moveEffectChain_l() effect chain for session 0 not on source thread 0xf1c83580

Remove dependency of Oboe on AAudio.h

Some folks are trying to build Oboe on old NDKs that do not have AAudio. We do not link with any libraries so it should be doable. We just need to remove the header dependency. For example:

enum class StreamState : aaudio_stream_state_t {
Uninitialized = AAUDIO_STREAM_STATE_UNINITIALIZED,

...becomes...

enum class StreamState : int32_t {
Uninitialized = 0, // AAUDIO_STREAM_STATE_UNINITIALIZED

Create a composite class for synchronised, full duplex I/O

Synchronous I/O is hard. We should make it easy for developers to do the following:

  • Read from an input device (e.g. built-in microphone)
  • Do some processing (e.g. a vocal effect)
  • Pass the resulting audio to an output device (e.g. built-in speaker, USB audio device)

This could be achieved with an object containing an input stream and output stream. Audio data would be written to the output stream using the callback mechanism. In each callback a non-blocking read would be performed on the input stream, then passed to an EffectsProcessor (written by the developer), then finally to the output.

Please feel free to add to this issue if you have suggestions on how this should be implemented.

Clarification on format

If we make an output stream specifying the format builder.setFormat(oboe::AudioFormat::I16); do we have to check the actual type or is it guaranteed that we will be working with shorts and not floats?

add more general purpose query for runtime version

The technique in this Pull Request: #51
can be generalized to return an SDK version number at runtime.
Then we can adjust our OpenSL ES support for specific older versions.

When was the "ro.build.version.sdk" property introduced?

Clarification on thread safety

It seems a little confusing to me from the guide what is permissible as far as thread safety.

Note: When a stream uses a callback function, it's safe to read/write from the callback thread while also closing the stream from the thread in which it is running

Does this mean I can be writing data to the audioData void* in the callback while simultaneously calling requestPause(), requestStop(), close() in some other function on another thread?
`

Crashes on Pixel, Android 8.1 build OPM1.171019.012

Hi,

Prior to updating to Android 8.1, on Android 8.0 I had an issue with stream disconnected error not sent when unplugging the headphones for the first time (as mentioned by Don here #41). In other cases when I was receiving the stream disconnected error, the application would stop on assert(stream == mAAudioStream.load());in void AudioStreamAAudio::onErrorInThread(). Both of the issues I could reproduce in HelloOboe, as well as in my simple test app and Roli Noise app.

Following the suggestion I updated to Android 8.1, build OPM1.171019.012. The issues went away completely on HelloOboe and my simple test app, although the latter would occasionally start crash on startup. The Noise app on the other hand started crashing almost all the time and I narrowed it down it only crash after an oboe stream was started (simply commenting out the code starting a stream would make the app run as usual, though without sound naturally). The places where it would crash were quite various, so it has been quite difficult to figure out the cause of the crash. Below I present a few crash logs that hopefully will shed some light.

One of the recent crash happened in HeapTaskDaemon, the full app log below:

01-11 11:46:58.088 27751-27751/? I/zygote64: Late-enabling -Xcheck:jni
01-11 11:46:58.178 27751-27751/com.roli.equator W/ActivityThread: Application com.roli.equator is waiting for the debugger on port 8100...
01-11 11:46:58.181 27751-27751/com.roli.equator I/System.out: Sending WAIT chunk
01-11 11:47:03.653 27751-27763/com.roli.equator I/zygote64: Debugger is active
01-11 11:47:03.806 27751-27751/com.roli.equator I/System.out: Debugger has connected
01-11 11:47:03.806 27751-27751/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 11:47:04.008 27751-27751/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 11:47:04.210 27751-27751/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 11:47:04.817 27751-27751/com.roli.equator I/chatty: uid=10122(com.roli.equator) identical 3 lines
01-11 11:47:05.018 27751-27751/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 11:47:05.221 27751-27751/com.roli.equator I/System.out: debugger has settled (1345)
01-11 11:47:06.065 27751-27751/com.roli.equator D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
01-11 11:47:06.091 27751-27751/com.roli.equator D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
01-11 11:47:10.003 27751-27861/com.roli.equator D/OpenGLRenderer: HWUI GL Pipeline
01-11 11:47:11.157 27751-27761/com.roli.equator I/zygote64: Do partial code cache collection, code=30KB, data=21KB
01-11 11:47:11.157 27751-27761/com.roli.equator I/zygote64: After code cache collection, code=30KB, data=21KB
01-11 11:47:11.158 27751-27761/com.roli.equator I/zygote64: Increasing code cache capacity to 128KB
01-11 11:47:25.412 27751-27861/com.roli.equator I/Adreno: QUALCOMM build                   : 2941438, I916dfac403
                                                          Build Date                       : 10/03/17
                                                          OpenGL ES Shader Compiler Version: EV031.21.02.00
                                                          Local Branch                     : O18A
                                                          Remote Branch                    : 
                                                          Remote Branch                    : 
                                                          Reconstruct Branch               : 
01-11 11:47:25.932 27751-27861/com.roli.equator I/Adreno: PFP: 0x005ff087, ME: 0x005ff063
01-11 11:47:25.941 27751-27861/com.roli.equator I/zygote64: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
01-11 11:47:25.941 27751-27861/com.roli.equator I/OpenGLRenderer: Initialized EGL, version 1.4
01-11 11:47:25.941 27751-27861/com.roli.equator D/OpenGLRenderer: Swap behavior 2
01-11 11:47:25.972 27751-27751/com.roli.equator I/JUCE: JUCE v5.2.0
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: -----InputDevices:
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: name = Pixel built-in microphone
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: id = 8
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: sample rates size = 9
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: num channels = 3
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: name = Pixel telephony
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: id = 10
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: sample rates size = 3
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: num channels = 2
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: -----OutputDevices:
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: name = Pixel built-in earphone speaker
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: id = 1
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: sample rates size = 0
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: num channels = -1
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: name = Pixel built-in speaker
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: id = 2
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: sample rates size = 0
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: num channels = -1
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: name = Pixel telephony
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: id = 6
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: sample rates size = 0
01-11 11:47:27.114 27751-27751/com.roli.equator I/JUCE: num channels = -1
01-11 11:47:27.119 27751-27751/com.roli.equator D/OboeAudio: AAudioLoader():  dlopen(libaaudio.so) returned 0x774eac2230
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setChannelCount) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setBufferCapacityInFrames) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDeviceId) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDirection) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFormat) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFramesPerDataCallback) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSharingMode) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setPerformanceMode) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSampleRate) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_delete) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getChannelCount) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_close) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferSizeInFrames) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDeviceId) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDirection) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferCapacityInFrames) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesPerBurst) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesRead) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesWritten) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getPerformanceMode) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSampleRate) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSharingMode) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getState) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getXRunCount) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStart) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestPause) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestFlush) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStop) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_setBufferSizeInFrames) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertResultToText) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertStreamStateToText) succeeded.
01-11 11:47:27.119 27751-27751/com.roli.equator I/JUCE: Preparing Oboe stream with params:
                                                        AAudio supported = 1
                                                        API = AudioStreamBuilder::AudioApi::Unspecified
                                                        DeviceId = -1
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        FramesPerBurst = 192
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 11:47:27.119 27751-27751/com.roli.equator D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 11:47:27.119 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 11:47:27.119 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 11:47:27.120 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 11:47:27.120 27751-27751/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 11:47:27.120 27751-27751/com.roli.equator D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                                          
                                                          [ 01-11 11:47:27.120 27751:27751 D/         ]
                                                          PlayerBase::PlayerBase()
01-11 11:47:27.120 27751-27751/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 11:47:27.120 27751-27751/com.roli.equator I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = SH, dir = OUTPUT
01-11 11:47:27.120 27751-27751/com.roli.equator I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: OFF with frames = 0
                                                                
                                                                [ 01-11 11:47:27.121   705:17266 D/         ]
                                                                PlayerBase::PlayerBase()
01-11 11:47:27.129 27751-27751/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b3896600) ----------------
01-11 11:47:27.129 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 11:47:27.129 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 11:47:27.129 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 11:47:27.129 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() capacity      = 1536
01-11 11:47:27.129 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b3896600
01-11 11:47:27.129 27751-27751/com.roli.equator I/JUCE: Building Oboe stream with result: Result::OK
                                                        Stream state = StreamState::Open
01-11 11:47:27.130 27751-27751/com.roli.equator D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 11:47:27.130 27751-27751/com.roli.equator I/JUCE: Stream details:
                                                        Uses AAudio = 1
                                                        DeviceId = 2
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        BufferCapacityInFrames = 1536
                                                        FramesPerBurst = 96
                                                        FramesPerCallback = 0
                                                        BytesPerFrame = 8
                                                        BytesPerSample = 4
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 11:47:27.130 27751-27751/com.roli.equator D/AAudio: AAudioStream_close(0x76b3896600)
01-11 11:47:27.130 27751-27751/com.roli.equator D/AudioStreamInternal_Client: close(): mServiceStreamHandle = 0x00000077
01-11 11:47:27.232 27751-27751/com.roli.equator D/AAudioStream: destroying 0x76b3896600, state = AAUDIO_STREAM_STATE_CLOSED
01-11 11:47:27.232 27751-27751/com.roli.equator I/JUCE: Requested Oboe stream close with result: Result::OK
01-11 11:47:27.243 27751-27751/com.roli.equator I/JUCE: Preparing Oboe stream with params:
                                                        AAudio supported = 1
                                                        API = AudioStreamBuilder::AudioApi::Unspecified
                                                        DeviceId = 2
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Exclusive
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        FramesPerBurst = 192
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 11:47:27.243 27751-27751/com.roli.equator D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 11:47:27.243 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 11:47:27.244 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 11:47:27.244 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 2
01-11 11:47:27.244 27751-27751/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 11:47:27.244 27751-27751/com.roli.equator D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                                          
                                                          [ 01-11 11:47:27.244 27751:27751 D/         ]
                                                          PlayerBase::PlayerBase()
01-11 11:47:27.245 27751-27751/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 11:47:27.245 27751-27751/com.roli.equator I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 11:47:27.245 27751-27751/com.roli.equator I/AAudioStream: AudioStream::open() device = 2, perfMode = 12, callback: ON with frames = 0
01-11 11:47:27.270 27751-27751/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b3896600) ----------------
01-11 11:47:27.273 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 11:47:27.273 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 11:47:27.273 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 11:47:27.273 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() capacity      = 3072
01-11 11:47:27.273 27751-27751/com.roli.equator D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b3896600
01-11 11:47:27.273 27751-27751/com.roli.equator I/JUCE: Building Oboe stream with result: Result::OK
                                                        Stream state = StreamState::Open
01-11 11:47:27.273 27751-27751/com.roli.equator D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 11:47:27.274 27751-27751/com.roli.equator I/JUCE: Stream details:
                                                        Uses AAudio = 1
                                                        DeviceId = 2
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Exclusive
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        BufferCapacityInFrames = 3072
                                                        FramesPerBurst = 96
                                                        FramesPerCallback = 0
                                                        BytesPerFrame = 8
                                                        BytesPerSample = 4
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 11:47:27.274 27751-27751/com.roli.equator D/AAudio: AAudioStream_requestStart(0x76b3896600) called --------------
                                                          
                                                          [ 01-11 11:47:27.274 27751:27751 D/         ]
                                                          PlayerBase::start() from IPlayer
01-11 11:47:27.302 27751-27751/com.roli.equator D/AAudio: AAudioStream_requestStart(0x76b3896600) returned 0 ---------
01-11 11:47:27.307 27751-27751/com.roli.equator I/JUCE: Requested Oboe stream start with result: Result::OK
01-11 11:47:27.308 27751-27889/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 1.000000
01-11 11:47:27.308 27751-27889/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 0.019953
01-11 11:47:27.308 27751-27889/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 11:47:27.308 27751-27889/com.roli.equator D/AAudio: processDataNow() wait for valid timestamps
01-11 11:47:27.310 27751-27889/com.roli.equator D/AAudio: processDataNow() wait for valid timestamps
01-11 11:57:04.802 27751-27751/com.roli.equator I/JUCE: Starting Oboe stream with result: Result::OK
01-11 11:57:04.804 27751-27889/com.roli.equator D/AAudio: advanceClientToMatchServerPosition() readN = 27720768, writeN = 0, offset = -27720768
01-11 11:57:19.809 27751-27767/com.roli.equator A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x20 in tid 27767 (HeapTaskDaemon), pid 27751 (om.roli.equator)
                                                        
                                                        [ 01-11 11:57:19.894 27751:27951 D/         ]
                                                        PlayerBase::~PlayerBase()
01-11 11:57:23.676 27751-27767/com.roli.equator A/libc: crash_dump helper failed to exec
01-11 11:57:23.677 27751-27767/com.roli.equator A/libc: failed to wait for crash_dump helper: No child processes

Another way I get can a consistent crash is when plugging headphones, below the log from the moment I plugged in the headphones:

01-11 15:45:42.079 705-1041/? D/AudioFlinger: mixer(0xeaa11200) throttle end: throttle time(2)
01-11 15:45:46.079 678-894/? I/nanohub: osLog: [AR_CHRE] still: 98
01-11 15:45:46.081 678-894/? I/nanohub: osLog: [AR_CHRE] ON => IDLE
01-11 15:45:46.542 678-894/? I/nanohub: osLog: [AR_CHRE] IDLE => ON
01-11 15:45:51.315 965-3555/? V/WiredAccessoryManager: notifyWiredAccessoryChanged: when=53108607036000 bits=SW_HEADPHONE_INSERT SW_MICROPHONE_INSERT mask=94
01-11 15:45:51.316 965-3555/? V/WiredAccessoryManager: newName=h2w newState=1 headsetState=1 prev headsetState=0
01-11 15:45:51.316 965-3555/? I/WiredAccessoryManager: MSG_NEW_DEVICE_STATE
01-11 15:45:51.316 965-965/? V/WiredAccessoryManager: headsetName:  connected
01-11 15:45:51.317 705-925/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 4, SamplingRate 8000, Format 0x1000000, Channels 1, flags 31
01-11 15:45:51.321 705-925/? I/AudioFlinger: HAL output buffer size 262144 frames, normal sink buffer size 262144 frames
01-11 15:45:51.323 705-13614/? I/AudioFlinger: AudioFlinger's thread 0xea557000 tid=13614 ready to run
01-11 15:45:51.323 653-653/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 15:45:51.324 653-1036/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 15:45:51.324 705-13198/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 0.000000
01-11 15:45:51.326 705-13198/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onTearDown() called
01-11 15:45:51.326 30066-13200/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 0.000000
01-11 15:45:51.330 13326-13448/com.roli.equator W/AudioTrack: dead IAudioTrack, PCM, creating a new one from getTimestampExtended()
01-11 15:45:51.373 705-13199/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() exiting ----------------
01-11 15:45:51.374 653-653/? D/audio_hw_primary: disable_audio_route: usecase(6) reset and update mixer path: mmap-playback speaker
01-11 15:45:51.379 705-13198/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(720) returns 0
01-11 15:45:51.379 705-13198/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(722) returns 0
01-11 15:45:51.380 30066-13200/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STOPPED
01-11 15:45:51.380 30066-13200/? W/AudioStreamInternal_Client: WARNING - AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_DISCONNECTED - FIFO cleared
01-11 15:45:51.380 30066-13200/? E/AAudio: AudioStreamInternalPlay(): callbackLoop: write() returned -899
01-11 15:45:51.380 30066-13200/? D/AAudio: AudioStreamInternalPlay(): callbackLoop() exiting, result = -899, isActive() = 0
01-11 15:45:51.381 30066-13615/? D/OboeAudio: onErrorInThread() - entering ===================================
01-11 15:45:51.381 30066-13615/? D/AAudio: AAudioStream_requestStop(0x76ca04ec00)
                                           
                                           [ 01-11 15:45:51.381 30066:13615 D/         ]
                                           PlayerBase::stop() from IPlayer
01-11 15:45:51.382 30066-13615/? D/AAudio: AAudioStream_close(0x76ca04ec00)
01-11 15:45:51.382 30066-13615/? D/AudioStreamInternal_Client: close(): mServiceStreamHandle = 0x000000E4
01-11 15:45:51.383 705-17266/? D/AAudioService: AAudioService.closeStream(0x000000E4)
01-11 15:45:51.383 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::close() clear() endpoint
01-11 15:45:51.384 965-976/? V/MediaRouterService: restoreBluetoothA2dp(false)
01-11 15:45:51.384 3690-4206/? D/Avrcp: AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10009/3728 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 15:45:51.384 3690-4206/? D/Avrcp: AudioManager Player: ID:1767 -- type:android.media.MediaPlayer -- u/pid:10045/12342 -- state:idle -- attr:AudioAttributes: usage=USAGE_UNKNOWN content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 15:45:51.384 3690-4206/? D/Avrcp: AudioManager Player: ID:1847 -- type:AAudio -- u/pid:10131/30066 -- state:stopped -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 15:45:51.385 3690-4206/? D/Avrcp: AudioManager Player: ID:1863 -- type:AAudio -- u/pid:10122/13326 -- state:started -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 15:45:51.385 3690-4206/? D/Avrcp: AudioManager isPlaying: true
01-11 15:45:51.385 653-653/? D/audio_hw_primary: out_set_parameters: enter: usecase(3: compress-offload-playback) kvpairs: closing=true
01-11 15:45:51.388 653-653/? D/audio_hw_primary: out_set_parameters: enter: usecase(3: compress-offload-playback) kvpairs: exiting=1
01-11 15:45:51.389 653-13612/? E/audio_hw_primary: offload_thread_loop: Compress handle is NULL
01-11 15:45:51.400 653-1036/? D/audio_hw_primary: out_set_parameters: enter: usecase(5: audio-ull-playback) kvpairs: routing=2
01-11 15:45:51.403 653-1036/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=2
01-11 15:45:51.403 653-1036/? E/audio_hw_primary: select_devices: Could not find the usecase(6)
01-11 15:45:51.406 13326-13448/com.roli.equator I/AudioTrack: AUDIO_OUTPUT_FLAG_FAST successful; frameCount 1536 -> 1536
01-11 15:45:51.406 13326-13448/com.roli.equator D/AudioTrack: Client defaulted notificationFrames to 192 for frameCount 1536
01-11 15:45:51.406 653-1036/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=0
01-11 15:45:51.406 653-653/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: closing=true
01-11 15:45:51.406 705-921/? D/AudioFlinger: closing mmapThread 0xe9224000
01-11 15:45:51.407 13326-13339/com.roli.equator W/AudioSystem: ioConfigChanged() closing unknown output 981
01-11 15:45:51.407 705-921/? D/AudioFlinger: mmapThread exit()
01-11 15:45:51.412 13326-13448/com.roli.equator A/AudioTrackShared: releaseBuffer: mUnreleased out of range, !(stepCount:192 <= mUnreleased:0 <= mFrameCount:1536), BufferSizeInFrames:1536
01-11 15:45:51.414 653-1036/? W/DeviceHAL: Device 0xe9358000 open_input_stream: Invalid argument
01-11 15:45:51.416 653-1036/? W/DeviceHAL: Device 0xe9358000 open_input_stream: Invalid argument
01-11 15:45:51.417 705-13616/? I/AudioFlinger: AudioFlinger's thread 0xe919a780 tid=13616 ready to run
01-11 15:45:51.421 705-13618/? I/AudioFlinger: AudioFlinger's thread 0xe87033c0 tid=13618 ready to run
01-11 15:45:51.424 705-13619/? I/AudioFlinger: AudioFlinger's thread 0xe8203c00 tid=13619 ready to run
01-11 15:45:51.430 3728-3728/? V/MediaRouter: Audio routes updated: AudioRoutesInfo{ type=HEADSET }, a2dp=false
01-11 15:45:51.430 3728-3728/? V/MediaRouter: Selecting route: RouteInfo{ name=Headphones, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
01-11 15:45:51.437 965-965/? V/MediaRouter: Audio routes updated: AudioRoutesInfo{ type=HEADSET }, a2dp=false
01-11 15:45:51.437 965-965/? V/MediaRouter: Selecting route: RouteInfo{ name=Headphones, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
01-11 15:45:51.438 965-965/? I/Telecom: WiredHeadsetManager: ACTION_HEADSET_PLUG event, plugged in: true, : WHC.oADA@A70
01-11 15:45:51.439 965-3987/? I/Telecom: CallAudioRouteStateMachine: Message received: CONNECT_WIRED_HEADSET=1, arg1=0: WHC.oADA->CARSM.pM_CONNECT_WIRED_HEADSET@A70
01-11 15:45:51.440 965-3987/? I/Telecom: Logging.Events: Non-call EVENT: AUDIO_ROUTE, Wired headset connected: WHC.oADA->CARSM.pM_CONNECT_WIRED_HEADSET@A70
01-11 15:45:51.440 965-3987/? I/Telecom: CallAudioRouteStateMachine: Message received: SWITCH_HEADSET=1003, arg1=0: WHC.oADA->CARSM.pM_CONNECT_WIRED_HEADSET->CARSM.pM_SWITCH_HEADSET@A70
01-11 15:45:51.440 965-3987/? I/Telecom: Logging.Events: Non-call EVENT: AUDIO_ROUTE, Leaving state QuiescentEarpieceRoute: WHC.oADA->CARSM.pM_CONNECT_WIRED_HEADSET->CARSM.pM_SWITCH_HEADSET@A70
01-11 15:45:51.440 965-3987/? I/Telecom: Logging.Events: Non-call EVENT: AUDIO_ROUTE, Entering state QuiescentHeadsetRoute: WHC.oADA->CARSM.pM_CONNECT_WIRED_HEADSET->CARSM.pM_SWITCH_HEADSET@A70
01-11 15:45:51.442 10751-10751/? V/MediaRouter: Audio routes updated: AudioRoutesInfo{ type=HEADSET }, a2dp=false
01-11 15:45:51.442 10751-10751/? V/MediaRouter: Selecting route: RouteInfo{ name=Headphones, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
01-11 15:45:51.483 705-17266/? D/AAudioEndpointManager: AAudioEndpointManager::closeExclusiveEndpoint() 0xeb6b9240 for device 2
01-11 15:45:51.483 705-17266/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xeb6b9240
01-11 15:45:51.484 705-17266/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb6dccc0
01-11 15:45:51.484 30066-13615/? D/AAudioStream: destroying 0x76ca04ec00, state = AAUDIO_STREAM_STATE_CLOSED
01-11 15:45:51.484 30066-13615/? D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 15:45:51.484 30066-13615/? D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 15:45:51.484 30066-13615/? D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 15:45:51.484 30066-13615/? D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 15:45:51.484 30066-13615/? D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 15:45:51.484 30066-13615/? D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                           
                                           [ 01-11 15:45:51.484 30066:13615 D/         ]
                                           PlayerBase::PlayerBase()
01-11 15:45:51.484 30066-13615/? D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 15:45:51.485 30066-13615/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 15:45:51.485 30066-13615/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: ON with frames = 0
01-11 15:45:51.485 705-17266/? E/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(),created MMAP 0xeb6b9240
01-11 15:45:51.485 705-17266/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 2, SamplingRate 48000, Format 0x000001, Channels 3, flags 4001
01-11 15:45:51.487 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() mMapClient.uid = 10131, pid = 30066 => portHandle = 734
01-11 15:45:51.489 705-13620/? I/AudioFlinger: AudioFlinger's thread 0xeb6ce000 tid=13620 ready to run
01-11 15:45:51.490 705-17266/? D/AAudioServiceEndpointMMAP: createMmapBuffer status = 0, buffer_size = 3072, burst_size 48, Sharable FD: Yes
01-11 15:45:51.490 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() original burst = 48, minMicros = 2000, to burst = 96
01-11 15:45:51.490 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() actual rate = 48000, channels = 2, deviceId = 2, capacity = 3072
01-11 15:45:51.490 705-17266/? D/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(), created 0xeb6b9240 for device = 0
01-11 15:45:51.490 705-17266/? D/AAudioService: AAudioService::openStream(): handle = 0x000000E5
01-11 15:45:51.491 30066-13615/? D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76ca04ec00) ----------------
01-11 15:45:51.492 30066-13615/? D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 15:45:51.492 30066-13615/? D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 15:45:51.492 30066-13615/? D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 15:45:51.492 30066-13615/? D/OboeAudio: AudioStreamAAudio.open() capacity      = 3072
01-11 15:45:51.492 30066-13615/? D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76ca04ec00
01-11 15:45:51.492 30066-13615/? D/AudioStreamInternal_Client: setBufferSize() req = 192 => 192
01-11 15:45:51.492 30066-13615/? D/AAudio: AAudioStream_requestStart(0x76ca04ec00) called --------------
                                           
                                           [ 01-11 15:45:51.492 30066:13615 D/         ]
                                           PlayerBase::start() from IPlayer
01-11 15:45:51.493 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb6b9298(uid=10131, pid=30066))
01-11 15:45:51.493 653-1036/? I/ACDB-LOADER: ACDB AFE returned = -19
01-11 15:45:51.493 653-1036/? D/audio_hw_primary: enable_audio_route: usecase(6) apply and update mixer path: mmap-playback speaker
01-11 15:45:51.493 653-1036/? D/audio_route: Apply path: mmap-playback speaker
01-11 15:45:51.493 4311-4312/? E/ANDR-PERF-OPTSHANDLER: Warning: Resource [2, 0] not supported for core 1. Instead use resource for core 0
01-11 15:45:51.493 4311-4312/? E/ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
01-11 15:45:51.500 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 734 => 734 returns 0
01-11 15:45:51.500 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb6dcd0c(uid=10131, pid=30066))
01-11 15:45:51.501 653-916/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 15:45:51.501 705-13620/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 1.000000
01-11 15:45:51.502 653-1036/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 15:45:51.503 653-1036/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=2
01-11 15:45:51.504 653-1036/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 15:45:51.505 653-1036/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 15:45:51.505 705-13620/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 0.192753
01-11 15:45:51.506 705-17266/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 0 => 736 returns 0
01-11 15:45:51.507 30066-13615/? D/AAudio: AAudioStream_requestStart(0x76ca04ec00) returned 0 ---------
01-11 15:45:51.507 965-5782/? V/MediaRouterService: restoreBluetoothA2dp(false)
01-11 15:45:51.508 705-13621/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() entering ----------------
01-11 15:45:51.508 3690-4206/? D/Avrcp: AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10009/3728 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 15:45:51.508 3690-4206/? D/Avrcp: AudioManager Player: ID:1767 -- type:android.media.MediaPlayer -- u/pid:10045/12342 -- state:idle -- attr:AudioAttributes: usage=USAGE_UNKNOWN content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 15:45:51.508 3690-4206/? D/Avrcp: AudioManager Player: ID:1863 -- type:AAudio -- u/pid:10122/13326 -- state:started -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 15:45:51.508 3690-4206/? D/Avrcp: AudioManager isPlaying: true
01-11 15:45:51.509 30066-13622/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 1.000000
01-11 15:45:51.509 30066-13622/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 0.192753
01-11 15:45:51.509 30066-13622/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 15:45:51.509 30066-13622/? D/AAudio: processDataNow() wait for valid timestamps
01-11 15:45:51.511 30066-13622/? D/AAudio: processDataNow() wait for valid timestamps
01-11 15:45:51.513 30066-13622/? D/AAudio: advanceClientToMatchServerPosition() readN = 576, writeN = 0, offset = -576
01-11 15:45:51.527 30066-13615/? D/OboeAudio: onErrorInThread() - exiting ===================================
01-11 15:45:52.518 965-5782/? D/WificondControl: Scan result ready event
01-11 15:45:52.523 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:45:52.523 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:45:52.526 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:45:52.526 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:45:52.528 965-3664/? D/WificondScannerImpl: Filtering out 2 scan results.
01-11 15:45:52.543 965-5905/? I/WifiService: getConnectionInfo uid=10040
01-11 15:45:55.423 653-1036/? D/audio_hw_primary: disable_audio_route: usecase(5) reset and update mixer path: audio-ull-playback speaker
01-11 15:46:12.191 678-894/? I/nanohub: osLog: [AR_CHRE] still: 71
01-11 15:46:12.192 678-894/? I/nanohub: osLog: [AR_CHRE] ON => IDLE
01-11 15:46:15.230 965-974/? I/zygote64: Background concurrent copying GC freed 69949(3MB) AllocSpace objects, 15(620KB) LOS objects, 42% free, 14MB/26MB, paused 218us total 148.400ms
01-11 15:46:32.421 965-4401/? D/WificondControl: Scan result ready event
01-11 15:46:32.426 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:46:32.426 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:46:32.427 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:46:32.427 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:46:32.432 965-3664/? D/WificondScannerImpl: Filtering out 2 scan results.
01-11 15:46:32.448 965-5782/? I/WifiService: getConnectionInfo uid=10040
01-11 15:47:20.928 13326-13448/com.roli.equator A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 13448 (Thread-14), pid 13326 (om.roli.equator)
                                                        
                                                        [ 01-11 15:47:20.952 13326:13339 D/         ]
                                                        PlayerBase::~PlayerBase()
01-11 15:47:20.987 13641-13641/? W/Thread-14: type=1400 audit(0.0:3398): avc: denied { ptrace } for scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:r:crash_dump:s0:c512,c768 tclass=process permissive=0
01-11 15:47:22.623 13326-13448/com.roli.equator A/libc: crash_dump helper failed to exec
01-11 15:47:22.623 13326-13448/com.roli.equator A/libc: failed to wait for crash_dump helper: No child processes
01-11 15:47:23.755 644-644/? I/Zygote: Process 13326 exited due to signal (6)
01-11 15:47:23.850 965-3554/? W/InputDispatcher: channel '8e6b4e1 com.roli.equator/com.roli.equator.Equator (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
01-11 15:47:23.850 965-3554/? E/InputDispatcher: channel '8e6b4e1 com.roli.equator/com.roli.equator.Equator (server)' ~ Channel is unrecoverably broken and will be disposed!
01-11 15:47:23.851 965-975/? D/MidiService: Client died: Client: UID: 10122 PID: 13326 listener count: 1 Device Connections:
01-11 15:47:23.852 965-975/? I/ActivityManager: Process com.roli.equator (pid 13326) has died: fore TOP 
01-11 15:47:23.853 965-4401/? I/WindowManager: WIN DEATH: Window{8e6b4e1 u0 com.roli.equator/com.roli.equator.Equator}
01-11 15:47:23.853 500-537/? E/SurfaceFlinger: Failed to find layer (SurfaceView - com.roli.equator/com.roli.equator.Equator#0) in layer parent (no-parent).
01-11 15:47:23.853 965-4401/? W/InputDispatcher: Attempted to unregister already unregistered input channel '8e6b4e1 com.roli.equator/com.roli.equator.Equator (server)'
01-11 15:47:23.853 965-1033/? W/zygote64: kill(-13326, 9) failed: No such process
01-11 15:47:23.853 500-3970/? E/SurfaceFlinger: Failed to find layer (Background for - SurfaceView - com.roli.equator/com.roli.equator.Equator#0) in layer parent (no-parent).
01-11 15:47:23.853 965-1033/? I/zygote64: Successfully killed process cgroup uid 10122 pid 13326 in 0ms
01-11 15:47:23.854 965-975/? W/ActivityManager: Force removing ActivityRecord{c0afdce u0 com.roli.equator/.Equator t89}: app died, no saved state
01-11 15:47:23.874 965-1044/? W/ActivityManager: setHasOverlayUi called on unknown pid: 13326
01-11 15:47:23.899 500-500/? D/SurfaceFlinger: duplicate layer name: changing com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity to com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity#1
01-11 15:47:23.901 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:23.903 14418-14418/? W/SessionLifecycleManager: Handover failed. Creating new session controller.
01-11 15:47:23.917 14418-14418/? W/ThreadPoolDumper: Queue length for executor User-Facing Non-Blocking is now 11. Perhaps some tasks are too long, or the pool is too small.
01-11 15:47:23.920 14418-14418/? I/OptInState: There is a new client and it does not support opt-in. Dropping request.
01-11 15:47:23.933 3791-3791/? D/zz: UtWallpaperService$UtEngine.onVisibilityChanged() true
01-11 15:47:23.937 14982-14982/? I/GoogleInputMethod: onStartInput() : Dummy InputConnection bound
01-11 15:47:23.939 3791-3791/? D/zz: UtRenderer.onVisible() 
01-11 15:47:23.943 3791-3791/? W/zz: WeatherManager.doGet() no permissions
01-11 15:47:23.944 3791-3791/? W/zz: SunriseUtil.doGet() no permissions
01-11 15:47:23.952 14418-10386/? W/TabTreeCopier: Card found with UNKNOWN_TAB, Entry Type 11
01-11 15:47:23.952 14418-10386/? W/TabTreeCopier: Card found with UNKNOWN_TAB, Entry Type 11
01-11 15:47:23.957 3791-3791/? V/zz: TimelapseRenderer$1.onReceive() got sunrise broadcast - false
01-11 15:47:23.976 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J3mwP1Rhs5C2SQPA4OFZSXA_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J3mwP1Rhs5C2SQPA4OFZSXA_1.jar.cur.prof': No such file or directory
01-11 15:47:23.976 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J3mwP1Rhs5C2SQPA4OFZSXA_1.jar.cur.prof
01-11 15:47:23.979 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J7XpYpAJa1yP7F3VVtv6SSQ_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J7XpYpAJa1yP7F3VVtv6SSQ_1.jar.cur.prof': No such file or directory
01-11 15:47:23.979 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/J7XpYpAJa1yP7F3VVtv6SSQ_1.jar.cur.prof
01-11 15:47:23.984 965-4401/? I/WifiService: getConnectionInfo uid=10036
01-11 15:47:23.984 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JTYWJhY2LgJ05SY7F8vjTrA_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JTYWJhY2LgJ05SY7F8vjTrA_1.jar.cur.prof': No such file or directory
01-11 15:47:23.984 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JTYWJhY2LgJ05SY7F8vjTrA_1.jar.cur.prof
01-11 15:47:23.985 965-4401/? I/WifiService: getWifiEnabledState uid=10036
01-11 15:47:23.989 965-975/? I/WifiService: getConnectionInfo uid=10036
01-11 15:47:23.989 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JasvzNhi6rIFOyvhJkCRSRA_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JasvzNhi6rIFOyvhJkCRSRA_1.jar.cur.prof': No such file or directory
01-11 15:47:23.989 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JasvzNhi6rIFOyvhJkCRSRA_1.jar.cur.prof
01-11 15:47:23.989 965-975/? I/WifiService: getWifiEnabledState uid=10036
01-11 15:47:23.991 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JcMu3WkrHo74LCgApurCSkg_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JcMu3WkrHo74LCgApurCSkg_1.jar.cur.prof': No such file or directory
01-11 15:47:23.991 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JcMu3WkrHo74LCgApurCSkg_1.jar.cur.prof
01-11 15:47:23.997 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JnQg5KdNNKHS4EUVNCI1czQ_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JnQg5KdNNKHS4EUVNCI1czQ_1.jar.cur.prof': No such file or directory
01-11 15:47:23.997 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JnQg5KdNNKHS4EUVNCI1czQ_1.jar.cur.prof
01-11 15:47:23.998 14418-12315/? W/LocationOracle: No location history returned by ContextManager
01-11 15:47:24.003 14418-14435/? W/zygote64: Couldn't lock the profile file /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JxoUwHgNzxIWOTS6X6GYihQ_1.jar.cur.prof: Failed to open file '/data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JxoUwHgNzxIWOTS6X6GYihQ_1.jar.cur.prof': No such file or directory
01-11 15:47:24.003 14418-14435/? W/zygote64: Could not forcefully load profile /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/oat/JxoUwHgNzxIWOTS6X6GYihQ_1.jar.cur.prof
01-11 15:47:24.023 14418-14418/? I/BgTaskExecutorImpl: Starting EXCLUSIVE background task update_searchnow_bootstrap_data.
01-11 15:47:24.026 14418-14418/? I/MicroDetectionWorker: #startMicroDetector [speakerMode: 0]
01-11 15:47:24.028 14418-14418/? I/AudioController: Created new AudioSource
01-11 15:47:24.030 14418-6979/? I/UpdateSNBDTask: Updating bootstrap data
01-11 15:47:24.036 14418-14418/? I/MicroDetectionWorker: onReady
01-11 15:47:24.039 14418-6979/? I/MicroRecognitionRunner: Starting detection.
01-11 15:47:24.039 14418-10386/? I/MicrophoneInputStream: mic_starting com.google.android.apps.gsa.speech.audio.ai@b3010c6
01-11 15:47:24.042 653-1036/? W/DeviceHAL: Device 0xe9358000 open_input_stream: Invalid argument
01-11 15:47:24.047 705-13646/? I/AudioFlinger: AudioFlinger's thread 0xe8d035c0 tid=13646 ready to run
01-11 15:47:24.053 705-1061/? I/SoundTriggerHwService::Module: onCallbackEvent no clients
01-11 15:47:24.054 14418-10386/? I/MicrophoneInputStream: mic_started com.google.android.apps.gsa.speech.audio.ai@b3010c6
01-11 15:47:24.054 4311-4312/? E/ANDR-PERF-OPTSHANDLER: Warning: Resource [2, 0] not supported for core 1. Instead use resource for core 0
01-11 15:47:24.055 4311-4312/? E/ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
01-11 15:47:24.055 653-13647/? D/audio_hw_primary: select_devices: changing use case audio-record input device from(75: voice-rec-mic, acdb 41) to (81: headset-mic, acdb 8)
01-11 15:47:24.055 653-13647/? I/ACDB-LOADER: ACDB AFE returned = -19
01-11 15:47:24.055 653-13647/? D/sound_trigger_platform: platform_stdev_check_and_update_concurrency: concurrency active 0, tx 1, rx 0, concurrency session_allowed 0
01-11 15:47:24.055 653-13647/? D/hardware_info: hw_info_append_hw_type : device_name = headset-mic
01-11 15:47:24.055 653-13647/? D/audio_hw_primary: enable_snd_device: snd_device(81: headset-mic)
01-11 15:47:24.055 653-13647/? D/audio_route: Apply path: headset-mic
01-11 15:47:24.056 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.063 653-13647/? D/audio_hw_primary: enable_audio_route: usecase(9) apply and update mixer path: audio-record
01-11 15:47:24.063 653-13647/? D/audio_route: Apply path: audio-record
01-11 15:47:24.065 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.068 10764-12249/? W/ctxmgr: [AclManager]No 3 for (accnt=account#-517948760#, com.google.android.gms(10040):UserVelocityProducer, vrsn=11951940, 0, 3pPkg = null ,  3pMdlId = null ,  pid = 10764). Was: 3 for 1, account#-517948760#
01-11 15:47:24.093 10764-12704/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:24.118 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 15:47:24.122 10764-12704/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:24.123 14418-14418/? I/MicroDetectionWorker: onReady
01-11 15:47:24.123 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 15:47:24.124 14418-6979/? W/SpeechLevelGenerator: Really low audio levels detected. The audio input may have issues.
01-11 15:47:24.124 10764-13648/? I/PlaceInferenceEngine: [anon] Changed inference mode: 105
01-11 15:47:24.126 10764-13649/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:24.135 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.140 10764-10822/? I/chatty: uid=10040(com.google.android.gms) FlpThread identical 1 line
01-11 15:47:24.154 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.162 10764-12704/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:24.171 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.176 10764-13648/? I/Places: ?: PlacesBleScanner start() with priority 2
01-11 15:47:24.177 10764-13648/? I/PlaceInferenceEngine: [anon] Changed inference mode: 102
01-11 15:47:24.182 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.184 10764-10764/? I/BeaconBle: Client requested scan, settings=BleSettings [scanMode=ZERO_POWER, callbackType=ALL_MATCHES, reportDelayMillis=0, 1 filters, 0 clients, callingClientName=Places]
01-11 15:47:24.186 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:24.199 10764-12249/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:24.427 4464-10151/? W/OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
01-11 15:47:29.030 14418-8156/? I/EventLogSendingHelper: Sending log events.
01-11 15:47:34.026 14418-11382/? I/EventLogSendingHelper: Sending log events.
01-11 15:47:52.532 965-5782/? D/WificondControl: Scan result ready event
01-11 15:47:52.536 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:47:52.536 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:47:52.538 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 15:47:52.538 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 15:47:52.538 965-3664/? D/WificondScannerImpl: Filtering out 1 scan results.
01-11 15:47:52.556 965-4408/? I/WifiService: getConnectionInfo uid=10040
01-11 15:47:53.859 965-1049/? I/PowerManagerService: Going to sleep due to screen timeout (uid 1000)...
01-11 15:47:53.864 14982-14982/? I/GoogleInputMethod: onFinishInput() : Dummy InputConnection bound
01-11 15:47:53.866 14982-14982/? I/GoogleInputMethod: onStartInput() : Dummy InputConnection bound
01-11 15:47:54.074 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:54.335 965-1049/? I/DisplayPowerController: Blocking screen off
01-11 15:47:54.336 965-1049/? I/DisplayPowerController: Unblocked screen off after 0 ms
01-11 15:47:54.355 965-1044/? I/DisplayManagerService: Display device changed state: "Built-in Screen", OFF
01-11 15:47:54.355 500-500/? D/SurfaceFlinger: Set power mode=0, type=0 flinger=0x7f7f25e000
01-11 15:47:54.356 502-567/? I/SDM: DisplayBase::SetDisplayState: Set state = 0, display 0
01-11 15:47:54.366 3791-3791/? D/zz: UtWallpaperService$UtEngine.onVisibilityChanged() false
01-11 15:47:54.367 965-3555/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
01-11 15:47:54.370 3791-3791/? D/zz: UtRenderer.onNotVisible() 
01-11 15:47:54.508 14418-14418/? I/PBSessionCacheImpl: Deleted sessionId[358754204120] from persistence.
01-11 15:47:54.524 965-975/? I/WifiService: getConnectionInfo uid=10036
01-11 15:47:54.526 965-975/? I/WifiService: getWifiEnabledState uid=10036
01-11 15:47:54.537 14418-14418/? W/SearchService: Abort, client detached.
01-11 15:47:54.551 14418-14418/? I/MicroDetector: Keeping mic open: false
01-11 15:47:54.552 14418-10389/? I/DeviceStateChecker: DeviceStateChecker cancelled
01-11 15:47:54.555 14418-10383/? I/AudioController: internalShutdown
01-11 15:47:54.556 14418-15689/? I/MicroRecognitionRunner: Stopping hotword detection.
01-11 15:47:54.557 14418-6979/? I/MicroRecognitionRunner: Detection finished
01-11 15:47:54.562 14418-10386/? I/MicrophoneInputStream: mic_close com.google.android.apps.gsa.speech.audio.ai@b3010c6
01-11 15:47:54.593 965-3686/? D/SurfaceControl: Excessive delay in setPowerMode()
01-11 15:47:54.595 965-1049/? I/DreamManagerService: Entering dreamland.
01-11 15:47:54.596 965-1049/? I/PowerManagerService: Dozing...
01-11 15:47:54.598 965-1042/? I/DreamController: Starting dream: name=ComponentInfo{com.android.systemui/com.android.systemui.doze.DozeService}, isTest=false, canDoze=true, userId=0
01-11 15:47:54.622 653-1036/? D/audio_hw_primary: disable_audio_route: usecase(9) reset and update mixer path: audio-record
01-11 15:47:54.623 653-1036/? D/hardware_info: hw_info_append_hw_type : device_name = headset-mic
01-11 15:47:54.623 653-1036/? D/audio_hw_primary: disable_snd_device: snd_device(81: headset-mic)
01-11 15:47:54.629 653-1036/? D/sound_trigger_platform: platform_stdev_check_and_update_concurrency: concurrency active 0, tx 0, rx 0, concurrency session_allowed 1
01-11 15:47:54.632 705-1061/? I/SoundTriggerHwService::Module: onCallbackEvent no clients
01-11 15:47:54.675 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 15:47:54.677 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 15:47:54.679 10764-13650/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:54.689 678-894/? I/nanohub: osLog: [PickupGesture] power: 1
01-11 15:47:54.692 678-894/? I/nanohub: osLog: [AR_CHRE] activity powered on
01-11 15:47:54.695 10764-13648/? I/Places: ?: PlacesBleScanner stop()
01-11 15:47:54.699 10764-10764/? I/BeaconBle: Places requested to stop scan
01-11 15:47:54.709 3791-3791/? D/zz: UtWallpaperService$UtEngine$DeviceEventsReceiver.onReceive() screen-off
01-11 15:47:54.710 3791-3791/? D/zz: UtRenderer.onScreenOff() 
01-11 15:47:54.713 10764-13648/? I/PlaceInferenceEngine: [anon] Changed inference mode: 105
01-11 15:47:54.715 10764-10764/? I/BeaconBle: Scan canceled successfully.
01-11 15:47:54.716 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 15:47:54.717 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 15:47:54.721 10764-12249/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:54.734 10764-12249/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:54.735 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 15:47:54.738 3728-3728/? I/chatty: uid=10009(com.android.systemui) identical 2 lines
01-11 15:47:54.739 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 15:47:54.742 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 15:47:54.744 10764-13655/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:54.749 10764-13655/? I/Places: ?: Couldn't find platform key file.
01-11 15:47:54.776 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 15:47:54.778 10764-10764/? I/chatty: uid=10040 com.google.android.gms.persistent identical 1 line
01-11 15:47:54.785 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 15:47:54.788 10764-11353/? D/BluetoothAdapter: isLeEnabled(): ON
01-11 15:47:54.789 14982-14982/? I/GoogleInputMethod: onReceive() : Action = android.intent.action.SCREEN_OFF
01-11 15:48:09.549 965-1031/? I/ActivityManager: Waited long enough for: ServiceRecord{1e5b7c8 u0 com.google.android.googlequicksearchbox/com.google.android.apps.gsa.search.core.service.SearchService}

The call stack for the above log at the moment of the crash can be seen here: https://drive.google.com/file/d/1NnhIiNQ9gYIECIqjolGaEUoW_BAYAU5_/view?usp=sharing

here an example of SIGSERV in AsyncTask #2:


01-11 01:47:44.224 17927-17934/com.roli.equator I/zygote64: Debugger is active
01-11 01:47:44.374 17927-17927/com.roli.equator I/System.out: Debugger has connected
01-11 01:47:44.375 17927-17927/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 01:47:45.386 17927-17927/com.roli.equator I/chatty: uid=10122(com.roli.equator) identical 5 lines
01-11 01:47:45.587 17927-17927/com.roli.equator I/System.out: waiting for debugger to settle...
01-11 01:47:45.790 17927-17927/com.roli.equator I/System.out: debugger has settled (1319)
01-11 01:47:46.039 965-3536/? W/AppOps: Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
01-11 01:47:46.495 17997-17997/? W//system/bin/adbd: type=1400 audit(0.0:71): avc: denied { search } for comm=73796E6320737663203238 name="oat" dev="sda35" ino=262179 scontext=u:r:adbd:s0 tcontext=u:object_r:dalvikcache_data_file:s0 tclass=dir permissive=0
01-11 01:47:46.764 17927-17927/com.roli.equator D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
01-11 01:47:46.784 17927-17927/com.roli.equator D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
01-11 01:47:46.956 17927-18021/com.roli.equator D/NetworkSecurityConfig: No Network Security Config specified, using platform default
01-11 01:47:49.271 965-1031/? W/ActivityManager: Launch timeout has expired, giving up wake lock!
01-11 01:47:49.339 676-676/? D/QCOM PowerHAL: LAUNCH HINT: OFF
01-11 01:47:50.260 17927-18032/com.roli.equator D/OpenGLRenderer: HWUI GL Pipeline
01-11 01:47:50.293 17927-18032/com.roli.equator I/Adreno: QUALCOMM build                   : 2941438, I916dfac403
                                                          Build Date                       : 10/03/17
                                                          OpenGL ES Shader Compiler Version: EV031.21.02.00
                                                          Local Branch                     : O18A
                                                          Remote Branch                    : 
                                                          Remote Branch                    : 
                                                          Reconstruct Branch               : 
01-11 01:47:50.873 14418-17081/? W/GmsLocationProvider: Error removing location updates: 16
01-11 01:47:50.899 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 01:47:51.640 17927-18032/com.roli.equator I/Adreno: PFP: 0x005ff087, ME: 0x005ff063
01-11 01:47:51.656 17927-18032/com.roli.equator I/zygote64: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
01-11 01:47:51.658 17927-18032/com.roli.equator I/OpenGLRenderer: Initialized EGL, version 1.4
01-11 01:47:51.658 17927-18032/com.roli.equator D/OpenGLRenderer: Swap behavior 2
01-11 01:47:51.703 17927-17927/com.roli.equator I/JUCE: JUCE v5.2.0
01-11 01:47:52.838 17927-17927/com.roli.equator D/OboeAudio: AAudioLoader():  dlopen(libaaudio.so) returned 0x774eac2230
01-11 01:47:52.838 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setChannelCount) succeeded.
01-11 01:47:52.838 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setBufferCapacityInFrames) succeeded.
01-11 01:47:52.838 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDeviceId) succeeded.
01-11 01:47:52.838 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDirection) succeeded.
01-11 01:47:52.838 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFormat) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFramesPerDataCallback) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSharingMode) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setPerformanceMode) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSampleRate) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_delete) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getChannelCount) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_close) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferSizeInFrames) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDeviceId) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDirection) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferCapacityInFrames) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesPerBurst) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesRead) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesWritten) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getPerformanceMode) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSampleRate) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSharingMode) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getState) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getXRunCount) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStart) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestPause) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestFlush) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStop) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_setBufferSizeInFrames) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertResultToText) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertStreamStateToText) succeeded.
01-11 01:47:52.839 17927-17927/com.roli.equator I/JUCE: Preparing Oboe stream with params:
                                                        AAudio supported = 1
                                                        API = AudioStreamBuilder::AudioApi::Unspecified
                                                        DeviceId = -1
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        FramesPerBurst = 192
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 01:47:52.839 17927-17927/com.roli.equator D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 01:47:52.839 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 01:47:52.839 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 01:47:52.839 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 01:47:52.839 17927-17927/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 01:47:52.839 17927-17927/com.roli.equator D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                                          
                                                          [ 01-11 01:47:52.839 17927:17927 D/         ]
                                                          PlayerBase::PlayerBase()
01-11 01:47:52.840 17927-17927/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:47:52.840 17927-17927/com.roli.equator I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = SH, dir = OUTPUT
01-11 01:47:52.840 17927-17927/com.roli.equator I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: ON with frames = 0
                                                                
                                                                [ 01-11 01:47:52.840   705:12521 D/         ]
                                                                PlayerBase::PlayerBase()
01-11 01:47:52.841 479-479/? E/SELinux: avc:  denied  { find } for service=audio pid=705 uid=1041 scontext=u:r:audioserver:s0 tcontext=u:object_r:audio_service:s0 tclass=service_manager permissive=0
                                        
                                        
                                        [ 01-11 01:47:52.841   705:12521 E/         ]
                                        PlayerBase(): binding to audio service failed, service up?
01-11 01:47:52.841 705-12521/? D/AudioStreamInternal_Service: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:47:52.841 705-12521/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 01:47:52.841 705-12521/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 10, callback: OFF with frames = 0
01-11 01:47:52.841 705-12521/? E/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(),created MMAP 0xeb6ba740
01-11 01:47:52.841 705-12521/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 2, SamplingRate 48000, Format 0x000001, Channels 3, flags 4001
01-11 01:47:52.842 705-18041/? I/AudioFlinger: AudioFlinger's thread 0xe98cb000 tid=18041 ready to run
01-11 01:47:52.843 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() mMapClient.uid = 1041, pid = 705 => portHandle = 106
01-11 01:47:52.848 705-12521/? D/AAudioServiceEndpointMMAP: createMmapBuffer status = 0, buffer_size = 1536, burst_size 48, Sharable FD: Yes
01-11 01:47:52.848 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() original burst = 48, minMicros = 2000, to burst = 96
01-11 01:47:52.848 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() actual rate = 48000, channels = 2, deviceId = 2, capacity = 1536
01-11 01:47:52.848 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(), created 0xeb6ba740 for device = 0
01-11 01:47:52.848 705-12521/? D/AAudioService: AAudioService::openStream(): handle = 0x00000031
01-11 01:47:52.848 705-12521/? D/AudioStreamInternal_Service: setBufferSize() req = 192 => 192
01-11 01:47:52.848 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager.openSharedEndpoint(), created 0xe9766600 for device = 0, dir = 0
01-11 01:47:52.848 705-12521/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::calculateBufferCapacity() requested 0 frames, actual = 1536
01-11 01:47:52.848 705-12521/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::open() actual rate = 48000, channels = 2, deviceId = 2
01-11 01:47:52.848 705-12521/? D/AAudioService: AAudioService::openStream(): handle = 0x00000032
01-11 01:47:52.849 17927-17927/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b38a0600) ----------------
01-11 01:47:52.850 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 01:47:52.850 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 01:47:52.850 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 01:47:52.850 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() capacity      = 1536
01-11 01:47:52.850 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b38a0600
01-11 01:47:52.850 17927-17927/com.roli.equator I/JUCE: Building Oboe stream with result: Result::OK
                                                        Stream state = StreamState::Open
01-11 01:47:52.850 17927-17927/com.roli.equator D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 01:47:52.850 17927-17927/com.roli.equator I/JUCE: Stream details:
                                                        Uses AAudio = 1
                                                        DeviceId = 2
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        BufferCapacityInFrames = 1536
                                                        FramesPerBurst = 96
                                                        FramesPerCallback = 0
                                                        BytesPerFrame = 8
                                                        BytesPerSample = 4
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 01:47:52.850 17927-17927/com.roli.equator D/AAudio: AAudioStream_close(0x76b38a0600)
01-11 01:47:52.850 17927-17927/com.roli.equator D/AudioStreamInternal_Client: close(): mServiceStreamHandle = 0x00000032
01-11 01:47:52.850 705-12521/? D/AAudioService: AAudioService.closeStream(0x00000032)
01-11 01:47:52.850 705-12521/? D/AudioStreamInternal_Service: close(): mServiceStreamHandle = 0x00000031
01-11 01:47:52.850 705-12521/? D/AAudioService: AAudioService.closeStream(0x00000031)
01-11 01:47:52.850 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::close() clear() endpoint
01-11 01:47:52.851 653-916/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: closing=true
01-11 01:47:52.851 653-916/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:47:52.851 705-18041/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 1.000000
01-11 01:47:52.852 705-921/? D/AudioFlinger: closing mmapThread 0xe98cb000
01-11 01:47:52.852 705-921/? D/AudioFlinger: mmapThread exit()
01-11 01:47:52.950 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager::closeExclusiveEndpoint() 0xeb6ba740 for device 2
01-11 01:47:52.951 705-12521/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xeb6ba740
01-11 01:47:52.951 705-12521/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb6dbe60
01-11 01:47:52.951 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager::closeSharedEndpoint() 0xe9766600 for device 2
01-11 01:47:52.951 705-12521/? D/AAudioStream: destroying 0xe9766680, state = AAUDIO_STREAM_STATE_CLOSED
                                               
                                               [ 01-11 01:47:52.951   705:12521 D/         ]
                                               PlayerBase::~PlayerBase()
01-11 01:47:52.951 705-12521/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xe9766600
01-11 01:47:52.951 705-12521/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb28de80
01-11 01:47:52.952 17927-17927/com.roli.equator D/AAudioStream: destroying 0x76b38a0600, state = AAUDIO_STREAM_STATE_CLOSED
01-11 01:47:52.952 17927-17927/com.roli.equator I/JUCE: Requested Oboe stream close with result: Result::OK
01-11 01:47:52.963 17927-17927/com.roli.equator I/JUCE: Preparing Oboe stream with params:
                                                        AAudio supported = 1
                                                        API = AudioStreamBuilder::AudioApi::Unspecified
                                                        DeviceId = 0
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        FramesPerBurst = 192
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 01:47:52.964 17927-17927/com.roli.equator D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 01:47:52.964 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 01:47:52.964 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 01:47:52.964 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 01:47:52.964 17927-17927/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 01:47:52.964 17927-17927/com.roli.equator D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                                          
                                                          [ 01-11 01:47:52.964 17927:17927 D/         ]
                                                          PlayerBase::PlayerBase()
01-11 01:47:52.965 17927-17927/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:47:52.965 17927-17927/com.roli.equator I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = SH, dir = OUTPUT
01-11 01:47:52.965 17927-17927/com.roli.equator I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: ON with frames = 0
                                                                
                                                                [ 01-11 01:47:52.965   705:12521 D/         ]
                                                                PlayerBase::PlayerBase()
01-11 01:47:52.965 479-479/? E/SELinux: avc:  denied  { find } for service=audio pid=705 uid=1041 scontext=u:r:audioserver:s0 tcontext=u:object_r:audio_service:s0 tclass=service_manager permissive=0
                                        
                                        
                                        [ 01-11 01:47:52.965   705:12521 E/         ]
                                        PlayerBase(): binding to audio service failed, service up?
01-11 01:47:52.965 705-12521/? D/AudioStreamInternal_Service: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:47:52.965 705-12521/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 01:47:52.965 705-12521/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 10, callback: OFF with frames = 0
01-11 01:47:52.965 705-12521/? E/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(),created MMAP 0xeb6ba740
01-11 01:47:52.965 705-12521/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 2, SamplingRate 48000, Format 0x000001, Channels 3, flags 4001
01-11 01:47:52.967 705-18042/? I/AudioFlinger: AudioFlinger's thread 0xe98cd000 tid=18042 ready to run
01-11 01:47:52.968 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() mMapClient.uid = 1041, pid = 705 => portHandle = 108
01-11 01:47:52.976 705-12521/? D/AAudioServiceEndpointMMAP: createMmapBuffer status = 0, buffer_size = 1536, burst_size 48, Sharable FD: Yes
01-11 01:47:52.977 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() original burst = 48, minMicros = 2000, to burst = 96
01-11 01:47:52.977 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() actual rate = 48000, channels = 2, deviceId = 2, capacity = 1536
01-11 01:47:52.977 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(), created 0xeb6ba740 for device = 0
01-11 01:47:52.977 705-12521/? D/AAudioService: AAudioService::openStream(): handle = 0x00000033
01-11 01:47:52.977 705-12521/? D/AudioStreamInternal_Service: setBufferSize() req = 192 => 192
01-11 01:47:52.977 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager.openSharedEndpoint(), created 0xe9766600 for device = 0, dir = 0
01-11 01:47:52.977 705-12521/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::calculateBufferCapacity() requested 0 frames, actual = 1536
01-11 01:47:52.978 705-12521/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::open() actual rate = 48000, channels = 2, deviceId = 2
01-11 01:47:52.978 705-12521/? D/AAudioService: AAudioService::openStream(): handle = 0x00000034
01-11 01:47:52.979 17927-17927/com.roli.equator D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b38a0600) ----------------
01-11 01:47:52.979 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 01:47:52.980 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 01:47:52.980 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 01:47:52.980 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open() capacity      = 1536
01-11 01:47:52.980 17927-17927/com.roli.equator D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b38a0600
01-11 01:47:52.980 17927-17927/com.roli.equator I/JUCE: Building Oboe stream with result: Result::OK
                                                        Stream state = StreamState::Open
01-11 01:47:52.980 17927-17927/com.roli.equator D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 01:47:52.980 17927-17927/com.roli.equator I/JUCE: Stream details:
                                                        Uses AAudio = 1
                                                        DeviceId = 2
                                                        Direction = Direction::Output
                                                        SharingMode = SharingMode::Shared
                                                        ChannelCount = 2
                                                        Format = AudioFormat::Float
                                                        SampleRate = 48000
                                                        BufferSizeInFrames = 768
                                                        BufferCapacityInFrames = 1536
                                                        FramesPerBurst = 96
                                                        FramesPerCallback = 0
                                                        BytesPerFrame = 8
                                                        BytesPerSample = 4
                                                        PerformanceMode = PerformanceMode::LowLatency
01-11 01:47:52.980 17927-17927/com.roli.equator D/AAudio: AAudioStream_requestStart(0x76b38a0600) called --------------
                                                          
                                                          [ 01-11 01:47:52.980 17927:17927 D/         ]
                                                          PlayerBase::start() from IPlayer
01-11 01:47:52.980 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb6ba798(uid=1041, pid=705))
01-11 01:47:52.981 653-653/? I/ACDB-LOADER: ACDB AFE returned = -19
01-11 01:47:52.981 653-653/? D/hardware_info: hw_info_append_hw_type : device_name = speaker
01-11 01:47:52.981 653-653/? D/audio_hw_primary: enable_snd_device: snd_device(2: speaker)
01-11 01:47:52.981 653-653/? D/audio_route: Apply path: speaker
01-11 01:47:52.981 653-653/? D/audio_hw_primary: enable_audio_route: usecase(6) apply and update mixer path: mmap-playback speaker
01-11 01:47:52.981 653-653/? D/audio_route: Apply path: mmap-playback speaker
01-11 01:47:52.982 4311-4312/? E/ANDR-PERF-OPTSHANDLER: Warning: Resource [2, 0] not supported for core 1. Instead use resource for core 0
01-11 01:47:52.982 4311-4312/? E/ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
01-11 01:47:52.996 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 108 => 108 returns 0
01-11 01:47:52.996 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb28decc(uid=10122, pid=17927))
01-11 01:47:52.996 705-18043/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() entering ----------------
01-11 01:47:52.997 705-18044/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 01:47:52.997 653-653/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:47:52.997 705-18044/? D/AAudioService: processDataNow() wait for valid timestamps
01-11 01:47:52.997 705-18042/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 1.000000
01-11 01:47:52.997 653-653/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:47:52.998 653-653/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:47:52.998 653-653/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=2
01-11 01:47:52.999 653-653/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:47:52.999 705-18044/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 1.000000
01-11 01:47:52.999 705-18044/? D/AAudioService: processDataNow() wait for valid timestamps
01-11 01:47:52.999 653-916/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:47:52.999 705-18042/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 0.019953
01-11 01:47:53.001 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 0 => 110 returns 0
01-11 01:47:53.001 705-18044/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 0.019953
01-11 01:47:53.001 705-18044/? D/AAudioService: processDataNow() wait for valid timestamps
01-11 01:47:53.001 705-18045/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() entering ----------------
01-11 01:47:53.002 17927-17927/com.roli.equator D/AAudio: AAudioStream_requestStart(0x76b38a0600) returned 0 ---------
01-11 01:47:53.002 17927-17927/com.roli.equator I/JUCE: Requested Oboe stream start with result: Result::OK
01-11 01:47:53.003 965-5903/? V/MediaRouterService: restoreBluetoothA2dp(false)
01-11 01:47:53.003 705-18044/? D/AAudioService: advanceClientToMatchServerPosition() readN = 384, writeN = 0, offset = -384
01-11 01:47:53.004 17927-18046/com.roli.equator D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 01:47:53.005 17927-18046/com.roli.equator D/AAudio: processDataNow() wait for valid timestamps
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10009/3728 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager Player: ID:15 -- type:android.media.SoundPool -- u/pid:1000/965 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager Player: ID:63 -- type:android.media.SoundPool -- u/pid:1027/4362 -- state:idle -- attr:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager Player: ID:303 -- type:android.media.MediaPlayer -- u/pid:10045/17306 -- state:idle -- attr:AudioAttributes: usage=USAGE_UNKNOWN content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager Player: ID:335 -- type:AAudio -- u/pid:10122/17927 -- state:started -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 01:47:53.005 3690-4206/? D/Avrcp: AudioManager isPlaying: true
01-11 01:47:53.007 17927-18046/com.roli.equator D/AAudio: advanceClientToMatchServerPosition() readN = 288, writeN = 0, offset = -288
01-11 01:47:53.022 17927-17927/com.roli.equator I/JUCE: Starting Oboe stream with result: Result::OK
01-11 01:47:53.077 17927-17932/com.roli.equator I/zygote64: Do partial code cache collection, code=30KB, data=21KB
01-11 01:47:53.085 17927-17932/com.roli.equator I/zygote64: After code cache collection, code=30KB, data=21KB
01-11 01:47:53.085 17927-17932/com.roli.equator I/zygote64: Increasing code cache capacity to 128KB
01-11 01:47:53.532 14982-14982/? I/GoogleInputMethod: onFinishInput() : Dummy InputConnection bound
01-11 01:47:53.534 17927-17927/com.roli.equator I/Choreographer: Skipped 44 frames!  The application may be doing too much work on its main thread.
01-11 01:47:53.571 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.ak.a(145): onJobSchedulerWakeup
01-11 01:47:53.575 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.k.a(22): Scheduling fallback in 43199998 (absolute: 46030864)
01-11 01:47:53.577 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.k.a(22): Scheduling fallback in 64799998 (absolute: 67630866)
01-11 01:47:53.581 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.r.handleMessage(25): DeviceState: DeviceState{currentTime=1515631673578, isCharging=true, isIdle=false, netAny=true, netNotRoaming=true, netUnmetered=true}
01-11 01:47:53.594 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(89): Running job: 1 (12)
01-11 01:47:53.595 17306-17306/? I/Finsky: [2] com.google.android.finsky.ac.c.a(40): ContentSyncJob started
01-11 01:47:53.598 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(161): RunningQueue size: 1
01-11 01:47:53.599 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(162): PendingQueue size: 0
01-11 01:47:53.915 17306-17328/? I/zygote: Deoptimizing com.google.android.finsky.cn.b com.google.android.finsky.cn.a.a.b(android.content.pm.PackageInfo) due to class hierarchy analysis
01-11 01:47:54.017 17306-17328/? I/Finsky: [88] com.google.android.finsky.l.c.a(23): Completed 0 account content syncs with 0 successful.
01-11 01:47:54.021 17306-17306/? I/Finsky: [2] com.google.android.finsky.ac.c.a(5): Installation state replication succeeded.
01-11 01:47:54.022 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.ah.b(12): jobFinished: 1 12
01-11 01:47:54.023 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(186): Job 1 (12) finished
01-11 01:47:54.029 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(161): RunningQueue size: 0
01-11 01:47:54.030 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.m.a(162): PendingQueue size: 0
01-11 01:47:54.030 17306-17306/? I/Finsky: [2] com.google.android.finsky.scheduler.r.handleMessage(200): Executor finished
01-11 01:47:54.586 965-1049/? I/PowerManagerService: Going to sleep due to screen timeout (uid 1000)...
01-11 01:47:54.903 705-18045/? E/AAudioServiceStreamBase: writeUpMessageQueue(): Queue full. Did client die?
01-11 01:47:54.903 705-18045/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() exiting ----------------
01-11 01:47:55.054 965-1049/? I/DisplayPowerController: Blocking screen off
01-11 01:47:55.054 965-1049/? I/DisplayPowerController: Unblocked screen off after 1 ms
01-11 01:47:55.095 965-1044/? I/DisplayManagerService: Display device changed state: "Built-in Screen", OFF
01-11 01:47:55.095 500-500/? D/SurfaceFlinger: Set power mode=0, type=0 flinger=0x7f7f25e000
01-11 01:47:55.099 965-10560/? I/OpenGLRenderer: Initialized EGL, version 1.4
01-11 01:47:55.099 965-10560/? D/OpenGLRenderer: Swap behavior 2
01-11 01:47:55.100 502-567/? I/SDM: DisplayBase::SetDisplayState: Set state = 0, display 0
01-11 01:47:55.109 965-3555/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
01-11 01:47:55.233 14418-14418/? I/PBSessionCacheImpl: Deleted sessionId[358753700088] from persistence.
01-11 01:47:55.253 965-975/? I/WifiService: getConnectionInfo uid=10036
01-11 01:47:55.255 965-5903/? I/WifiService: getWifiEnabledState uid=10036
01-11 01:47:55.274 14418-14418/? W/SearchService: Abort, client detached.
01-11 01:47:55.329 965-3686/? D/SurfaceControl: Excessive delay in setPowerMode()
01-11 01:47:55.331 965-1049/? I/DreamManagerService: Entering dreamland.
01-11 01:47:55.332 965-1049/? I/PowerManagerService: Dozing...
01-11 01:47:55.339 965-1042/? I/DreamController: Starting dream: name=ComponentInfo{com.android.systemui/com.android.systemui.doze.DozeService}, isTest=false, canDoze=true, userId=0
01-11 01:47:55.391 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.392 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.404 678-894/? I/nanohub: osLog: [PickupGesture] power: 1
01-11 01:47:55.408 678-894/? I/nanohub: osLog: [AR_CHRE] activity powered on
01-11 01:47:55.414 10764-12786/? I/TrustAgent: [VoiceUnlockTrustletChimeraService] #isSupported true
01-11 01:47:55.425 3791-3791/? D/zz: UtWallpaperService$UtEngine$DeviceEventsReceiver.onReceive() screen-off
01-11 01:47:55.425 3791-3791/? D/zz: UtRenderer.onScreenOff() 
01-11 01:47:55.434 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.455 3728-3728/? I/chatty: uid=10009(com.android.systemui) identical 1 line
01-11 01:47:55.455 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.457 10764-17766/? I/Places: ?: Couldn't find platform key file.
01-11 01:47:55.458 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.458 3728-3728/? D/StatusBar: disable<e i a s b h r c s q >
01-11 01:47:55.461 10764-17815/? I/Places: ?: PlacesBleScanner stop()
01-11 01:47:55.462 10764-10764/? I/BeaconBle: Places requested to stop scan
01-11 01:47:55.466 10764-10764/? I/BeaconBle: Scan canceled successfully.
01-11 01:47:55.475 10764-10822/? W/GCoreFlp: No location to return for getLastLocation()
01-11 01:47:55.476 10764-17815/? I/PlaceInferenceEngine: [anon] Changed inference mode: 105
01-11 01:47:55.490 10764-17816/? I/Places: ?: Couldn't find platform key file.
01-11 01:47:55.499 10764-12786/? I/Places: ?: Couldn't find platform key file.
01-11 01:47:55.503 10764-18062/? I/Places: ?: Couldn't find platform key file.
01-11 01:47:55.504 10764-18062/? I/Places: ?: Couldn't find platform key file.
01-11 01:47:55.505 14982-14982/? I/GoogleInputMethod: onReceive() : Action = android.intent.action.SCREEN_OFF
01-11 01:47:55.506 10764-11353/? D/BluetoothAdapter: isLeEnabled(): ON
01-11 01:47:55.517 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 01:47:55.555 965-1031/? W/ActivityManager: Activity pause timeout for ActivityRecord{79d9315 u0 com.roli.equator/.Equator t20}
01-11 01:47:57.407 965-1044/? W/WindowManager: Window freeze timeout expired.
01-11 01:47:57.407 965-1044/? W/WindowManager: Force clearing orientation change: Window{b5fd55c u0 com.roli.equator/com.roli.equator.Equator}
01-11 01:47:55.546 10764-10764/? I/chatty: uid=10040 com.google.android.gms.persistent identical 2 lines
01-11 01:47:55.548 10764-10764/? I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_BY_PENDING_INTENT pendingIntent=PendingIntent[creatorPackage=com.google.android.gms], packageName=null]
01-11 01:47:57.939 965-5903/? D/WificondControl: Scan result ready event
01-11 01:47:57.945 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 01:47:57.946 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 01:47:57.947 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 01:47:57.947 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 01:47:57.949 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 01:47:57.949 965-3662/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 01:47:57.949 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 2ac0f00
01-11 01:47:57.949 965-3664/? W/IE_Capabilities: Unknown WPA cipher suite: 0
01-11 01:47:57.950 965-3664/? D/WificondScannerImpl: Filtering out 1 scan results.
01-11 01:47:57.963 965-8519/? I/WifiService: getConnectionInfo uid=10040
01-11 01:48:00.057 965-1031/? W/ActivityManager: Sleep timeout!  Sleeping now.
01-11 01:48:00.294 14418-14418/? I/BgTaskExecutorImpl: Starting EXCLUSIVE background task send_pending_events_to_clearcut.
01-11 01:48:00.301 14418-17089/? I/EventLogSendingHelper: Sending log events.
01-11 01:48:05.564 965-1031/? W/ActivityManager: Activity stop timeout for ActivityRecord{79d9315 u0 com.roli.equator/.Equator t20}
01-11 01:48:10.285 965-1031/? I/ActivityManager: Waited long enough for: ServiceRecord{abb678 u0 com.google.android.googlequicksearchbox/com.google.android.apps.gsa.search.core.service.SearchService}
01-11 01:48:22.255 17927-18023/com.roli.equator A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 18023 (AsyncTask #2), pid 17927 (om.roli.equator)
01-11 01:48:22.338 18068-18068/? W/com.roli.equator: type=1400 audit(0.0:72): avc: denied { ptrace } for comm=4173796E635461736B202332 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:r:crash_dump:s0:c512,c768 tclass=process permissive=0
01-11 01:48:22.320 965-5905/? W/Parcel: **** enforceInterface() expected 'android.hardware.input.IInputManager' but read ''
01-11 01:48:23.006 965-5905/? W/Parcel: **** enforceInterface() expected 'android.hardware.input.IInputManager' but read ''
01-11 01:48:23.033 17927-17938/com.roli.equator I/zygote64: Background concurrent copying GC freed 8039(909KB) AllocSpace objects, 5(128KB) LOS objects, 50% free, 9MB/18MB, paused 705us total 29.474s
01-11 01:48:23.045 17927-18023/com.roli.equator A/libc: crash_dump helper failed to exec
01-11 01:48:23.045 17927-18023/com.roli.equator A/libc: failed to wait for crash_dump helper: No child processes
01-11 01:48:23.733 965-5905/? D/MidiService: Client died: Client: UID: 10122 PID: 17927 listener count: 1 Device Connections:
01-11 01:48:23.733 705-12521/? W/AAudioService: AAudioClientTracker::binderDied() close abandoned stream 0x00000034
01-11 01:48:23.733 705-12521/? D/AAudioService: AAudioService.closeStream(0x00000034)
01-11 01:48:23.734 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(110) returns 0
01-11 01:48:23.736 965-3554/? W/InputDispatcher: channel 'b5fd55c com.roli.equator/com.roli.equator.Equator (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
01-11 01:48:23.736 965-3554/? E/InputDispatcher: channel 'b5fd55c com.roli.equator/com.roli.equator.Equator (server)' ~ Channel is unrecoverably broken and will be disposed!
01-11 01:48:23.736 653-653/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:48:23.737 653-916/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:48:23.739 965-3886/? I/ActivityManager: Process com.roli.equator (pid 17927) has died: fore TPSL
01-11 01:48:23.739 965-1033/? W/zygote64: kill(-17927, 9) failed: No such process
01-11 01:48:23.740 965-975/? I/WindowManager: WIN DEATH: Window{b5fd55c u0 com.roli.equator/com.roli.equator.Equator}
01-11 01:48:23.740 965-975/? W/InputDispatcher: Attempted to unregister already unregistered input channel 'b5fd55c com.roli.equator/com.roli.equator.Equator (server)'
01-11 01:48:23.745 965-3886/? W/ActivityManager: Force removing ActivityRecord{79d9315 u0 com.roli.equator/.Equator t20}: app died, no saved state
01-11 01:48:23.760 644-644/? I/Zygote: Process 17927 exited due to signal (11)
01-11 01:48:23.762 965-1044/? W/ActivityManager: setHasOverlayUi called on unknown pid: 17927
01-11 01:48:23.785 965-1033/? W/zygote64: kill(-17927, 9) failed: No such process
01-11 01:48:23.785 965-1033/? I/zygote64: Successfully killed process cgroup uid 10122 pid 17927 in 45ms
01-11 01:48:23.800 500-500/? D/SurfaceFlinger: duplicate layer name: changing com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity to com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity#1
01-11 01:48:23.809 705-18043/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() exiting ----------------
01-11 01:48:23.811 653-653/? D/audio_hw_primary: disable_audio_route: usecase(6) reset and update mixer path: mmap-playback speaker
01-11 01:48:23.862 653-653/? D/hardware_info: hw_info_append_hw_type : device_name = speaker
01-11 01:48:23.862 653-653/? D/audio_hw_primary: disable_snd_device: snd_device(2: speaker)
01-11 01:48:23.862 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(108) returns 0
01-11 01:48:23.862 705-12521/? D/AudioStreamInternal_Service: close(): mServiceStreamHandle = 0x00000033
01-11 01:48:23.862 705-12521/? D/AAudioService: AAudioService.closeStream(0x00000033)
01-11 01:48:23.862 705-12521/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::close() clear() endpoint
01-11 01:48:23.863 653-916/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=0
01-11 01:48:23.864 653-653/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: closing=true
01-11 01:48:23.865 705-921/? D/AudioFlinger: closing mmapThread 0xe98cd000
01-11 01:48:23.865 705-921/? D/AudioFlinger: mmapThread exit()
01-11 01:48:23.963 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager::closeExclusiveEndpoint() 0xeb6ba740 for device 2
01-11 01:48:23.964 705-12521/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xeb6ba740
01-11 01:48:23.964 705-12521/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb6dbe60
01-11 01:48:23.965 705-12521/? D/AAudioEndpointManager: AAudioEndpointManager::closeSharedEndpoint() 0xe9766600 for device 2
01-11 01:48:23.965 705-12521/? D/AAudioStream: destroying 0xe9766680, state = AAUDIO_STREAM_STATE_CLOSED
                                               
                                               [ 01-11 01:48:23.965   705:12521 D/         ]
                                               PlayerBase::~PlayerBase()
01-11 01:48:23.965 705-12521/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xe9766600
01-11 01:48:23.966 705-12521/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb28de80
01-11 01:48:25.350 14418-17796/? W/GmsLocationProvider: Error removing location updates: 16

and yet another report:

01-11 01:28:07.436 965-3750/? I/ActivityManager: Start proc 16749:com.roli.equator/u0a122 for activity com.roli.equator/.Equator
01-11 01:28:07.437 676-676/? D/QCOM PowerHAL: LAUNCH HINT: OFF
01-11 01:28:07.465 965-3555/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
01-11 01:28:07.476 4464-10151/? W/OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
01-11 01:28:07.505 16749-16749/? D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
01-11 01:28:07.510 16749-16749/? W/InstanceID/Rpc: Found 10040
01-11 01:28:07.516 16749-16749/? D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
01-11 01:28:07.558 16749-16767/? D/NetworkSecurityConfig: No Network Security Config specified, using platform default
01-11 01:28:07.573 10751-11006/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=36
01-11 01:28:07.576 10751-10932/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=32
01-11 01:28:07.588 10751-14978/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
01-11 01:28:07.604 10751-14978/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
01-11 01:28:07.629 10751-10932/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=36
01-11 01:28:07.631 10751-11006/? I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=32
01-11 01:28:07.643 10751-14978/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
01-11 01:28:07.651 10751-14978/? I/Icing: Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
01-11 01:28:07.905 16749-16778/? D/OpenGLRenderer: HWUI GL Pipeline
01-11 01:28:07.976 965-1031/? W/ActivityManager: Activity pause timeout for ActivityRecord{a17398a u0 com.roli.equator/.Equator t14}
01-11 01:28:08.086 3728-4246/? W/asset: Asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk is neither a directory nor file (type=1).
01-11 01:28:08.086 3728-4246/? E/ResourcesManager: failed to add asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk
01-11 01:28:08.087 3728-4246/? W/PackageManager: Failure retrieving resources for com.roli.equator
01-11 01:28:08.087 3728-4246/? W/asset: Asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk is neither a directory nor file (type=1).
01-11 01:28:08.087 3728-4246/? E/ResourcesManager: failed to add asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk
01-11 01:28:08.087 3728-4246/? W/PackageManager: Failure retrieving resources for com.roli.equator
01-11 01:28:08.087 3728-4246/? W/asset: Asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk is neither a directory nor file (type=1).
01-11 01:28:08.088 3728-4246/? E/ResourcesManager: failed to add asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk
01-11 01:28:08.088 3728-4246/? W/PackageManager: Failure retrieving resources for com.roli.equator
01-11 01:28:08.088 3728-4246/? W/asset: Asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk is neither a directory nor file (type=1).
01-11 01:28:08.088 3728-4246/? E/ResourcesManager: failed to add asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk
01-11 01:28:08.088 3728-4246/? W/PackageManager: Failure retrieving resources for com.roli.equator
01-11 01:28:08.089 3728-4246/? W/asset: Asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk is neither a directory nor file (type=1).
01-11 01:28:08.089 3728-4246/? E/ResourcesManager: failed to add asset path /data/app/com.roli.equator-DjRkpHg16Jb9KS7ebLcaZA==/base.apk
01-11 01:28:08.089 3728-4246/? W/PackageManager: Failure retrieving resources for com.roli.equator
01-11 01:28:08.600 10751-14566/? I/Icing: Indexing B5DC67E1EB2E9E5D13E812F3EDE8C8F78B5E382B from com.google.android.gms
01-11 01:28:08.758 10751-14566/? I/Icing: Indexing done B5DC67E1EB2E9E5D13E812F3EDE8C8F78B5E382B
01-11 01:28:08.767 14982-14982/? I/IcingNotification: Received intent: Intent { act=com.google.android.gms.icing.IME_NOTIFICATION flg=0x10 pkg=com.google.android.inputmethod.latin (has extras) }
01-11 01:28:08.984 16749-16778/? I/Adreno: QUALCOMM build                   : 2941438, I916dfac403
                                           Build Date                       : 10/03/17
                                           OpenGL ES Shader Compiler Version: EV031.21.02.00
                                           Local Branch                     : O18A
                                           Remote Branch                    : 
                                           Remote Branch                    : 
                                           Reconstruct Branch               : 
01-11 01:28:08.994 16749-16778/? I/Adreno: PFP: 0x005ff087, ME: 0x005ff063
01-11 01:28:09.008 16749-16778/? I/zygote64: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
01-11 01:28:09.011 16749-16778/? I/OpenGLRenderer: Initialized EGL, version 1.4
01-11 01:28:09.011 16749-16778/? D/OpenGLRenderer: Swap behavior 2
01-11 01:28:09.458 965-1044/? W/WindowManager: App freeze timeout expired.
01-11 01:28:09.619 16749-16749/? D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 01:28:09.620 16749-16749/? D/OboeAudio: AAudioLoader():  dlopen(libaaudio.so) returned 0x774eac2230
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setChannelCount) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setBufferCapacityInFrames) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDeviceId) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setDirection) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFormat) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setFramesPerDataCallback) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSharingMode) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setPerformanceMode) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_setSampleRate) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStreamBuilder_delete) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getChannelCount) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_close) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferSizeInFrames) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDeviceId) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getDirection) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getBufferCapacityInFrames) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesPerBurst) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesRead) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getFramesWritten) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getPerformanceMode) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSampleRate) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getSharingMode) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getState) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_getXRunCount) succeeded.
01-11 01:28:09.620 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStart) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestPause) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestFlush) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_requestStop) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudioStream_setBufferSizeInFrames) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertResultToText) succeeded.
01-11 01:28:09.621 16749-16749/? V/OboeAudio: AAudioLoader(): dlsym(AAudio_convertStreamStateToText) succeeded.
01-11 01:28:09.621 16749-16749/? D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 01:28:09.621 16749-16749/? D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 01:28:09.621 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 01:28:09.621 16749-16749/? D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 01:28:09.621 16749-16749/? D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                           
                                           [ 01-11 01:28:09.621 16749:16749 D/         ]
                                           PlayerBase::PlayerBase()
01-11 01:28:09.621 16749-16749/? D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:28:09.621 16749-16749/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = SH, dir = OUTPUT
01-11 01:28:09.621 16749-16749/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: OFF with frames = 0
                                                 
                                                 [ 01-11 01:28:09.622   705:  705 D/         ]
                                                 PlayerBase::PlayerBase()
01-11 01:28:09.622 479-479/? E/SELinux: avc:  denied  { find } for service=audio pid=705 uid=1041 scontext=u:r:audioserver:s0 tcontext=u:object_r:audio_service:s0 tclass=service_manager permissive=0
                                        
                                        
                                        [ 01-11 01:28:09.622   705:  705 E/         ]
                                        PlayerBase(): binding to audio service failed, service up?
01-11 01:28:09.622 705-705/? D/AudioStreamInternal_Service: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:28:09.622 705-705/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 01:28:09.622 705-705/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 10, callback: OFF with frames = 0
01-11 01:28:09.622 705-705/? E/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(),created MMAP 0xeb28b0c0
01-11 01:28:09.623 705-705/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 2, SamplingRate 48000, Format 0x000001, Channels 3, flags 4001
01-11 01:28:09.625 705-16791/? I/AudioFlinger: AudioFlinger's thread 0xeaf27000 tid=16791 ready to run
01-11 01:28:09.626 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() mMapClient.uid = 1041, pid = 705 => portHandle = 66
01-11 01:28:09.633 705-705/? D/AAudioServiceEndpointMMAP: createMmapBuffer status = 0, buffer_size = 1536, burst_size 48, Sharable FD: Yes
01-11 01:28:09.633 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() original burst = 48, minMicros = 2000, to burst = 96
01-11 01:28:09.633 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() actual rate = 48000, channels = 2, deviceId = 2, capacity = 1536
01-11 01:28:09.633 705-705/? D/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(), created 0xeb28b0c0 for device = 0
01-11 01:28:09.633 705-705/? D/AAudioService: AAudioService::openStream(): handle = 0x00000021
01-11 01:28:09.634 705-705/? D/AudioStreamInternal_Service: setBufferSize() req = 192 => 192
01-11 01:28:09.634 705-705/? D/AAudioEndpointManager: AAudioEndpointManager.openSharedEndpoint(), created 0xe977d200 for device = 0, dir = 0
01-11 01:28:09.634 705-705/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::calculateBufferCapacity() requested 0 frames, actual = 1536
01-11 01:28:09.634 705-705/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::open() actual rate = 48000, channels = 2, deviceId = 2
01-11 01:28:09.634 705-705/? D/AAudioService: AAudioService::openStream(): handle = 0x00000022
01-11 01:28:09.635 16749-16749/? D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b3861200) ----------------
01-11 01:28:09.636 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 01:28:09.636 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 01:28:09.636 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 01:28:09.636 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() capacity      = 1536
01-11 01:28:09.636 16749-16749/? D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b3861200
01-11 01:28:09.636 16749-16749/? D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 01:28:09.636 16749-16749/? D/AAudio: AAudioStream_close(0x76b3861200)
01-11 01:28:09.636 16749-16749/? D/AudioStreamInternal_Client: close(): mServiceStreamHandle = 0x00000022
01-11 01:28:09.636 705-935/? D/AAudioService: AAudioService.closeStream(0x00000022)
01-11 01:28:09.636 705-935/? D/AudioStreamInternal_Service: close(): mServiceStreamHandle = 0x00000021
01-11 01:28:09.636 705-935/? D/AAudioService: AAudioService.closeStream(0x00000021)
01-11 01:28:09.636 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::close() clear() endpoint
01-11 01:28:09.637 653-7709/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: closing=true
01-11 01:28:09.638 653-916/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:28:09.638 705-16791/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 1.000000
01-11 01:28:09.638 705-921/? D/AudioFlinger: closing mmapThread 0xeaf27000
01-11 01:28:09.639 705-921/? D/AudioFlinger: mmapThread exit()
01-11 01:28:09.737 705-935/? D/AAudioEndpointManager: AAudioEndpointManager::closeExclusiveEndpoint() 0xeb28b0c0 for device 2
01-11 01:28:09.737 705-935/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xeb28b0c0
01-11 01:28:09.737 705-935/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb28f0e0
01-11 01:28:09.738 705-935/? D/AAudioEndpointManager: AAudioEndpointManager::closeSharedEndpoint() 0xe977d200 for device 2
01-11 01:28:09.738 705-935/? D/AAudioStream: destroying 0xe977d280, state = AAUDIO_STREAM_STATE_CLOSED
                                             
                                             [ 01-11 01:28:09.738   705:  935 D/         ]
                                             PlayerBase::~PlayerBase()
01-11 01:28:09.739 705-935/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xe977d200
01-11 01:28:09.739 705-935/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb2e7840
01-11 01:28:09.741 16749-16749/? D/AAudioStream: destroying 0x76b3861200, state = AAUDIO_STREAM_STATE_CLOSED
01-11 01:28:09.746 16749-16749/? D/OboeAudio: AudioStreamBuilder.build(): mAudioApi 0, mChannelCount = 2, mFramesPerCallback = 0
01-11 01:28:09.746 16749-16749/? D/OboeAudio: AudioStreamAAudio() call isSupported()
01-11 01:28:09.746 16749-16749/? D/OboeAudio: AudioStreamAAudio():  AAudio_createStreamBuilder()
01-11 01:28:09.746 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() try with deviceId = 0
01-11 01:28:09.746 16749-16749/? D/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------
01-11 01:28:09.746 16749-16749/? D/AAudio: AudioStreamBuilder(): mmapPolicy = 2, mapExclusivePolicy = 2
                                           
                                           [ 01-11 01:28:09.746 16749:16749 D/         ]
                                           PlayerBase::PlayerBase()
01-11 01:28:09.747 16749-16749/? D/AudioStreamInternal_Client: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:28:09.748 16749-16749/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = SH, dir = OUTPUT
01-11 01:28:09.748 16749-16749/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 12, callback: ON with frames = 0
                                                 
                                                 [ 01-11 01:28:09.749   705:  935 D/         ]
                                                 PlayerBase::PlayerBase()
01-11 01:28:09.750 479-479/? E/SELinux: avc:  denied  { find } for service=audio pid=705 uid=1041 scontext=u:r:audioserver:s0 tcontext=u:object_r:audio_service:s0 tclass=service_manager permissive=0
                                        
                                        
                                        [ 01-11 01:28:09.750   705:  935 E/         ]
                                        PlayerBase(): binding to audio service failed, service up?
01-11 01:28:09.751 705-935/? D/AudioStreamInternal_Service: AudioStreamInternal(): mWakeupDelayNanos = 200000, mMinimumSleepNanos = 200000
01-11 01:28:09.751 705-935/? I/AAudioStream: AudioStream::open() rate = 48000, channels = 2, format = 2, sharing = EX, dir = OUTPUT
01-11 01:28:09.751 705-935/? I/AAudioStream: AudioStream::open() device = 0, perfMode = 10, callback: OFF with frames = 0
01-11 01:28:09.752 705-935/? E/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(),created MMAP 0xeb28b0c0
01-11 01:28:09.752 705-935/? I/AudioFlinger: openOutput() this 0xeb6bd000, module 10 Device 2, SamplingRate 48000, Format 0x000001, Channels 3, flags 4001
01-11 01:28:09.759 705-16792/? I/AudioFlinger: AudioFlinger's thread 0xeb2c1000 tid=16792 ready to run
01-11 01:28:09.759 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() mMapClient.uid = 1041, pid = 705 => portHandle = 68
01-11 01:28:09.775 705-935/? D/AAudioServiceEndpointMMAP: createMmapBuffer status = 0, buffer_size = 1536, burst_size 48, Sharable FD: Yes
01-11 01:28:09.775 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() original burst = 48, minMicros = 2000, to burst = 96
01-11 01:28:09.775 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::open() actual rate = 48000, channels = 2, deviceId = 2, capacity = 1536
01-11 01:28:09.775 705-935/? D/AAudioEndpointManager: AAudioEndpointManager.openEndpoint(), created 0xeb28b0c0 for device = 0
01-11 01:28:09.775 705-935/? D/AAudioService: AAudioService::openStream(): handle = 0x00000023
01-11 01:28:09.776 705-935/? D/AudioStreamInternal_Service: setBufferSize() req = 192 => 192
01-11 01:28:09.776 705-935/? D/AAudioEndpointManager: AAudioEndpointManager.openSharedEndpoint(), created 0xe977d200 for device = 0, dir = 0
01-11 01:28:09.776 705-935/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::calculateBufferCapacity() requested 0 frames, actual = 1536
01-11 01:28:09.777 705-935/? D/AAudioServiceStreamShared: AAudioServiceStreamShared::open() actual rate = 48000, channels = 2, deviceId = 2
01-11 01:28:09.777 705-935/? D/AAudioService: AAudioService::openStream(): handle = 0x00000024
01-11 01:28:09.779 16749-16749/? D/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for (0x76b3861200) ----------------
01-11 01:28:09.783 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() app    format = 2
01-11 01:28:09.783 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() native format = 2
01-11 01:28:09.783 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() sample rate   = 48000
01-11 01:28:09.783 16749-16749/? D/OboeAudio: AudioStreamAAudio.open() capacity      = 1536
01-11 01:28:09.784 16749-16749/? D/OboeAudio: AudioStreamAAudio.open: AAudioStream_Open() returned AAUDIO_OK, mAAudioStream = 0x76b3861200
01-11 01:28:09.784 16749-16749/? D/AudioStreamInternal_Client: setBufferSize() req = 768 => 768
01-11 01:28:09.784 16749-16749/? D/AAudio: AAudioStream_requestStart(0x76b3861200) called --------------
                                           
                                           [ 01-11 01:28:09.784 16749:16749 D/         ]
                                           PlayerBase::start() from IPlayer
01-11 01:28:09.784 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb28b118(uid=1041, pid=705))
01-11 01:28:09.789 653-7709/? I/ACDB-LOADER: ACDB AFE returned = -19
01-11 01:28:09.789 653-7709/? D/hardware_info: hw_info_append_hw_type : device_name = speaker
01-11 01:28:09.789 653-7709/? D/audio_hw_primary: enable_snd_device: snd_device(2: speaker)
01-11 01:28:09.789 653-7709/? D/audio_route: Apply path: speaker
01-11 01:28:09.789 653-7709/? D/audio_hw_primary: enable_audio_route: usecase(6) apply and update mixer path: mmap-playback speaker
01-11 01:28:09.789 653-7709/? D/audio_route: Apply path: mmap-playback speaker
01-11 01:28:09.792 4311-4312/? E/ANDR-PERF-OPTSHANDLER: Warning: Resource [2, 0] not supported for core 1. Instead use resource for core 0
01-11 01:28:09.792 4311-4312/? E/ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
01-11 01:28:09.807 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 68 => 68 returns 0
01-11 01:28:09.807 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient(0xeb2e788c(uid=10122, pid=16749))
01-11 01:28:09.808 705-16793/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() entering ----------------
01-11 01:28:09.809 705-16794/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 01:28:09.809 705-16794/? D/AAudioService: processDataNow() wait for valid timestamps
01-11 01:28:09.810 653-7709/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:28:09.810 705-16792/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 1.000000
01-11 01:28:09.811 653-7709/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:28:09.811 705-16794/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 1.000000
01-11 01:28:09.811 705-16794/? D/AAudioService: processDataNow() wait for valid timestamps
01-11 01:28:09.811 653-7709/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:28:09.812 653-7709/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=2
01-11 01:28:09.813 705-16794/? D/AAudioService: advanceClientToMatchServerPosition() readN = 288, writeN = 0, offset = -288
01-11 01:28:09.815 653-7709/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:28:09.816 653-7709/? W/StreamHAL: Error from HAL stream in function set_volume: Function not implemented
01-11 01:28:09.816 705-16792/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::onVolumeChanged() volume[0] = 0.019953
01-11 01:28:09.816 705-16794/? D/AudioStreamInternal_Service: AudioStreamInternal::onEventFromServer() AAUDIO_SERVICE_EVENT_VOLUME 0.019953
01-11 01:28:09.818 705-935/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::startClient() , 0 => 70 returns 0
01-11 01:28:09.819 705-16795/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() entering ----------------
01-11 01:28:09.819 16749-16749/? D/AAudio: AAudioStream_requestStart(0x76b3861200) returned 0 ---------
01-11 01:28:09.820 965-8519/? V/MediaRouterService: restoreBluetoothA2dp(false)
01-11 01:28:09.821 3690-4206/? D/Avrcp: AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10009/3728 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
01-11 01:28:09.822 3690-4206/? D/Avrcp: AudioManager Player: ID:263 -- type:AAudio -- u/pid:10122/16749 -- state:started -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
01-11 01:28:09.822 3690-4206/? D/Avrcp: AudioManager isPlaying: true
01-11 01:28:09.828 16749-16796/? D/AudioStreamInternal_Client: AudioStreamInternal::onEventFromServer() got AAUDIO_SERVICE_EVENT_STARTED
01-11 01:28:09.828 16749-16796/? D/AAudio: advanceClientToMatchServerPosition() readN = 384, writeN = 0, offset = -384
01-11 01:28:09.842 16749-16797/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 16797 (Thread-11), pid 16749 (om.roli.equator)
01-11 01:28:09.910 16808-16808/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
01-11 01:28:09.911 735-735/? I//system/bin/tombstoned: received crash request for pid 16749
01-11 01:28:09.913 16808-16808/? I/crash_dump64: performing dump of process 16749 (target tid = 16797)
01-11 01:28:09.913 16808-16808/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-11 01:28:09.913 16808-16808/? A/DEBUG: Build fingerprint: 'google/sailfish/sailfish:8.1.0/OPM1.171019.012/4470837:user/release-keys'
01-11 01:28:09.913 16808-16808/? A/DEBUG: Revision: '0'
01-11 01:28:09.913 16808-16808/? A/DEBUG: ABI: 'arm64'
01-11 01:28:09.913 16808-16808/? A/DEBUG: pid: 16749, tid: 16797, name: Thread-11  >>> com.roli.equator <<<
01-11 01:28:09.913 16808-16808/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
01-11 01:28:09.913 16808-16808/? A/DEBUG: Cause: null pointer dereference
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x0   00000076b03c3fa0  x1   0000000000000000  x2   0000000000000005  x3   0000000000000031
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x4   0000000000000005  x5   8080808080808000  x6   fefefefefefeff30  x7   7f7f7f7f7f7f7f7f
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x8   0000000000000000  x9   0000000000000000  x10  00000076b36d7160  x11  0000000000000000
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x12  0000000000000001  x13  0000000000000001  x14  0000000000000004  x15  0000000000000054
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x16  00000076b336a6e0  x17  000000774b9ffbdc  x18  00000076c9f0b070  x19  00000076b38c4b00
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x20  00000076af90c4f0  x21  00000076af90c588  x22  00000076c1c0d750  x23  000000000000416d
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x24  00000076b19a8c4c  x25  00000076af810000  x26  000000774ed5da40  x27  0000000000000002
01-11 01:28:09.914 16808-16808/? A/DEBUG:     x28  000000774ed5da40  x29  00000076af90c450  x30  00000076b1982384
01-11 01:28:09.914 16808-16808/? A/DEBUG:     sp   00000076af90c390  pc   00000076b1982450  pstate 0000000020000000
01-11 01:28:09.918 16808-16808/? A/DEBUG: backtrace:
01-11 01:28:09.918 16808-16808/? A/DEBUG:     #00 pc 0000000000ef7450  /data/app/com.roli.equator-n05ZFcxJLrPuCwevvj87kQ==/lib/arm64/libjuce_jni.so (juce::Thread::threadEntryPoint()+284)
01-11 01:28:09.918 16808-16808/? A/DEBUG:     #01 pc 0000000000f1dcd8  /data/app/com.roli.equator-n05ZFcxJLrPuCwevvj87kQ==/lib/arm64/libjuce_jni.so (threadEntryProc+140)
01-11 01:28:09.918 16808-16808/? A/DEBUG:     #02 pc 0000000000069c94  /system/lib64/libc.so (__pthread_start(void*)+36)
01-11 01:28:09.918 16808-16808/? A/DEBUG:     #03 pc 000000000001eeec  /system/lib64/libc.so (__start_thread+68)
01-11 01:28:10.907 705-16795/? E/AAudioServiceStreamBase: writeUpMessageQueue(): Queue full. Did client die?
01-11 01:28:10.907 705-16795/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() exiting ----------------
01-11 01:28:10.939 735-735/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_03
01-11 01:28:10.942 965-16809/? W/ActivityManager:   Force finishing activity com.roli.equator/.Equator
01-11 01:28:10.945 965-1039/? I/BootReceiver: Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
01-11 01:28:10.964 705-705/? W/AAudioService: AAudioClientTracker::binderDied() close abandoned stream 0x00000024
01-11 01:28:10.964 705-705/? D/AAudioService: AAudioService.closeStream(0x00000024)
01-11 01:28:10.964 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(70) returns 0
01-11 01:28:10.964 965-976/? D/MidiService: Client died: Client: UID: 10122 PID: 16749 listener count: 1 Device Connections:
01-11 01:28:10.966 653-7709/? E/volume_listener: check_and_set_gain_dep_cal: Failed to set gain dep cal level
01-11 01:28:10.966 965-3554/? W/InputDispatcher: channel '95b99eb com.roli.equator/com.roli.equator.Equator (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
01-11 01:28:10.966 965-3554/? E/InputDispatcher: channel '95b99eb com.roli.equator/com.roli.equator.Equator (server)' ~ Channel is unrecoverably broken and will be disposed!
01-11 01:28:10.966 965-5903/? I/WindowManager: WIN DEATH: Window{95b99eb u0 com.roli.equator/com.roli.equator.Equator}
01-11 01:28:10.967 965-5903/? W/InputDispatcher: Attempted to unregister already unregistered input channel '95b99eb com.roli.equator/com.roli.equator.Equator (server)'
01-11 01:28:10.969 685-685/? E/lowmemorykiller: Error writing /proc/16749/oom_score_adj; errno=22
01-11 01:28:10.971 705-16793/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::run() exiting ----------------
01-11 01:28:10.973 653-916/? D/audio_hw_primary: disable_audio_route: usecase(6) reset and update mixer path: mmap-playback speaker
01-11 01:28:10.977 965-3750/? I/ActivityManager: Process com.roli.equator (pid 16749) has died: cch  SVC 
01-11 01:28:10.977 965-3750/? W/ActivityManager: Scheduling restart of crashed service com.roli.equator/com.google.firebase.iid.FirebaseInstanceIdService in 6926ms
01-11 01:28:10.977 965-1033/? W/zygote64: kill(-16749, 9) failed: No such process
01-11 01:28:10.980 965-1044/? W/ActivityManager: setHasOverlayUi called on unknown pid: 16749
01-11 01:28:10.988 644-644/? I/Zygote: Process 16749 exited due to signal (11)
01-11 01:28:11.019 965-1033/? W/zygote64: kill(-16749, 9) failed: No such process
01-11 01:28:11.019 965-1033/? I/zygote64: Successfully killed process cgroup uid 10122 pid 16749 in 41ms
01-11 01:28:11.028 653-916/? D/hardware_info: hw_info_append_hw_type : device_name = speaker
01-11 01:28:11.028 653-916/? D/audio_hw_primary: disable_snd_device: snd_device(2: speaker)
01-11 01:28:11.028 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::stopClient(68) returns 0
01-11 01:28:11.028 705-705/? D/AudioStreamInternal_Service: close(): mServiceStreamHandle = 0x00000023
01-11 01:28:11.028 705-705/? D/AAudioService: AAudioService.closeStream(0x00000023)
01-11 01:28:11.028 705-705/? D/AAudioServiceEndpointMMAP: AAudioServiceEndpointMMAP::close() clear() endpoint
01-11 01:28:11.029 653-916/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: routing=0
01-11 01:28:11.029 653-916/? D/audio_hw_primary: out_set_parameters: enter: usecase(6: mmap-playback) kvpairs: closing=true
01-11 01:28:11.029 705-921/? D/AudioFlinger: closing mmapThread 0xeb2c1000
01-11 01:28:11.029 705-921/? D/AudioFlinger: mmapThread exit()
01-11 01:28:11.129 705-705/? D/AAudioEndpointManager: AAudioEndpointManager::closeExclusiveEndpoint() 0xeb28b0c0 for device 2
01-11 01:28:11.129 705-705/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xeb28b0c0
01-11 01:28:11.129 705-705/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb28f0e0
01-11 01:28:11.129 705-705/? D/AAudioEndpointManager: AAudioEndpointManager::closeSharedEndpoint() 0xe977d200 for device 2
01-11 01:28:11.129 705-705/? D/AAudioStream: destroying 0xe977d280, state = AAUDIO_STREAM_STATE_CLOSED
                                             
                                             [ 01-11 01:28:11.129   705:  705 D/         ]
                                             PlayerBase::~PlayerBase()
01-11 01:28:11.129 705-705/? D/AAudioServiceEndpoint: AAudioServiceEndpoint::~AAudioServiceEndpoint() destroying endpoint 0xe977d200
01-11 01:28:11.129 705-705/? D/AAudioServiceStreamBase: AAudioServiceStreamBase::~AAudioServiceStreamBase() destroying 0xeb2e7840
01-11 01:28:12.286 10764-10764/? I/WearableService: Wearable Services stopping

As you can see, a place of a crash can be quite different. On Android 8.0 I would get a crash when processing error stream disconnected callback, running on 8.1 introduced all these fairly random crashes. I tried all sailfish 8.1 images:

8.1.0 (OPM1.171019.011, Dec 2017)
8.1.0 (OPM1.171019.012, Jan 2018)
8.1.0 (OPM1.171019.014, Jan 2018, O2/UK only)

with same results.

Crashes on many Android 8.0 devices

I recently tried Oboe in my app for sound output for Android 8.0+ (only). I had to halt rollout because probably the majority of devices with Android 8.0 (none with 8.1) have repeating crashes probably making app unusable. I can't reproduce on API 26 or 27 emulator or a Nexus 5X which I upgraded and tested on both 8.0 and 8.1. When I removed Oboe for 8.0 in new release crashes went away.

The most common crashes not directly implicate Oboe, but lesser crashes on same devices do. Perhaps relevant information is I am building Oboe with old Android.mk system and with APP_PLATFORM = android-14 (though I think it is using 21 for Arm64 anyway automatically). Clang and c++_shared. NDK latest version in SDK manager. 16.1.4479499

Thinking about buying one of these devices and trying to get more information.

1
2
3
4
5
6
7
8

setDeviceId does not change anything

Hello! Thanks a lot for this project. I tried it for streaming input and output, and it works great. But I wanted to change mic source for input stream by setDeviceId(int sourceFromAudioManager) and it did not work, no effect for different values. Ids were given from AudioManager.java (api 23). For my app this behavior is very clitical. Are there any suggestions ?
P.S. Sory for my english :)

Build instructions need improvement

We are asking the user to write their own cmake directives to build Oboe (or rather copy pasting the guide example). This mean we are not controlling the way Oboe is build. I would rather propose to change the Oboe CMakefile.txt and have client include it.
Such as (note that I am using more recent (and powerful) cmake api than what the current CMakeList.txt):

# CMakeLists.txt at the root of Oboe

# Note for Phil&Don: GLOB usage is discouraged as
#       if new source files are added, they will NOT be compiled
#       (GLOB is extended on cmake call, not make)
file (GLOB_RECURSE OBOE_SOURCES src/*.cpp) # note that .h should not be included
add_library(oboe STATIC ${OBOE_SOURCES})

# I would recommend to do:
# add_library(oboe STATIC src/fifo/FifoControllerBase.cpp
#                         src/fifo/FifoController.cpp
#                         src/fifo/FifoBuffer.cpp
#                         src/fifo/FifoControllerIndirect.cpp
#                         src/aaudio/OboeStreamAAudio.cpp
#                         src/aaudio/AAudioLoader.cpp
#                         src/common/OboeStream.cpp
#                         src/common/OboeStreamBuilder.cpp
#                         src/common/OboeUtilities.cpp
#                         src/common/OboeLatencyTuner.cpp
#                         src/opensles/OpenSLESUtilities.cpp
#                         src/opensles/OboeStreamOpenSLES.cpp
#                         src/opensles/OboeStreamBuffered.cpp
# )


# Mark the oboes headers as system for the client,
# that way if the client has a different set of warning he should not see failures
target_include_directories(oboe PRIVATE src include)
target_include_directories(oboe SYSTEM INTERFACE include)

target_compile_options(oboe PRIVATE -std=c++11 # Change to PUBLIC if using c++11 in public headers
                            PRIVATE -Wall -Wextra
                            PRIVATE "$<$<CONFIG:DEBUG>:-Werror>")
#                                   ^ Example: Only a debug build will fail from warnings

target_link_libraries(oboe PRIVATE log OpenSLES)


# Client just have to do:
# add_subdirectory(path/to/oboe)
# target_link_libraries(native-lib PRIVATE oboe)

# NOTE: it might be better to use cmake "ExternalProject" command

Thanks to krocard

Question about getState() after stream closed

Both guides, AAudio and Oboe, say after the stream is closed I cannot call its methods.
With AAudio that's what I've experienced. But with Oboe, though I cannot start or stop the stream, (I can call requestStart() or requestStop() without crash,) I can still get informations by calling methods like getState().

So, was I just lucky, things still somewhere in the memory though that wouldn't have to be the case, or is there still something left that is reliable and can be used if needed?
If there is something left, would I have too free that memory at some point (if so how, delete seems strange without having used new) or can I assume it is cleared automatically at some point?
(Needless to say I'm not too experienced in programming)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.