igorski / MWEngine

Audio engine and DSP library for Android, written in C++ providing low latency performance within a musical context, while providing a Java/Kotlin API. Supports both OpenSL and AAudio.
MIT License
257 stars 45 forks source link

While recording audio using setRecordFromDeviceInputState output audio get streched #153

Closed YogarajRamesh closed 2 years ago

YogarajRamesh commented 2 years ago

I am building voice recording app. While recording live feedback and event(music background) things are fine. But I need only a recorded audio(with out music) in order to add more effects. To do that I use “_engine.setRecordFromDeviceInputState(‘Target location’,15000);” by doing this I am able to save the .wav file of recording with out music.

while calling the “_engine.setRecordFromDeviceInputState(‘Target location’,15000);” it automatically creates 3 empty snippets in disk for the First time then starting few seconds of the audio get stretched then after few seconds the audio get normal.

Second time those 3 empty snippets are not created automatically and audio output is fine. i want know why those 3 snippets are created and how to avoid audio stretching issue

I attached the sample output file. Please take a look and help us to fix the problem.

https://mega.nz/folder/IUszRKLA#LN0iKgLryr2GRF-CA-jH1w

@igorski @teotigraphix @robtize

igorski commented 2 years ago

That is very interesting.

What it sounds like is that the first part of your snippet was recorded at a higher sample rate than the last part / the final output (as playing back a sample recorded at for instance 88.2 kHz would sound twice as slow and an octave lower in pitch when played back in 44.1 kHz).

But that shouldn't really happen 🙈 unless the sample rate of the engine is changed at runtime.

Can you provide a code snippet of your basic application outline, with that I mean setup of engine, the point at which recording is activated, how you write the snippets and how that differs from the initial and second time. As it is, its hard to find what the bug is but it seems like there are conflicting actions happening related to the engine setup.

Out of interest, if you record audio from the device input using the MWEngineActivity.java in the MWEngine repository, does it show the same behaviour ?

YogarajRamesh commented 2 years ago

Thanks for your response @igorski

private class RecordOutputHandler implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        _isRecording = !_isRecording;
        if (!_isRecording) {
            drumEvent.stop();
        } else {
            createDrumEvent("mahi", 14);
        }
        _engine.setRecordFromDeviceInputState(
            _isRecording, Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/test/mwengine_output1.wav",
            15000
        );
        ((Button) v).setText(_isRecording ? R.string.rec_btn_off : R.string.rec_btn_on);
    }
}

private void createDrumEvent(String sampleName, int position) {
    drumEvent = new SampleEvent(_sampler);
    drumEvent.setSample(SampleManager.getSample(sampleName));
    drumEvent.play();
}

This is how I trigger the recording. Use the code exactly how it is from repository to write to disk. This voice drag happen only for the First time of App open.. it works normally after first time. Below are the both output files.

https://mega.nz/folder/IUszRKLA#LN0iKgLryr2GRF-CA-jH1w

Waiting for your response and thanks for your time

igorski commented 2 years ago

Hm, so just to confirm : the last sample was created using the example activity ?

Interesting.

Is the result the same if you use the OpenSL driver instead of the AAudio driver ? Does this happen for all devices you use ? Can you supply the logcat output of V/MWENGINE that is written from the moment you start the app and write the recording ?

YogarajRamesh commented 2 years ago

Not only last both the first and second sample was created using example activity.

The results are same same for both OpenSL and AAudio drive.

Yes, we tested in three android device all the outputs have same behavior

YogarajRamesh commented 2 years ago

Log cat form app start till start recording

04/08 22:31:44: Launching 'mwengine_example' on Xiaomi M2010J19CI.

Install successfully finished in 7 s 465 ms.

$ adb shell am start -n "nl.igorski.mwengine.example/nl.igorski.mwengine.example.MWEngineActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

Connected to process 17621 on device 'xiaomi-m2010j19ci-acfb22590121'.

Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.

I/wengine.exampl: Late-enabling -Xcheck:jni

I/wengine.exampl: Unquickening 20 vdex files!

I/Perf: Connecting to perf service.

D/NetworkSecurityConfig: No Network Security Config specified, using platform default

D/NetworkSecurityConfig: No Network Security Config specified, using platform default

D/DecorView[]: getWindowModeFromSystem  windowmode is 1

D/DecorView: createDecorCaptionView windowingMode:1 mWindowMode 1 isFullscreen: true

W/wengine.exampl: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)

W/wengine.exampl: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)

W/Activity: Slow Operation: Activity nl.igorski.mwengine.example/.MWEngineActivity onCreate took 545ms

W/Looper: PerfMonitor looperActivity : package=nl.igorski.mwengine.example/.MWEngineActivity time=0ms latency=969ms running=0ms  procState=2 ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] } historyMsgCount=4 (msgIndex=3 wall=235ms seq=3 late=15ms h=android.app.ActivityThread$H w=110) (msgIndex=4 wall=725ms seq=4 late=244ms h=android.app.ActivityThread$H w=159)

I/AdrenoGLES-0: QUALCOMM build                   : 436a040394, Ie3251bda9d

    Build Date                       : 10/14/20

    OpenGL ES Shader Compiler Version: EV031.32.02.06

    Local Branch                     : 

    Remote Branch                    : 

    Remote Branch                    : 

    Reconstruct Branch               : 

I/AdrenoGLES-0: Build Config                     : S P 10.0.7 AArch64

I/AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so

I/AdrenoGLES-0: PFP: 0x016ee190, ME: 0x00000000

E/LB: fail to open file: No such file or directory

W/Looper: PerfMonitor doFrame : time=305ms vsyncFrame=298749 latency=4ms procState=2 historyMsgCount=2

W/Looper: PerfMonitor doFrame : time=7ms vsyncFrame=298750 latency=337ms procState=2 historyMsgCount=21 (msgIndex=1 wall=305ms seq=21 late=4ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver)

