17#ifndef OBOE_STREAM_BASE_H_
18#define OBOE_STREAM_BASE_H_
22#include "oboe/AudioStreamCallback.h"
23#include "oboe/Definitions.h"
129 return mSharedPresentationCallback;
152 return mSharedPresentationCallback !=
nullptr;
214 return mChannelConversionAllowed;
221 return mFormatConversionAllowed;
228 return mSampleRateConversionQuality;
256 std::shared_ptr<AudioStreamDataCallback> mSharedDataCallback;
260 std::shared_ptr<AudioStreamErrorCallback> mSharedErrorCallback;
262 std::shared_ptr<AudioStreamPresentationCallback> mSharedPresentationCallback;
282 AudioFormat
mFormat = AudioFormat::Unspecified;
323 bool mChannelConversionAllowed =
false;
325 bool mFormatConversionAllowed =
false;
327 SampleRateConversionQuality mSampleRateConversionQuality = SampleRateConversionQuality::Medium;
332 case AudioFormat::Unspecified:
333 case AudioFormat::I16:
334 case AudioFormat::Float:
335 case AudioFormat::I24:
336 case AudioFormat::I32:
337 case AudioFormat::IEC61937:
341 return Result::ErrorInvalidFormat;
344 switch (mSampleRateConversionQuality) {
345 case SampleRateConversionQuality::None:
346 case SampleRateConversionQuality::Fastest:
347 case SampleRateConversionQuality::Low:
348 case SampleRateConversionQuality::Medium:
349 case SampleRateConversionQuality::High:
350 case SampleRateConversionQuality::Best:
353 return Result::ErrorIllegalArgument;
Definition AudioStreamBase.h:30
int32_t mHardwareSampleRate
Definition AudioStreamBase.h:318
int32_t getDeviceId() const
Definition AudioStreamBase.h:106
Usage getUsage() const
Definition AudioStreamBase.h:158
AudioFormat mHardwareFormat
Definition AudioStreamBase.h:320
SpatializationBehavior mSpatializationBehavior
Definition AudioStreamBase.h:313
AudioStreamDataCallback * getDataCallback() const
Definition AudioStreamBase.h:112
SampleRateConversionQuality getSampleRateConversionQuality() const
Definition AudioStreamBase.h:227
InputPreset mInputPreset
Definition AudioStreamBase.h:295
SharingMode getSharingMode() const
Definition AudioStreamBase.h:96
int32_t mDeviceId
Definition AudioStreamBase.h:271
Direction mDirection
Definition AudioStreamBase.h:284
PerformanceMode getPerformanceMode() const
Definition AudioStreamBase.h:101
int32_t mFramesPerCallback
Definition AudioStreamBase.h:265
int32_t mBufferSizeInFrames
Definition AudioStreamBase.h:275
PrivacySensitiveMode getPrivacySensitiveMode() const
Definition AudioStreamBase.h:208
AudioFormat getHardwareFormat() const
Definition AudioStreamBase.h:251
Usage mUsage
Definition AudioStreamBase.h:289
InputPreset getInputPreset() const
Definition AudioStreamBase.h:168
virtual Result isValidConfig()
Definition AudioStreamBase.h:330
ContentType mContentType
Definition AudioStreamBase.h:291
int32_t mChannelCount
Definition AudioStreamBase.h:267
PrivacySensitiveMode mPrivacySensitiveMode
Definition AudioStreamBase.h:303
int32_t getHardwareSampleRate() const
Definition AudioStreamBase.h:246
AudioStreamDataCallback * mDataCallback
Definition AudioStreamBase.h:255
AllowedCapturePolicy mAllowedCapturePolicy
Definition AudioStreamBase.h:300
Direction getDirection() const
Definition AudioStreamBase.h:58
AudioStreamErrorCallback * getErrorCallback() const
Definition AudioStreamBase.h:120
AudioFormat mFormat
Definition AudioStreamBase.h:282
std::shared_ptr< AudioStreamPresentationCallback > getPresentationCallback() const
Definition AudioStreamBase.h:128
int32_t mHardwareChannelCount
Definition AudioStreamBase.h:316
int32_t getChannelCount() const
Definition AudioStreamBase.h:53
int32_t getFramesPerCallback() const
Definition AudioStreamBase.h:68
ChannelMask getChannelMask() const
Definition AudioStreamBase.h:234
int32_t mSampleRate
Definition AudioStreamBase.h:269
bool isDataCallbackSpecified() const
Definition AudioStreamBase.h:135
bool mIsContentSpatialized
Definition AudioStreamBase.h:311
bool isContentSpatialized() const
Definition AudioStreamBase.h:178
SessionId getSessionId() const
Definition AudioStreamBase.h:173
ChannelMask mChannelMask
Definition AudioStreamBase.h:277
bool isChannelConversionAllowed() const
Definition AudioStreamBase.h:213
AudioStreamBase(const AudioStreamBase &)=default
ContentType getContentType() const
Definition AudioStreamBase.h:163
virtual int32_t getBufferCapacityInFrames() const
Definition AudioStreamBase.h:91
AudioFormat getFormat() const
Definition AudioStreamBase.h:78
PerformanceMode mPerformanceMode
Definition AudioStreamBase.h:286
bool isPresentationCallbackSpecified() const
Definition AudioStreamBase.h:151
int32_t getFramesPerDataCallback() const
Definition AudioStreamBase.h:73
SessionId mSessionId
Definition AudioStreamBase.h:297
std::string mPackageName
Definition AudioStreamBase.h:306
int32_t mBufferCapacityInFrames
Definition AudioStreamBase.h:273
bool isFormatConversionAllowed() const
Definition AudioStreamBase.h:220
AllowedCapturePolicy getAllowedCapturePolicy() const
Definition AudioStreamBase.h:195
int32_t getHardwareChannelCount() const
Definition AudioStreamBase.h:241
AudioStreamErrorCallback * mErrorCallback
Definition AudioStreamBase.h:259
SpatializationBehavior getSpatializationBehavior() const
Definition AudioStreamBase.h:183
AudioStreamBase & operator=(const AudioStreamBase &)=default
std::string mAttributionTag
Definition AudioStreamBase.h:308
SharingMode mSharingMode
Definition AudioStreamBase.h:280
int32_t getSampleRate() const
Definition AudioStreamBase.h:63
bool isErrorCallbackSpecified() const
Definition AudioStreamBase.h:144
virtual int32_t getBufferSizeInFrames()
Definition AudioStreamBase.h:86
Definition AudioStreamCallback.h:34
Definition AudioStreamCallback.h:102