mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-08 06:18:23 -05:00
21 lines
487 B
C++
21 lines
487 B
C++
#pragma once
|
|
|
|
#include <future>
|
|
|
|
struct StartMultitrackVideoStreamingGuard {
|
|
StartMultitrackVideoStreamingGuard() { future = guard.get_future().share(); };
|
|
~StartMultitrackVideoStreamingGuard() { guard.set_value(); }
|
|
|
|
std::shared_future<void> GetFuture() const { return future; }
|
|
|
|
static std::shared_future<void> MakeReadyFuture()
|
|
{
|
|
StartMultitrackVideoStreamingGuard guard;
|
|
return guard.GetFuture();
|
|
}
|
|
|
|
private:
|
|
std::promise<void> guard;
|
|
std::shared_future<void> future;
|
|
};
|