Skip to content

Releases: google/oboe

1.3.0

15 Nov 17:37
Compare
Choose a tag to compare

Oboe now features resampling and format conversion so you can request a stream with a specific sample rate, channel count or format and still receive a low latency stream. Do this using the following methods:

AudioStreamBuilder builder;
builder.setSampleRateConversionQuality(SampleRateConversionQuality::Medium);
builder.setChannelConversionAllowed(true);
builder.setFormatConversionAllowed(true);`

The new ManagedStream class takes care of a stream lifecycle for you. Open one using the following code:

 ManagedStream myStream;
 AudioStreamBuilder builder;
 b.openManagedStream(myStream);

Many other bug fixes.

Full list of changes: 1.2.0...1.3-stable

1.2.0

23 Apr 17:53
Compare
Choose a tag to compare

New features

  • When creating a stream with PerformanceMode::LowLatency the buffer size is now set automatically to twice the burst size.

Behaviour changes

  • AudioStream::waitForStateChange now returns Result::ErrorTimeout if a timeout of zero is specified and the stream's state does not change. Previously it would return Result::OK.
  • AudioStream::getTimestamp now returns Result::ErrorInvalidState if called when the stream is not in the Started state. Previously the timestamp would continue to advance resulting in inaccurate latency measurements.

Bug fixes/workarounds

  • Fix crash caused caused by error callback running on a blocking read/write stream that does not use a data callback. #364
  • Avoid issue with recursive locking in AudioOutputStreamOpenSLES::requestFlush(). #378
  • Stop the stream when callback returns DataCallbackResult::Stop. Workaround for some AAudio bugs. #323
  • #406 Crash when headset plugs in/out
  • After opening an AAudio stream the stream state would stuck in the Starting state. Oboe now includes a workaround for this.
  • Many other bug fixes (see: https://github.com/google/oboe/issues?q=is%3Aclosed+milestone%3Av1.2)

Code samples

  • Codebase updated to use floats throughout
  • Added shared folder which contains shared code used by samples (for Oscillator, Mixer objects etc)
  • RhythmGame sample updated with ability to extract compressed audio assets using NDK media codec and FFmpeg

Plus many improvements in OboeTester.

Diff with previous release

1.1.1

18 Dec 18:39
8cc0148
Compare
Choose a tag to compare

No API changes.

New features:

  • Audio streams which specify a Usage and are created using OpenSL ES have that usage mapped to the OpenSL ES stream type (thanks to pbodilis@)
  • The oboe version number is now logged when a stream is opened

1.1.0

06 Dec 18:59
f493f49
Compare
Choose a tag to compare

Bug fixes:

New features:

1.0.0

06 Dec 18:39
Compare
Choose a tag to compare

API changes:

Other changes: