11 #include "PipewireProxy.h" 16 #include <pipewire/node.h> 17 #include <spa/param/audio/iec958.h> 18 #include <spa/param/audio/raw.h> 26 class CPipewireRegistry;
35 void EnumerateFormats();
37 pw_node_info* GetInfo() {
return m_info.get(); }
39 std::set<spa_audio_format>& GetFormats() {
return m_formats; }
40 std::set<spa_audio_channel>& GetChannels() {
return m_channels; }
41 std::set<uint32_t>& GetRates() {
return m_rates; }
42 std::set<spa_audio_iec958_codec>& GetIEC958Codecs() {
return m_iec958Codecs; }
45 void Parse(uint32_t type,
void* body, uint32_t size);
47 static void Info(
void* userdata,
const struct pw_node_info* info);
48 static void Param(
void* userdata,
53 const struct spa_pod* param);
55 static pw_node_events CreateNodeEvents();
57 const pw_node_events m_nodeEvents;
59 spa_hook m_objectListener;
61 struct PipewireNodeInfoDeleter
63 void operator()(pw_node_info* p) { pw_node_info_free(p); }
66 std::unique_ptr<pw_node_info, PipewireNodeInfoDeleter> m_info;
68 std::set<spa_audio_format> m_formats;
69 std::set<spa_audio_channel> m_channels;
70 std::set<uint32_t> m_rates;
71 std::set<spa_audio_iec958_codec> m_iec958Codecs;
Definition: PipewireRegistry.h:25
Definition: PipewireProxy.h:22
Definition: PipewireNode.h:28
Definition: AudioDecoder.h:18