- RtpSender
- RtpReceiver
- RtpTransceiver
- RtpParameters
- VideoFrameBuilder
- Interior mutability on c++ side
- Cleanup bindings ( Use #pragma once instead of include guards )
- webrtc-sys/src/* headers are now used in only one place
- Avoid confusion between generated headers and our headers
- AdaptedVideoTrackSource
- Cleanup the workaround with unsupported Vec<Shared<T>>
- Put everything inside one file
48 lines
958 B
C++
48 lines
958 B
C++
//
|
|
// Created by theom on 18/09/2022.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#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;
|
|
}
|
|
#include "webrtc-sys/src/webrtc.rs.h"
|
|
|
|
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
|