a07b3451a3
* Create README.md * add example * crates & examples * fix syntax * add LICENSE * thirdparty LICENSE * rearrange repo * fix build * egui versions * prepare publish * fix demo compilation * add test ci * Update rust.yml * forgot runs-on * install protoc before building * avoid rate limit * include submodules * updates to readme * cache rust builds Co-authored-by: David Zhao <dz@livekit.io> Co-authored-by: David Zhao <david@davidzhao.com>
45 lines
966 B
C++
45 lines
966 B
C++
//
|
|
// Created by theom on 18/09/2022.
|
|
//
|
|
|
|
#ifndef LIVEKIT_WEBRTC_WEBRTC_H
|
|
#define LIVEKIT_WEBRTC_WEBRTC_H
|
|
|
|
#include "rtc_base/physical_socket_server.h"
|
|
#include "rtc_base/ssl_adapter.h"
|
|
|
|
#ifdef WEBRTC_WIN
|
|
#include "rtc_base/win32_socket_init.h"
|
|
#endif
|
|
|
|
namespace livekit {
|
|
|
|
class RTCRuntime {
|
|
public:
|
|
RTCRuntime();
|
|
~RTCRuntime();
|
|
|
|
RTCRuntime(const RTCRuntime&) = delete;
|
|
RTCRuntime& operator=(const RTCRuntime&) = delete;
|
|
|
|
rtc::Thread* network_thread() const;
|
|
rtc::Thread* worker_thread() const;
|
|
rtc::Thread* signaling_thread() const;
|
|
|
|
private:
|
|
std::unique_ptr<rtc::Thread> network_thread_;
|
|
std::unique_ptr<rtc::Thread> worker_thread_;
|
|
std::unique_ptr<rtc::Thread> signaling_thread_;
|
|
#ifdef WEBRTC_WIN
|
|
rtc::WinsockInitializer winsock_;
|
|
rtc::PhysicalSocketServer ss_;
|
|
rtc::AutoSocketServerThread main_thread_ {&ss_};
|
|
#endif
|
|
};
|
|
|
|
std::shared_ptr<RTCRuntime> create_rtc_runtime();
|
|
|
|
} // namespace livekit
|
|
|
|
#endif // LIVEKIT_WEBRTC_WEBRTC_H
|