diff options
| author | 2018-08-02 18:54:25 -0400 | |
|---|---|---|
| committer | 2018-08-04 14:34:12 -0400 | |
| commit | 34b3f8349814c8c3a7ca5f1f6bd36a98dd32a207 (patch) | |
| tree | cd23ebe31cd718f8ad0637bee744e75bfe94b65e /src/audio_core/cubeb_sink.cpp | |
| parent | audio_core: Streams need unique names for CoreTiming. (diff) | |
| download | yuzu-34b3f8349814c8c3a7ca5f1f6bd36a98dd32a207.tar.gz yuzu-34b3f8349814c8c3a7ca5f1f6bd36a98dd32a207.tar.xz yuzu-34b3f8349814c8c3a7ca5f1f6bd36a98dd32a207.zip | |
audio_core: Sinks need unique names as well.
Diffstat (limited to 'src/audio_core/cubeb_sink.cpp')
| -rw-r--r-- | src/audio_core/cubeb_sink.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/audio_core/cubeb_sink.cpp b/src/audio_core/cubeb_sink.cpp index 34ae5b062..cf4839989 100644 --- a/src/audio_core/cubeb_sink.cpp +++ b/src/audio_core/cubeb_sink.cpp | |||
| @@ -13,7 +13,7 @@ namespace AudioCore { | |||
| 13 | 13 | ||
| 14 | class SinkStreamImpl final : public SinkStream { | 14 | class SinkStreamImpl final : public SinkStream { |
| 15 | public: | 15 | public: |
| 16 | SinkStreamImpl(cubeb* ctx, cubeb_devid output_device) : ctx{ctx} { | 16 | SinkStreamImpl(cubeb* ctx, cubeb_devid output_device, const std::string& name) : ctx{ctx} { |
| 17 | cubeb_stream_params params; | 17 | cubeb_stream_params params; |
| 18 | params.rate = 48000; | 18 | params.rate = 48000; |
| 19 | params.channels = GetNumChannels(); | 19 | params.channels = GetNumChannels(); |
| @@ -25,8 +25,8 @@ public: | |||
| 25 | LOG_CRITICAL(Audio_Sink, "Error getting minimum latency"); | 25 | LOG_CRITICAL(Audio_Sink, "Error getting minimum latency"); |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | if (cubeb_stream_init(ctx, &stream_backend, "yuzu Audio Output", nullptr, nullptr, | 28 | if (cubeb_stream_init(ctx, &stream_backend, name.c_str(), nullptr, nullptr, output_device, |
| 29 | output_device, ¶ms, std::max(512u, minimum_latency), | 29 | ¶ms, std::max(512u, minimum_latency), |
| 30 | &SinkStreamImpl::DataCallback, &SinkStreamImpl::StateCallback, | 30 | &SinkStreamImpl::DataCallback, &SinkStreamImpl::StateCallback, |
| 31 | this) != CUBEB_OK) { | 31 | this) != CUBEB_OK) { |
| 32 | LOG_CRITICAL(Audio_Sink, "Error initializing cubeb stream"); | 32 | LOG_CRITICAL(Audio_Sink, "Error initializing cubeb stream"); |
| @@ -129,8 +129,9 @@ CubebSink::~CubebSink() { | |||
| 129 | cubeb_destroy(ctx); | 129 | cubeb_destroy(ctx); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | SinkStream& CubebSink::AcquireSinkStream(u32 sample_rate, u32 num_channels) { | 132 | SinkStream& CubebSink::AcquireSinkStream(u32 sample_rate, u32 num_channels, |
| 133 | sink_streams.push_back(std::make_unique<SinkStreamImpl>(ctx, output_device)); | 133 | const std::string& name) { |
| 134 | sink_streams.push_back(std::make_unique<SinkStreamImpl>(ctx, output_device, name)); | ||
| 134 | return *sink_streams.back(); | 135 | return *sink_streams.back(); |
| 135 | } | 136 | } |
| 136 | 137 | ||