| 97 | |
| 98 | |
| 99 | std::shared_ptr<AudioHardwareInputNode> MakeAudioHardwareInputNode(ContextRenderLock & r) |
| 100 | { |
| 101 | LOG_TRACE("MakeAudioHardwareInputNode()"); |
| 102 | |
| 103 | auto device = r.context()->device(); |
| 104 | |
| 105 | if (device) |
| 106 | { |
| 107 | if (auto * hardwareDevice = dynamic_cast<AudioHardwareDeviceNode *>(device.get())) |
| 108 | { |
| 109 | std::shared_ptr<AudioHardwareInputNode> inputNode( |
| 110 | new AudioHardwareInputNode(*r.context(), hardwareDevice->AudioHardwareInputProvider())); |
| 111 | return inputNode; |
| 112 | } |
| 113 | else |
| 114 | { |
| 115 | throw std::runtime_error("Cannot create AudioHardwareInputNode. Context does not own an AudioHardwareInputNode."); |
| 116 | } |
| 117 | } |
| 118 | return {}; |
| 119 | } |
| 120 | |
| 121 | AudioStreamConfig GetDefaultInputAudioDeviceConfiguration() |
| 122 | { |