D/MWENGINE: MWEngineActivity::init, had existing _inited state: false

W/wengine.example: type=1400 audit(0.0:1050487): avc: denied { read } for name="cpus" dev="cgroup" ino=27 scontext=u:r:untrusted_app:s0:c60,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=nl.igorski.mwengine.example

E/libc: Access denied finding property "ro.vendor.df.effect.conflict"

E/libc: Access denied finding property "ro.vendor.knock.type"

W/wengine.example: type=1400 audit(0.0:1050488): avc: denied { read } for name="cpus" dev="cgroup" ino=45 scontext=u:r:untrusted_app:s0:c60,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=nl.igorski.mwengine.example

V/MWENGINE: About to parse data for WAV file '/data/user/0/nl.igorski.mwengine.example/cache/tmp'

V/MWENGINE: File size        : 45092

V/MWENGINE: Audio format     : 1

V/MWENGINE: Channel amount   : 2

V/MWENGINE: Sample rate      : 44100

V/MWENGINE: Bytes per second : 176400

V/MWENGINE: Block align      : 4

V/MWENGINE: Bits per sample  : 16

V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16

V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 45056 * 8

V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 22528

V/MWENGINE: WaveReader::MS CheckamountOfSamples => 22528 buffer size =>11264 

W/wengine.example: type=1400 audit(0.0:1050491): avc: denied { read } for name="cpus" dev="cgroup" ino=99 scontext=u:r:untrusted_app:s0:c60,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=nl.igorski.mwengine.example

W/wengine.example: type=1400 audit(0.0:1050492): avc: denied { read } for name="cpus" dev="cgroup" ino=27 scontext=u:r:untrusted_app:s0:c60,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=nl.igorski.mwengine.example

V/MWENGINE: About to parse data for WAV file '/data/user/0/nl.igorski.mwengine.example/cache/tmp'

V/MWENGINE: File size        : 92582

V/MWENGINE: Audio format     : 1

V/MWENGINE: Channel amount   : 1

V/MWENGINE: Sample rate      : 48000

V/MWENGINE: Bytes per second : 96000

V/MWENGINE: Block align      : 2

V/MWENGINE: Bits per sample  : 16

V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16

V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 92546 * 8

V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 46273

V/MWENGINE: WaveReader::MS CheckamountOfSamples => 46273 buffer size =>46273 

V/MWENGINE: About to parse data for WAV file '/data/user/0/nl.igorski.mwengine.example/cache/tmp'

V/MWENGINE: File size        : 51724870

V/MWENGINE: Audio format     : 1

V/MWENGINE: Channel amount   : 2

V/MWENGINE: Sample rate      : 44100

V/MWENGINE: Bytes per second : 176400

V/MWENGINE: Block align      : 4

V/MWENGINE: Bits per sample  : 16

V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16

V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 51724800 * 8

V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 25862400

V/MWENGINE: WaveReader::MS CheckamountOfSamples => 25862400 buffer size =>12931200 

D/MWENGINE: starting native audio rendering thread @ 48000 Hz using 144 samples per buffer

V/MWENGINE: STARTING engine

V/MWENGINE: STARTED engine

V/MWENGINE: DriverAdapter::initializing AAudio driver

I/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------

I/AudioStreamBuilder: rate   =      0, channels  = 2, format   = 5, sharing = EX, dir = OUTPUT

I/AudioStreamBuilder: device =      0, sessionId = -1, perfMode = 12, callback: ON with frames = 0

I/AudioStreamBuilder: usage  =      0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0

I/AudioStreamBuilder: privacy sensitive = false

D/wengine.exampl: PlayerBase::PlayerBase()

W/Activity: Can request only one set of permissions at a time

W/Activity: Slow Operation: Activity nl.igorski.mwengine.example/.MWEngineActivity onActivityResult took 3061ms

D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96

