Split out generic portal / pipewire code

It will be reused by the video capture portal / pipewire backend.

Bug: webrtc:13177
Change-Id: Ia1a77f1c6e289149cd8a1d54b550754bf192e62e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263721
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#38487}
This commit is contained in:
Michael Olbrich
2022-10-27 10:11:01 +02:00
committed by WebRTC LUCI CQ
parent 0ca53b77ae
commit e6ec81a89c
29 changed files with 447 additions and 334 deletions

View File

@ -18,23 +18,12 @@
#include "rtc_base/string_encode.h"
struct pw_thread_loop;
struct spa_pod;
struct spa_pod_builder;
struct spa_rectangle;
namespace webrtc {
// Locks pw_thread_loop in the current scope
class PipeWireThreadLoopLock {
public:
explicit PipeWireThreadLoopLock(pw_thread_loop* loop);
~PipeWireThreadLoopLock();
private:
pw_thread_loop* const loop_;
};
struct PipeWireVersion {
static PipeWireVersion Parse(const absl::string_view& version);