WebRTC fixes/improvements:

- Added public host setting
- Implemented Sender Report based  track time syncing
- Added 10 second timeout for output connections (no timeout for input connections)
- Timing fixes
This commit is contained in:
Thulinma 2020-06-25 01:12:13 +02:00
parent cff43da016
commit 19a55828a3
4 changed files with 84 additions and 6 deletions

View file

@ -139,6 +139,7 @@ namespace RTP{
void setCallbacks(void (*cbPack)(const DTSC::Packet &pkt),
void (*cbInit)(const uint64_t track, const std::string &initData));
void addRTP(const RTP::Packet &rPkt);
void timeSync(uint32_t rtpTime, int64_t msDiff);
virtual void outPacket(const DTSC::Packet &pkt){
if (cbPack){cbPack(pkt);}
}
@ -148,6 +149,7 @@ namespace RTP{
public:
uint64_t trackId;
uint64_t bootMsOffset;
double multiplier; ///< Multiplier to convert from millis to RTP time
std::string codec; ///< Codec of this track
std::string type; ///< Type of this track
@ -159,6 +161,7 @@ namespace RTP{
bool recentWrap; ///< True if a wraparound happened recently.
uint32_t prevTime;
uint64_t firstTime;
int32_t milliSync;
void (*cbPack)(const DTSC::Packet &pkt);
void (*cbInit)(const uint64_t track, const std::string &initData);
// Codec-specific handlers