14 #include <pipewire/core.h> 15 #include <pipewire/stream.h> 31 pw_stream* Get()
const {
return m_stream.get(); }
35 bool Connect(uint32_t
id,
36 const pw_direction& direction,
37 std::vector<const spa_pod*>& params,
38 const pw_stream_flags& flags);
40 pw_stream_state GetState();
41 void SetActive(
bool active);
43 pw_buffer* DequeueBuffer();
44 void QueueBuffer(pw_buffer* buffer);
46 bool TriggerProcess()
const;
48 void Flush(
bool drain);
52 void UpdateProperties(spa_dict* dict);
54 pw_time GetTime()
const;
57 static void StateChanged(
void* userdata,
58 enum pw_stream_state old,
59 enum pw_stream_state state,
61 static void Process(
void* userdata);
62 static void Drained(
void* userdata);
64 static pw_stream_events CreateStreamEvents();
68 const pw_stream_events m_streamEvents;
70 spa_hook m_streamListener;
72 struct PipewireStreamDeleter
74 void operator()(pw_stream* p) { pw_stream_destroy(p); }
77 std::unique_ptr<pw_stream, PipewireStreamDeleter> m_stream;
Definition: PipewireCore.h:22
Definition: AudioDecoder.h:18
Definition: PipewireStream.h:24