Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once
#include <ftl/streams/feed.hpp>
#include <ftl/threads.hpp>
#include <condition_variable>
namespace voltu
{
namespace internal
{
class RoomImpl : public voltu::Room
{
public:
explicit RoomImpl(ftl::stream::Feed*);
bool waitNextFrame(int64_t) override;
voltu::FramePtr getFrame() override;
std::string getName() override;
bool active() override;
void addFrameSet(uint32_t fsid);
private:
ftl::stream::Feed* feed_;
std::unordered_set<uint32_t> fsids_;
ftl::stream::Feed::Filter* filter_=nullptr;
MUTEX mutex_;
std::condition_variable cv_;
int64_t last_seen_ = -1;
int64_t last_read_ = -1;
};
}
}