D/AAudioStream: setState(s#1) from 0 to 2

I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#1 ----------------

V/MWENGINE: AAudio_IO::Setting buffer size to 96

I/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------

I/AudioStreamBuilder: rate   =  48000, channels  = 1, format   = 5, sharing = EX, dir = INPUT

I/AudioStreamBuilder: device =      0, sessionId = -1, perfMode = 12, callback: OFF with frames = 0

I/AudioStreamBuilder: usage  =      0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0

I/AudioStreamBuilder: privacy sensitive = false

D/wengine.exampl: PlayerBase::PlayerBase()

W/Looper: PerfMonitor longMsg : seq=96 plan=22:31:53.864 late=0ms wall=3066ms running=0ms h=android.app.ActivityThread$H w=159 procState=2

I/Choreographer: Skipped 182 frames!  The application may be doing too much work on its main thread.

D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96

D/AAudioStream: setState(s#2) from 0 to 2

I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#2 ----------------

D/AAudio: AAudioStream_requestStart(s#2) called --------------

D/AAudioStream: setState(s#2) from 2 to 3

W/Looper: PerfMonitor doFrame : time=12ms vsyncFrame=298811 latency=3037ms procState=2 historyMsgCount=2 (msgIndex=1 wall=3066ms seq=96 h=android.app.ActivityThread$H w=159)

D/MWENGINE: MWEngineActivity::onWindowFocusChanged, has focus: true

D/MWENGINE: MWEngineActivity::onWindowFocusChanged, has focus: false

V/MWENGINE: STOPPING engine

D/wengine.exampl: PlayerBase::start() from IPlayer

D/AAudio: AAudioStream_requestStart(s#2) returned 0 ---------

D/AAudio: AAudioStream_requestStart(s#1) called --------------

D/AAudioStream: setState(s#1) from 2 to 3

D/wengine.exampl: PlayerBase::start() from IPlayer

D/AAudio: AAudioStream_requestStart(s#1) returned 0 ---------

V/MWENGINE: STOPPED engine

D/AAudio: AAudioStream_requestStop(s#1) called

D/AudioStreamInternalPlay_Client: callbackLoop() entering >>>>>>>>>>>>>>>

D/AudioStreamInternalPlay_Client: callbackLoop() exiting, result = 0, isActive() = 1 <<<<<<<<<<<<<<

D/IsochronousClockModel: stop(nanos = 112979207681117) max lateness = 0 micros

D/AAudioStream: setState(s#1) from 3 to 9

D/wengine.exampl: PlayerBase::stop() from IPlayer

D/AAudio: AAudioStream_close(s#1) called ---------------

D/AAudioStream: setState(s#1) from 9 to 11

D/AAudioStream: setState(s#1) from 11 to 11

E/AAudioStream: setState(1) tried to set to 11 but already CLOSING

D/AAudioStream: setState(s#1) from 11 to 12

D/AAudio: AAudioStream_close(s#1) returned 0 ---------

D/AAudio: AAudioStream_requestStop(s#2) called

D/IsochronousClockModel: stop(nanos = 112979377495701) max lateness = 0 micros

D/AAudioStream: setState(s#2) from 3 to 9

D/wengine.exampl: PlayerBase::stop() from IPlayer

D/AAudio: AAudioStream_close(s#2) called ---------------

D/AAudioStream: setState(s#2) from 9 to 11

D/AAudioStream: setState(s#2) from 11 to 11

E/AAudioStream: setState(2) tried to set to 11 but already CLOSING

D/AAudioStream: setState(s#2) from 11 to 12

D/wengine.exampl: PlayerBase::~PlayerBase()

D/AAudio: AAudioStream_close(s#2) returned 0 ---------

V/MWENGINE: Destroyed audio driver

W/Looper: PerfMonitor looperActivity : package=nl.igorski.mwengine.example/.MWEngineActivity time=1ms latency=323ms running=0ms  procState=2 ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] } historyMsgCount=3 (msgIndex=1 wall=419ms seq=111 h=android.view.ViewRootImpl$ViewRootHandler w=6)

D/MWENGINE: MWEngineActivity::init, had existing _inited state: true

W/Looper: PerfMonitor looperActivity : package=nl.igorski.mwengine.example/.MWEngineActivity time=4ms latency=311ms running=0ms  procState=2 ClientTransaction{ callbacks=[android.app.servertransaction.ActivityResultItem] lifecycleRequest=android.app.servertransaction.ResumeActivityItem } historyMsgCount=4 (msgIndex=1 wall=419ms seq=111 h=android.view.ViewRootImpl$ViewRootHandler w=6)

D/MWENGINE: MWEngineActivity::onWindowFocusChanged, has focus: true

D/MWENGINE: starting native audio rendering thread @ 48000 Hz using 144 samples per buffer

V/MWENGINE: STARTING engine

V/MWENGINE: STARTED engine

V/MWENGINE: DriverAdapter::initializing AAudio driver

I/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------

I/AudioStreamBuilder: rate   =      0, channels  = 2, format   = 5, sharing = EX, dir = OUTPUT

I/AudioStreamBuilder: device =      0, sessionId = -1, perfMode = 12, callback: ON with frames = 0

I/AudioStreamBuilder: usage  =      0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0

I/AudioStreamBuilder: privacy sensitive = false

D/wengine.exampl: PlayerBase::PlayerBase()

D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96

D/AAudioStream: setState(s#3) from 0 to 2

I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#3 ----------------

V/MWENGINE: AAudio_IO::Setting buffer size to 96

I/AAudio: AAudioStreamBuilder_openStream() called ----------------------------------------

I/AudioStreamBuilder: rate   =  48000, channels  = 1, format   = 5, sharing = EX, dir = INPUT

I/AudioStreamBuilder: device =      0, sessionId = -1, perfMode = 12, callback: OFF with frames = 0

I/AudioStreamBuilder: usage  =      0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0

I/AudioStreamBuilder: privacy sensitive = false

D/wengine.exampl: PlayerBase::PlayerBase()

D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96

D/AAudioStream: setState(s#4) from 0 to 2

I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#4 ----------------

D/AAudio: AAudioStream_requestStart(s#4) called --------------

D/AAudioStream: setState(s#4) from 2 to 3

D/wengine.exampl: PlayerBase::start() from IPlayer

D/AAudio: AAudioStream_requestStart(s#4) returned 0 ---------

D/AAudio: AAudioStream_requestStart(s#3) called --------------

D/AAudioStream: setState(s#3) from 2 to 3

D/wengine.exampl: PlayerBase::start() from IPlayer

D/AAudio: AAudioStream_requestStart(s#3) returned 0 ---------

D/AudioStreamInternalPlay_Client: callbackLoop() entering >>>>>>>>>>>>>>>

D/AudioStreamInternal_Client: onEventFromServer - got AAUDIO_SERVICE_EVENT_STARTED

D/AAudioStream: setState(s#4) from 3 to 4

D/AudioStreamInternalCapture_Client: advanceClientToMatchServerPosition() readN = 0, writeN = 3216, offset = -3216

V/MWENGINE: Binding to current CPU ID 7 for thread 17702

V/MWENGINE: AAudio_IO::Error calculating latency: AAUDIO_ERROR_INVALID_STATE

D/AudioStreamInternal_Client: onEventFromServer - got AAUDIO_SERVICE_EVENT_STARTED

D/AAudioStream: setState(s#3) from 3 to 4

I/wengine.exampl: ProcessProfilingInfo new_methods=1248 is saved saved_to_disk=1 resolve_classes_delay=8000

D/wengine.exampl: PlayerBase::~PlayerBase()
YogarajRamesh commented 2 years ago

Log cat from recording start to recording write in disk(for the first time)

V/MiuiFrameworkFactory: get AllImpl object = android.common.MiuiFrameworkFactoryImpl@dc0e2ab
W/MirrorManager: this model don't Support
D/MWENGINE ms==.: maxDurationInMilliSeconds15000SAMPLE_RATE 44100 maxRecordBuffers720000
D/MWENGINE: Recorded snippet 0 saved to storage
D/MWENGINE: Recorded snippet 1 saved to storage
D/MWENGINE: Recorded snippet 2 saved to storage
D/MWENGINE: Recorded snippet 3 saved to storage
D/MWENGINE ms==.: maxDurationInMilliSeconds15000SAMPLE_RATE 44100 maxRecordBuffers0
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet0.WAV'
V/MWENGINE: File size    : 804
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 768 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 384
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 384 buffer size =>384
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet1.WAV'
V/MWENGINE: File size    : 3684
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 3648 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 1824
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 1824 buffer size =>1824
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet2.WAV'
V/MWENGINE: File size    : 1572
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 1536 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 768
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 768 buffer size =>768
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet3.WAV'
V/MWENGINE: File size    : 2880036
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 2
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 192000
V/MWENGINE: Block align   : 4
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 2880000 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 1440000
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 1440000 buffer size =>720000
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet4.WAV'
V/MWENGINE: File size    : 904356
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 904320 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 452160
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 452160 buffer size =>452160
D/MWENGINE: Recording has completed
W/Looper: PerfMonitor doFrame : time=18ms vsyncFrame=298917 latency=472ms procState=2 historyMsgCount=1 (msgIndex=1 wall=485ms seq=58485 late=6ms h=android.view.ViewRootImpl$ViewRootHandler c=android.view.View$PerformClick)
YogarajRamesh commented 2 years ago

Log cat from recording start to recording write in disk(for the second time)

D/MWENGINE ms==.: maxDurationInMilliSeconds15000SAMPLE_RATE 44100 maxRecordBuffers720000
D/MWENGINE: Recorded snippet 0 saved to storage
D/MWENGINE: Recorded snippet 1 saved to storage
D/MWENGINE ms==.: maxDurationInMilliSeconds15000SAMPLE_RATE 44100 maxRecordBuffers0
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet0.WAV'
V/MWENGINE: File size    : 1440036
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 1440000 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 720000
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 720000 buffer size =>720000
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet1.WAV'
V/MWENGINE: File size    : 1440036
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 1440000 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 720000
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 720000 buffer size =>720000
V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/Recorded snippet2.WAV'
V/MWENGINE: File size    : 460260
V/MWENGINE: Audio format   : 1
V/MWENGINE: Channel amount  : 1
V/MWENGINE: Sample rate   : 48000
V/MWENGINE: Bytes per second : 96000
V/MWENGINE: Block align   : 2
V/MWENGINE: Bits per sample : 16
V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 460224 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 230112
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 230112 buffer size =>230112
D/MWENGINE: Recording has completed
W/Looper: PerfMonitor doFrame : time=12ms vsyncFrame=298983 latency=349ms procState=2 historyMsgCount=1 (msgIndex=1 wall=362ms seq=58538 late=10ms h=android.view.ViewRootImpl$ViewRootHandler c=android.view.View$PerformClick)
YogarajRamesh commented 2 years ago

Hi @igorski , Thank you for your time,

V/MWENGINE: WaveReader::Error could not find sample data header.bitsPerSample 16
V/MWENGINE: WaveReader::Error could not find sample data dataChunk.size 460224 * 8
V/MWENGINE: WaveReader::Error could not find sample amountOfSamples 230112
V/MWENGINE: WaveReader::MS CheckamountOfSamples => 230112 buffer size =>230112

this line are logged by me for testing please ignore this.

The difference between first and second recording is.

In First recording

D/MWENGINE: Recorded snippet 0 saved to storage(1ms)
D/MWENGINE: Recorded snippet 1 saved to storage(1ms)
D/MWENGINE: Recorded snippet 2 saved to storage(1ms)
D/MWENGINE: Recorded snippet 3 saved to storage(15000ms)

The moment I start recording it create 3 Recorded snippets in disk where as in second it take 15000 milliseconds to create the first Recorded snippet

In Second recording

D/MWENGINE: Recorded snippet 0 saved to storage(15000ms)
D/MWENGINE: Recorded snippet 1 saved to storage(30000ms)

Thank you in advance :)

igorski commented 2 years ago

@YogarajRamesh Thanks for the information and the provided logs. I'm actually kind of stumped here as I fail to reproduce this issue.

Just to be clear : I understood that the issue already occurs when you take the latest version of this repository's master branch and update MWEngineActivity.java#RecordOutputHandler with the snippet you provided here, leaving the remainder of the repository's example code unchanged (I notice you use a sample name not present in the project, but that should not be an issue). To be clear: I want to be very sure that there are no other changes to the example activity code or underlying engine C++ code just to be sure we are testing under the exact same circumstances.

I basically test by building the app, tap "start recording", talk for a while and then tap "stop recording". I do not take any other actions (like starting / stopping the sequencer or playing live notes as a matter of fact I am not touching any UI element at all). Both on emulator and physical devices the output sounds fine...

Is it correct that you follow the exact same approach as the one I listed above ? If you are, can you list some environment variables so I can reproduce ? I'm interested in:

If you can reproduce this behaviour on an emulator, I am interested in the AVD you are using (hoping that the default variants provided by Android Studios AVD manager can also replicate the issue).

The above might sound excessive, but it could prove useful in finding the root of the problem.

YogarajRamesh commented 2 years ago

Hi @igorski , Android studio version:

Android Studio Bumblebee | 2021.1.1 Patch 2 Build #AI-211.7628.21.2111.8193401, built on February 17, 2022 Runtime version: 11.0.11+9-b60-7590822 amd64 VM: OpenJDK 64-Bit Server VM by Oracle Corporation Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 1280M Cores: 4 Registry: external.system.auto.import.disabled=true Non-Bundled Plugins: Dart (211.7811), org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40), org.intellij.plugins.markdown (211.7142.37)

Android SDK version : Android API 32

Android NDK version: 24.0.8215888

SWIG version swigwin-4.0.2

Android OS version of test devices / emulator Realme Pro 3 version 11 ---------> in this device output recordings are fine

RealMe X2 PRO Version 11 ---------> in this device output recordings are fine

POCO M3 Version 11 ---------> this device output recordings every first time audio get stretched then some time it works and some times not work

now I am testing more devices and i will let you know about the outcome behavior.

The above is my device and development env. Some times the output is fine. But some times facing that stretching issues.

igorski commented 2 years ago

Hm, that contradicts earlier test where all devices show same behaviour ...

I have narrowed it down to an issue with dynamic buffer size scaling. AAudio is able to fire callbacks at different sample frames whenever the system considers it to be efficient. This would imply that the amount of recorded input samples would also be non-fixed. The behaviour you experienced where after a while the recording corrects itself is explained that under the first few seconds the system was under stress and would use dynamic sample buffer sizes, it stabilized later on where all buffer sizes remained equal (therefor the sound being recorded at correct pitch / playback rate).

I have pushed some changes in ecf2f8bce0dc09e4a6646d032d35c2bc001b9b09 can you verify whether this addresses your issue ?

YogarajRamesh commented 2 years ago

Hi @igorski Thank you for your Time.

After we pull the code from repo. The audio stretch problem get resolved, but facing some new problems.

1.It started to skip some part of recording in between(some snippets) in some device (Realme 5s, POCO M2 PRO, OPPO F11) . 2.When play multiple SampleEvent. In some device(Realme 5s) the sound get very noicey,

The above problems we didn’t face before. Also attached skipped audio output sample(1).

https://mega.nz/file/BJ81SASB#4UAYX8dLGmr8VpNGTwbwfdE7-sh1dybO0nhohwAQxKw
YogarajRamesh commented 2 years ago

Hi @igorski

Here is the code snippet for skip some part of recordings

private class RecordOutputHandler implements View.OnClickListener { @Override public void onClick( View v ) { _sequencerPlaying = !_sequencerPlaying; _engine.getSequencerController().setPlaying( _sequencerPlaying ); _isRecording = !_isRecording;

        if(_isreverb){
            _engine.getInputChannel().getProcessingChain().addProcessor(reverb); 
        } 
        if ( _isRecording ){
           _engine.recordInput( true ); 

          createDrumEvent("mahi", 0);
            _engine.startOutputRecording( Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/test/mwengine_output.wav" );
        }

        else{
            drumEvent.stop();
         //   _engine.recordInput( false );
            _engine.stopOutputRecording();

        }
        (( Button ) v ).setText( _isRecording ? R.string.rec_btn_off : R.string.rec_btn_on );
    }
}
YogarajRamesh commented 2 years ago

Log cat for recording

04/22 18:01:26: Launching 'mwengine_example' on Xiaomi POCO M2 Pro. App restart successful without requiring a re-install. $ adb shell am start -n "nl.igorski.mwengine.example/nl.igorski.mwengine.example.MWEngineActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Connected to process 18939 on device 'xiaomi-poco_m2_pro-eeddda87'. Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page. I/wengine.exampl: Late-enabling -Xcheck:jni E/wengine.exampl: Unknown bits set in runtime_flags: 0x8000 I/Perf: Connecting to perf service. I/FeatureParser: can't find gram.xml in assets/device_features/,it may be in /vendor/etc/device_features E/libc: Access denied finding property "ro.vendor.df.effect.conflict" W/wengine.example: type=1400 audit(0.0:23656): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=25641 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0 D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca W/wengine.exampl: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed) W/wengine.exampl: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed) D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca I/chatty: uid=10380(nl.igorski.mwengine.example) identical 3 lines D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca I/chatty: uid=10380(nl.igorski.mwengine.example) identical 3 lines D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca I/chatty: uid=10380(nl.igorski.mwengine.example) identical 2 lines D/ForceDarkHelper: updateByCheckExcludeList: pkg: nl.igorski.mwengine.example activity: nl.igorski.mwengine.example.MWEngineActivity@51131ca D/MWENGINE: MWEngineActivity::init, had existing _inited state: false W/wengine.example: type=1400 audit(0.0:23657): avc: denied { read } for name="cpus" dev="cgroup" ino=99 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 W/wengine.example: type=1400 audit(0.0:23658): avc: denied { read } for name="cpus" dev="cgroup" ino=45 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 W/wengine.example: type=1400 audit(0.0:23659): avc: denied { read } for name="cpus" dev="cgroup" ino=27 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 W/wengine.example: type=1400 audit(0.0:23660): avc: denied { read } for name="cpus" dev="cgroup" ino=117 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 W/wengine.example: type=1400 audit(0.0:23661): avc: denied { read } for name="cpus" dev="cgroup" ino=117 scontext=u:r:untrusted_app:s0:c124,c257,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/samps/mahi.wav' V/MWENGINE: File size : 51724870 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 2 V/MWENGINE: Sample rate : 44100 V/MWENGINE: Bytes per second : 176400 V/MWENGINE: Block align : 4 V/MWENGINE: Bits per sample : 16 D/MWENGINE: starting native audio rendering thread @ 48000 Hz using 192 samples per buffer V/MWENGINE: STARTING engine V/MWENGINE: STARTED engine V/MWENGINE: DriverAdapter::initializing AAudio driver I/AAudio: AAudioStreamBuilder_openStream() called ---------------------------------------- I/AudioStreamBuilder: rate = 0, channels = 1, format = 5, sharing = EX, dir = OUTPUT I/AudioStreamBuilder: device = 0, sessionId = -1, perfMode = 12, callback: ON with frames = 0 I/AudioStreamBuilder: usage = 0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0 D/: PlayerBase::PlayerBase() W/Activity: Slow Operation: Activity nl.igorski.mwengine.example/.MWEngineActivity onCreate took 1901ms D/AudioStreamInternal_Client: open() - openStream() returned -889, try switching from MONO to STEREO D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96 I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#1 ---------------- V/MWENGINE: AAudio_IO::Setting buffer size to 96 I/AAudio: AAudioStreamBuilder_openStream() called ---------------------------------------- I/AudioStreamBuilder: rate = 48000, channels = 1, format = 5, sharing = EX, dir = INPUT I/AudioStreamBuilder: device = 0, sessionId = -1, perfMode = 12, callback: OFF with frames = 0 I/AudioStreamBuilder: usage = 0, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0 D/: PlayerBase::PlayerBase() W/Looper: Slow Looper main: Long Msg: seq=3 plan=18:01:25.516 late=99ms wall=1952ms running=1837ms runnable=9ms h=android.app.ActivityThread$H w=159 W/Looper: Slow Looper main: Activity nl.igorski.mwengine.example/.MWEngineActivity is 2052ms late (wall=0ms running=0ms ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] }) because of 2 msg, msg 1 took 100ms (seq=2 running=86ms runnable=8ms late=1ms h=android.app.ActivityThread$H w=110), msg 2 took 1952ms (seq=3 running=1837ms runnable=9ms late=99ms h=android.app.ActivityThread$H w=159) D/AudioStreamInternal_Client: open() original HW burst = 48, minMicros = 2000 => SW burst = 96 I/AAudio: AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#2 ---------------- D/AAudio: AAudioStream_requestStart(s#2) called -------------- I/AdrenoGLES: QUALCOMM build : 57da73e, I82b4603a7a Build Date : 12/03/20 OpenGL ES Shader Compiler Version: EV031.27.05.03 Local Branch : Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.8.9.R1.10.00.00.558.071 Remote Branch : NONE Reconstruct Branch : NOTHING I/AdrenoGLES: Build Config : S P 8.0.12 AArch64 I/AdrenoGLES: PFP: 0x016ee187, ME: 0x00000000 W/Gralloc3: mapper 3.x is not supported D/MWENGINE: MWEngineActivity::onWindowFocusChanged, has focus: true D/: PlayerBase::start() from IPlayer D/AAudio: AAudioStream_requestStart(s#2) returned 0 --------- D/AAudio: AAudioStream_requestStart(s#1) called -------------- D/: PlayerBase::start() from IPlayer D/AAudio: AAudioStream_requestStart(s#1) returned 0 --------- D/AudioStreamInternalPlay_Client: callbackLoop() entering >>>>>>>>>>>>>>> V/MWENGINE: Binding to current CPU ID 3 for thread 18987 V/MWENGINE: AAudio_IO::Error calculating latency: AAUDIO_ERROR_INVALID_STATE D/AudioStreamInternal_Client: onEventFromServer - got AAUDIO_SERVICE_EVENT_STARTED D/AudioStreamInternal_Client: onEventFromServer - got AAUDIO_SERVICE_EVENT_STARTED D/AudioStreamInternalCapture_Client: advanceClientToMatchServerPosition() readN = 0, writeN = 362208, offset = -362208 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 66, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 36, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 6, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 72, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 42, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 12, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 78, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 48, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 18, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 84, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 54, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 24, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 90, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 60, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 30, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 4, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 70, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 40, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 10, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 76, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 46, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 16, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 82, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 52, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 22, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 88, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 58, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 28, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 94, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 64, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 34, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 4, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 8, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 74, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 44, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 14, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 80, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 50, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 20, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 86, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 56, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 26, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 92, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 62, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 32, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 2, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 68, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 38, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 8, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 12, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 78, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 48, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 18, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 84, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 54, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 24, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 90, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 60, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 30, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 0, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 66, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 36, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 6, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 72, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 42, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 12, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 16, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 82, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 52, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 22, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 88, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 58, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 28, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 94, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 64, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 34, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 4, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 70, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 40, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 10, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 76, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 46, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 16, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 20, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 86, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 56, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 26, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 92, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 62, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 32, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 2, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 68, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 38, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 8, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 74, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 44, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 14, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 80, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 50, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 20, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 24, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 90, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 60, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 30, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 0, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 66, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 36, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 6, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 72, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 42, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 12, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 78, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 48, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 18, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 84, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 54, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 24, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 28, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 94, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 64, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 34, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 4, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 70, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 40, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 10, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 76, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 46, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 16, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 82, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 52, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 22, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 88, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 58, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 28, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 32, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 2, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 68, elapsed samples: 11076 D/MWENGINE: Recorded snippet 0 saved to storage D/MWENGINE: seq. position: 3, buffer offset: 38, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 8, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 74, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 44, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 14, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 80, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 50, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 20, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 86, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 56, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 26, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 92, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 62, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 32, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 36, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 6, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 72, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 42, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 12, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 78, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 48, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 18, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 84, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 54, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 24, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 90, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 60, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 30, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 0, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 66, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 36, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 40, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 10, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 76, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 46, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 16, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 82, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 52, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 22, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 88, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 58, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 28, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 94, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 64, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 34, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 4, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 70, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 40, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 44, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 14, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 80, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 50, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 20, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 86, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 56, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 26, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 92, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 62, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 32, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 2, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 68, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 38, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 8, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 74, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 44, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 48, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 18, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 84, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 54, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 24, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 90, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 60, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 30, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 0, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 66, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 36, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 6, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 72, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 42, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 12, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 78, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 48, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 52, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 22, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 88, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 58, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 28, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 94, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 64, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 34, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 4, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 70, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 40, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 10, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 76, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 46, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 16, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 82, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 52, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 56, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 26, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 92, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 62, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 32, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 2, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 68, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 38, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 8, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 74, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 44, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 14, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 80, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 50, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 20, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 86, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 56, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 60, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 30, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 0, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 66, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 36, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 6, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 72, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 42, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 12, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 78, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 48, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 18, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 84, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 54, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 24, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 90, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 60, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 64, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 34, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 4, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 70, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 40, elapsed samples: 22152 D/MWENGINE: Recorded snippet 1 saved to storage D/MWENGINE: seq. position: 5, buffer offset: 10, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 76, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 46, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 16, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 82, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 52, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 22, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 88, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 58, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 28, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 94, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 64, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 68, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 38, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 8, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 74, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 44, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 14, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 80, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 50, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 20, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 86, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 56, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 26, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 92, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 62, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 32, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 2, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 68, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 72, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 42, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 12, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 78, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 48, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 18, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 84, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 54, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 24, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 90, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 60, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 30, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 0, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 66, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 36, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 6, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 72, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 76, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 46, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 16, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 82, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 52, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 22, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 88, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 58, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 28, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 94, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 64, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 34, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 4, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 70, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 40, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 10, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 76, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 80, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 50, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 20, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 86, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 56, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 26, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 92, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 62, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 32, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 2, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 68, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 38, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 8, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 74, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 44, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 14, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 80, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 84, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 54, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 24, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 90, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 60, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 30, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 0, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 66, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 36, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 6, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 72, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 42, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 12, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 78, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 48, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 18, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 84, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 88, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 58, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 28, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 94, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 64, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 34, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 4, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 70, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 40, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 10, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 76, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 46, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 16, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 82, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 52, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 22, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 88, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 92, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 62, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 32, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 2, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 68, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 38, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 8, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 74, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 44, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 14, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 80, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 50, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 20, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 86, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 56, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 26, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 92, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 66, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 36, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 6, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 72, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 42, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 12, elapsed samples: 33228 D/MWENGINE: Recorded snippet 2 saved to storage D/MWENGINE: seq. position: 7, buffer offset: 78, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 48, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 18, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 84, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 54, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 24, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 90, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 60, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 30, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 4, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 70, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 40, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 10, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 76, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 46, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 16, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 82, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 52, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 22, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 88, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 58, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 28, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 94, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 64, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 34, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 4, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 8, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 74, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 44, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 14, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 80, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 50, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 20, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 86, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 56, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 26, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 92, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 62, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 32, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 2, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 68, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 38, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 8, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 12, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 78, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 48, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 18, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 84, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 54, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 24, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 90, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 60, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 30, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 0, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 66, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 36, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 6, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 72, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 42, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 12, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 16, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 82, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 52, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 22, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 88, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 58, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 28, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 94, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 64, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 34, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 4, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 70, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 40, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 10, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 76, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 46, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 16, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 20, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 86, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 56, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 26, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 92, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 62, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 32, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 2, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 68, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 38, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 8, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 74, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 44, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 14, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 80, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 50, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 20, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 24, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 90, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 60, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 30, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 0, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 66, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 36, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 6, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 72, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 42, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 12, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 78, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 48, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 18, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 84, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 54, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 24, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 28, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 94, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 64, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 34, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 4, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 70, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 40, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 10, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 76, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 46, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 16, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 82, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 52, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 22, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 88, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 58, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 28, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 32, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 2, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 68, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 38, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 8, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 74, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 44, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 14, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 80, elapsed samples: 44304 D/MWENGINE: Recorded snippet 3 saved to storage D/MWENGINE: seq. position: 9, buffer offset: 50, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 20, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 86, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 56, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 26, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 92, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 62, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 32, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 36, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 6, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 72, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 42, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 12, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 78, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 48, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 18, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 84, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 54, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 24, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 90, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 60, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 30, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 0, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 66, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 36, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 40, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 10, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 76, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 46, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 16, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 82, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 52, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 22, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 88, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 58, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 28, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 94, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 64, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 34, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 4, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 70, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 40, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 44, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 14, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 80, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 50, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 20, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 86, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 56, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 26, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 92, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 62, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 32, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 2, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 68, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 38, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 8, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 74, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 44, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 48, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 18, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 84, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 54, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 24, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 90, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 60, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 30, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 0, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 66, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 36, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 6, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 72, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 42, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 12, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 78, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 48, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 52, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 22, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 88, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 58, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 28, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 94, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 64, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 34, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 4, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 70, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 40, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 10, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 76, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 46, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 16, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 82, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 52, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 56, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 26, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 92, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 62, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 32, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 2, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 68, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 38, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 8, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 74, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 44, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 14, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 80, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 50, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 20, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 86, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 56, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 60, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 30, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 0, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 66, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 36, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 6, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 72, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 42, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 12, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 78, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 48, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 18, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 84, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 54, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 24, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 90, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 60, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 64, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 34, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 4, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 70, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 40, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 10, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 76, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 46, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 16, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 82, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 52, elapsed samples: 55380 D/MWENGINE: Recorded snippet 4 saved to storage D/MWENGINE: seq. position: 11, buffer offset: 22, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 88, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 58, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 28, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 94, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 64, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 68, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 38, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 8, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 74, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 44, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 14, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 80, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 50, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 20, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 86, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 56, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 26, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 92, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 62, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 32, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 2, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 68, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 72, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 42, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 12, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 78, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 48, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 18, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 84, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 54, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 24, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 90, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 60, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 30, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 0, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 66, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 36, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 6, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 72, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 76, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 46, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 16, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 82, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 52, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 22, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 88, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 58, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 28, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 94, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 64, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 34, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 4, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 70, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 40, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 10, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 76, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 80, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 50, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 20, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 86, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 56, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 26, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 92, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 62, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 32, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 2, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 68, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 38, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 8, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 74, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 44, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 14, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 80, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 84, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 54, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 24, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 90, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 60, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 30, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 0, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 66, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 36, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 6, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 72, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 42, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 12, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 78, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 48, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 18, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 84, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 88, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 58, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 28, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 94, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 64, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 34, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 4, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 70, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 40, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 10, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 76, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 46, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 16, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 82, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 52, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 22, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 88, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 92, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 62, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 32, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 2, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 68, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 38, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 8, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 74, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 44, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 14, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 80, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 50, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 20, elapsed samples: 66456 D/MWENGINE: seq. position: 13, buffer offset: 86, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 56, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 26, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 92, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 66, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 36, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 6, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 72, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 42, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 12, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 78, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 48, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 18, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 84, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 54, elapsed samples: 60918 D/MWENGINE: seq. position: 12, buffer offset: 24, elapsed samples: 66456 D/MWENGINE: Recorded snippet 5 saved to storage D/MWENGINE: seq. position: 13, buffer offset: 90, elapsed samples: 71994 D/MWENGINE: seq. position: 14, buffer offset: 60, elapsed samples: 77532 D/MWENGINE: seq. position: 15, buffer offset: 30, elapsed samples: 83070 D/MWENGINE: seq. position: 0, buffer offset: 0, elapsed samples: 88608 D/MWENGINE: seq. position: 0, buffer offset: 4, elapsed samples: 0 D/MWENGINE: seq. position: 1, buffer offset: 70, elapsed samples: 5538 D/MWENGINE: seq. position: 2, buffer offset: 40, elapsed samples: 11076 D/MWENGINE: seq. position: 3, buffer offset: 10, elapsed samples: 16614 D/MWENGINE: seq. position: 4, buffer offset: 76, elapsed samples: 22152 D/MWENGINE: seq. position: 5, buffer offset: 46, elapsed samples: 27690 D/MWENGINE: seq. position: 6, buffer offset: 16, elapsed samples: 33228 D/MWENGINE: seq. position: 7, buffer offset: 82, elapsed samples: 38766 D/MWENGINE: seq. position: 8, buffer offset: 52, elapsed samples: 44304 D/MWENGINE: seq. position: 9, buffer offset: 22, elapsed samples: 49842 D/MWENGINE: seq. position: 10, buffer offset: 88, elapsed samples: 55380 D/MWENGINE: seq. position: 11, buffer offset: 58, elapsed samples: 60918 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_0.WAV' V/MWENGINE: File size : 36 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: WaveReader::Error could not find sample data V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_1.WAV' V/MWENGINE: File size : 1440036 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_2.WAV' V/MWENGINE: File size : 36 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: WaveReader::Error could not find sample data V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_3.WAV' V/MWENGINE: File size : 1440036 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_4.WAV' V/MWENGINE: File size : 1440036 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_5.WAV' V/MWENGINE: File size : 1440036 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 V/MWENGINE: About to parse data for WAV file '/storage/emulated/0/Download/test/rec_snippet_6.WAV' V/MWENGINE: File size : 169764 V/MWENGINE: Audio format : 1 V/MWENGINE: Channel amount : 1 V/MWENGINE: Sample rate : 48000 V/MWENGINE: Bytes per second : 96000 V/MWENGINE: Block align : 2 V/MWENGINE: Bits per sample : 16 D/MWENGINE: Recording has completed D/MWENGINE: MWEngineActivity::onWindowFocusChanged, has focus: false V/MWENGINE: STOPPING engine V/MWENGINE: STOPPED engine D/AAudio: AAudioStream_requestStop(s#1) called D/AudioStreamInternalPlay_Client: callbackLoop(): callback returned AAUDIO_CALLBACK_RESULT_STOP D/: PlayerBase::stop() from IPlayer D/AudioStreamInternalPlay_Client: callbackLoop() exiting, result = 0, isActive() = 0 <<<<<<<<<<<<<< D/: PlayerBase::stop() from IPlayer D/AAudio: AAudioStream_close(s#1) called --------------- D/AAudio: AAudioStream_close(s#1) returned 0 --------- D/AAudio: AAudioStream_requestStop(s#2) called D/: PlayerBase::stop() from IPlayer D/AAudio: AAudioStream_close(s#2) called --------------- D/: PlayerBase::~PlayerBase() D/AAudio: AAudioStream_close(s#2) returned 0 --------- V/MWENGINE: Destroyed audio driver

Thanks in advance @igorski

YogarajRamesh commented 2 years ago

Hi @igorski , we are looking into this bug, Is there any update about this bug?

Thanks in advance @igorski

igorski commented 2 years ago

Hi @YogarajRamesh not yet. No need to bump when the bug is assigned. It might take a while (single contributor project) but it is not forgotten (as evident by movement of other issues).

If the above sounds harsh, it's unintentional as I only want to state how work on this project is maintained. On a more positive note, I do want to offer my gratitude for your logcat output as it confirms the suspicion that there may be an issue with thread sync between writing the snippets to disk and enqueing new snippets while the output rendering continues. :pray:

YogarajRamesh commented 2 years ago

Hi @igorski ,

Sorry if its sounds like bumping the work, we didn't meant in that way. As we also looking into this bug, thought your reply might be helpful to understand cause of bug.

Sorry once again and thankyou for your reply.

igorski commented 2 years ago

Hi @YogarajRamesh I believe this to be addressed in the scope of the changes pushed in bba79da30f72a9008177858f34a3062a902cb23e could you verify after a rebuild of the engine whether the glitches are resolved for your implementation as well?

YogarajRamesh commented 2 years ago

Hi, @igorski ,

It’s working great, tested in multiple devices working fine. Issues are solved.

Thank you😊