aboutsummaryrefslogtreecommitdiff
path: root/include/oboe/AudioStream.h
AgeCommit message (Collapse)Author
2023-02-03oboe: clip waitForAvailableFrames (#1702)Phil Burk
Clip against BufferCapacity minus BurstSize. Also bump Oboe to 1.7.1 and OboeTester to 2.3.6. Fixes #1701
2022-08-06Add API to set sleep time before close. (#1593)Phil Burk
Add: AudioStream::setDelayBeforeCloseMillis(delay) This can be used to avoid use-after-free bugs cause by callbacks running when close is called. Fixes #1500 Add test for delay before close. Bump version to 1.6.3
2022-07-20Rename instances of master with main (#1575)Robert Wu
2022-03-03Recommend not calling getTimestamp() from callback (#1499)Phil Burk
Also calculateLatencyMillis().
2021-07-21oboe: improve DataCallbackResult::Stop handling (#1351)Phil Burk
Use another thread to stop the stream for R and earlier. Test: use OboeTester "callback return STOP" checkbox Added a unit test, testReturnStop.cpp run_tests.sh now does not show logcat if app build fails. Fixes #1230.
2021-03-08oboe: fix possible race on close (#1200)Phil Burk
* oboe: fix possible race on close Protect native stream pointer with a shared_lock. The race may have never ended badly. But it was theoretically possible. So this prevents it. Note that this requires that Oboe be built with C++17. But apps can still use C++14. Fixes #1180 * Add some comments about the DEBUG code.
2020-11-18oboe: add AudioStreamDataCallback and AudioStreamErrorCallbackPhil Burk
This allows an app to use different callbacks for data processing and error processing. The AudioStreamCallback inherits from both interfaces. There is also a new method: bool onError() that allows an app to completely override the default error handling. This change is backwards compatible with older versions. Fixes #917
2020-06-01Reduce logging for a cleaner logcatPhil Burk
Convert a few LOGDs to LOGW
2020-04-22Oboe: openSharedStream uses ResultWithViewPhil Burk
Also use a friend class to hide ssetWeakThis().
2020-04-15oboe: add openSharedStreamPhil Burk
To prevent race conditions with the onError callbacks that were resulting in the use of a deleted stream. For bug #820
2019-09-02oboe: add waitForAvailableFrames()Phil Burk
This can avoid glitches if the input buffer is too empty and the MMAP timing is unreliable.
2019-08-29resampler: fix some merge errorsPhil Burk
2019-08-29Merge branch 'master' into resamplerPhil Burk
2019-08-07Merge pull request #598 from google/fix-warningsAtneya Nair
Commenting out parameters to use Wall compiler flag
2019-08-06Commenting out parameters to use Wall compiler flagAtneya Nair
2019-07-26Make AudioStream::getState() constThomas Guilbert
2019-07-19oboe: fix broken build AudioStream.cppPhil Burk
An abstract method was breaking the linker stage. Fixes #582
2019-07-12Small fixes from #352Thomas Guilbert
2019-06-11Deprecating old getTimestamp method. Fixes #478Atneya Nair
2019-06-04Merge pull request #534 from google/fixonerrorPhil Burk
oboe: prevent onError callback from causing an assert
2019-06-04oboe: improve comments for onError callbacksPhil Burk
2019-06-03Deleting stream prior to opening new stream. Other documentation and ↵Atneya Nair
refactoring changes
2019-06-03oboe: make error callback support code protectedPhil Burk
2019-06-03oboe: prevent onError callback from causing an assertPhil Burk
There was a race that could be caused by multiple onErrorCallbacks. There should only be one callback. We now check to make sure that only the first callback is handled. Fixes #519
2019-06-03Add support for unique ptr AudioStreamsAtneya Nair
Created ManagedStream typedef, alias for uniqueptr of AudioStream with custom deleter (implemented by streamDeleterFunctor). Added method in builder to populate this object. Added openStream method to open a ManagedStream
2019-05-17oboe: first draft of resamplerPhil Burk
UNDER CONSTRUCTION Sample rate conversion in Oboe allows apps to get a FAST track even when the sample rates do not match the native rate. Output works with callback but not with blocking write. Not finishing the buffer properly. Input does not work. Resampler is just a bilinear interpolater. Need to add a sinc.
2019-04-12Reorder includesDon Turner
2019-04-12Add <atomic> and <mutex> to AudioStream includesDon Turner
2019-04-05oboe: update autodocs for waitForStateChangePhil Burk
2019-03-19Remove isPlaying from AudioStream headerJulio Zynger
2018-12-21oboe: stop stream if callback requests itPhil Burk
Stop in a separate thread for AAudio before Q. Call stop directly for OpenSL ES. Possible fix for #277
2018-12-17oboe: use atomics for FIFO countersPhil Burk
2018-10-02Code review feedback from philDon Turner
2018-10-02Adding simpler getTimestamp method. Fixes #209Don Turner
2018-10-02Remove AudioStream::setNativeFormat. Fixes #210Don Turner
2018-09-28refactor code for updating frame countersPhil Burk
Use virtual close(). Add updateFramesRead() and ...Written()
2018-09-21check usingFifo() for getFramesRead/Written()Phil Burk
For better frame counting in OpenSL ES. When a FIFO was being used, getFramesRead() was returning the server position. It should return the FIFO position. Fixes #153
2018-09-17Updating docs in line with Phil's feedbackDon Turner
2018-09-17Fixing comment for getUnderlyingStreamDon Turner
2018-09-17Adding docs to all public objectsDon Turner
2018-07-10Refactor AudioStream methods to handle closed stateDon Turner
2018-06-14Addressing feedback from philburk@ on ResultWithValueDon Turner
2018-06-14Refactor getXRunCount to return ResultWithValueDon Turner
2018-06-12Merge pull request #105 from ggfan/get-frames-per-burst-constPhil Burk
add const modifier to oboe::AudioStream::getFramesPerBurst()
2018-06-12Add implicit ctor, static ctor and cast to Result operatorDon Turner
2018-06-12Refactor setBufferSizeInFrames to return a ResultWithValueDon Turner
2018-06-07add const modifier to oboe::AudioStream::getFramesPerBurst()gerry
2018-05-01oboe: better latency commentsPhil Burk
use double latencyNanos minor cleanup
2018-04-29oboe: add calculateLatencyMillis()Phil Burk
Based on getTimestamp(). Fixes #69
2018-03-27oboe: add ErrorOrValue dual returnPhil Burk
For returning an error code and a frame count, or other value, at the same time.