*/
class CPulseStreamSpec {
public:
- /* Constants */
- enum EStreamLatency {
+ /* Enums */
+ enum class EStreamLatency : unsigned int {
STREAM_LATENCY_INPUT_LOW,
STREAM_LATENCY_INPUT_MID,
STREAM_LATENCY_INPUT_HIGH,
STREAM_LATENCY_INPUT_VOIP,
+ STREAM_LATENCY_INPUT_DEFAULT,
STREAM_LATENCY_OUTPUT_LOW,
STREAM_LATENCY_OUTPUT_MID,
STREAM_LATENCY_OUTPUT_HIGH,
STREAM_LATENCY_OUTPUT_VOIP,
+ STREAM_LATENCY_OUTPUT_DEFAULT,
+ STREAM_LATENCY_OUTPUT_DEFAULT_ASYNC,
STREAM_LATENCY_MAX
};
- private:
- /* Members */
- EStreamLatency mLatency;
- CAudioInfo mAudioInfo;
- pa_sample_spec mSampleSpec;
- pa_channel_map mChannelMap;
- const char* mStreamName;
-
- /* private meethod */
- void _adjustSpec() throw (CAudioError);
-
- public:
/* Constructor & Destructor */
- CPulseStreamSpec() throw (CAudioError);
- CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) throw (CAudioError);
- CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo, int customLatency) throw (CAudioError);
- ~CPulseStreamSpec();
+ CPulseStreamSpec();
+ CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo);
+ ~CPulseStreamSpec() = default;
/* Setter & Getter */
- EStreamLatency getStreamLatency();
- CAudioInfo getAudioInfo();
- pa_sample_spec getSampleSpec();
- pa_channel_map getChannelMap();
- const char* getStreamName();
+ EStreamLatency getStreamLatency() noexcept;
+ const char* getStreamLatencyToString() noexcept;
+ CAudioInfo& getAudioInfo() noexcept;
+ pa_sample_spec getSampleSpec() noexcept;
+ pa_channel_map getChannelMap() noexcept;
+ const char* getStreamName() noexcept;
+
+ private:
+ /* Private Methods */
+ void __adjustSpec() noexcept;
+
+ /* Members */
+ EStreamLatency __mLatency;
+ CAudioInfo __mAudioInfo;
+ pa_sample_spec __mSampleSpec;
+ pa_channel_map __mChannelMap;
+ const char* __mStreamName;
};