react-native-webrtc-nitro 1.2.0 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/configuration.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtc.h +9 -1
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtp.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/version.h +3 -3
- package/3rdparty/output/android/libdatachannel/arm64-v8a/lib/libdatachannel.so +0 -0
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/configuration.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtc.h +9 -1
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtp.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/version.h +3 -3
- package/3rdparty/output/android/libdatachannel/armeabi-v7a/lib/libdatachannel.so +0 -0
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/configuration.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/rtc.h +9 -1
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/rtp.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/android/libdatachannel/x86/include/rtc/version.h +3 -3
- package/3rdparty/output/android/libdatachannel/x86/lib/libdatachannel.so +0 -0
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/configuration.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/rtc.h +9 -1
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/rtp.hpp +1 -1
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/version.h +3 -3
- package/3rdparty/output/android/libdatachannel/x86_64/lib/libdatachannel.so +0 -0
- package/3rdparty/output/ios/ffmpeg.xcframework/ios-arm64/libffmpeg.a +0 -0
- package/3rdparty/output/ios/ffmpeg.xcframework/ios-arm64_x86_64-simulator/libffmpeg.a +0 -0
- package/3rdparty/output/ios/libdatachannel.xcframework/Info.plist +5 -5
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/configuration.hpp +1 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/rtc.h +9 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/rtp.hpp +1 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/version.h +3 -3
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/libdatachannel.a +0 -0
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/configuration.hpp +1 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/rtc.h +9 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/rtcpreceivingsession.hpp +26 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/rtp.hpp +1 -1
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/rtppacketizationconfig.hpp +9 -0
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/Headers/rtc/version.h +3 -3
- package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64_x86_64-simulator/libdatachannel.a +0 -0
- package/README.md +563 -13
- package/package.json +1 -1
|
@@ -72,7 +72,7 @@ struct RTC_CPP_EXPORT Configuration {
|
|
|
72
72
|
// Options
|
|
73
73
|
CertificateType certificateType = CertificateType::Default;
|
|
74
74
|
TransportPolicy iceTransportPolicy = TransportPolicy::All;
|
|
75
|
-
bool enableIceTcp = false;
|
|
75
|
+
bool enableIceTcp = false;
|
|
76
76
|
bool enableIceUdpMux = false; // libjuice only
|
|
77
77
|
bool disableAutoNegotiation = false;
|
|
78
78
|
bool disableAutoGathering = false;
|
|
@@ -191,7 +191,7 @@ typedef struct {
|
|
|
191
191
|
const char *bindAddress; // libjuice only, NULL means any
|
|
192
192
|
rtcCertificateType certificateType;
|
|
193
193
|
rtcTransportPolicy iceTransportPolicy;
|
|
194
|
-
bool enableIceTcp;
|
|
194
|
+
bool enableIceTcp;
|
|
195
195
|
bool enableIceUdpMux; // libjuice only
|
|
196
196
|
bool disableAutoNegotiation;
|
|
197
197
|
bool forceMediaTransport;
|
|
@@ -352,6 +352,14 @@ typedef struct {
|
|
|
352
352
|
uint8_t playoutDelayId;
|
|
353
353
|
uint16_t playoutDelayMin;
|
|
354
354
|
uint16_t playoutDelayMax;
|
|
355
|
+
|
|
356
|
+
uint8_t colorSpaceId;
|
|
357
|
+
uint8_t colorChromaSitingHorz;
|
|
358
|
+
uint8_t colorChromaSitingVert;
|
|
359
|
+
uint8_t colorRange;
|
|
360
|
+
uint8_t colorPrimaries;
|
|
361
|
+
uint8_t colorTransfer;
|
|
362
|
+
uint8_t colorMatrix;
|
|
355
363
|
} rtcPacketizerInit;
|
|
356
364
|
|
|
357
365
|
// Deprecated, do not use
|
package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtcpreceivingsession.hpp
CHANGED
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
#include "rtp.hpp"
|
|
19
19
|
|
|
20
20
|
#include <atomic>
|
|
21
|
+
#include <mutex>
|
|
22
|
+
|
|
23
|
+
#define RTP_SEQ_MOD (1<<16)
|
|
21
24
|
|
|
22
25
|
namespace rtc {
|
|
23
26
|
|
|
@@ -35,16 +38,38 @@ public:
|
|
|
35
38
|
[[deprecated("Use Track::requestKeyframe()")]] inline bool requestKeyframe() { return false; };
|
|
36
39
|
[[deprecated("Use Track::requestBitrate()")]] inline void requestBitrate(unsigned int) {};
|
|
37
40
|
|
|
41
|
+
struct SyncTimestamps {
|
|
42
|
+
uint64_t rtpTimestamp;
|
|
43
|
+
uint64_t ntpTimestamp;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
SyncTimestamps getSyncTimestamps();
|
|
47
|
+
|
|
38
48
|
protected:
|
|
39
49
|
void pushREMB(const message_callback &send, unsigned int bitrate);
|
|
40
50
|
void pushRR(const message_callback &send,unsigned int lastSrDelay);
|
|
41
51
|
void pushPLI(const message_callback &send);
|
|
42
52
|
|
|
53
|
+
void initSeq(uint16_t seq);
|
|
54
|
+
bool updateSeq(uint16_t seq);
|
|
55
|
+
|
|
43
56
|
SSRC mSsrc = 0;
|
|
44
57
|
uint32_t mGreatestSeqNo = 0;
|
|
45
|
-
|
|
58
|
+
uint16_t mMaxSeq = 0; // highest seq. number seen
|
|
59
|
+
uint32_t mCycles = 0; // shifted count of seq. number cycles
|
|
60
|
+
uint32_t mBaseSeq = 0; // base seq number
|
|
61
|
+
uint32_t mBadSeq = 0; // last 'bad' seq number + 1
|
|
62
|
+
uint32_t mProbation = 0; // sequ. packets till source is valid
|
|
63
|
+
uint32_t mReceived = 0; // packets received
|
|
64
|
+
uint32_t mExpectedPrior = 0; // packet expected at last interval
|
|
65
|
+
uint32_t mReceivedPrior = 0; // packet received at last interval
|
|
66
|
+
uint32_t mTransit = 0; // relative trans time for prev pkt
|
|
67
|
+
uint32_t mJitter = 0;
|
|
68
|
+
|
|
69
|
+
SyncTimestamps mSyncTimestamps{0,0};
|
|
46
70
|
|
|
47
71
|
std::atomic<unsigned int> mRequestedBitrate = 0;
|
|
72
|
+
std::mutex mSyncMutex;
|
|
48
73
|
};
|
|
49
74
|
|
|
50
75
|
} // namespace rtc
|
|
@@ -102,7 +102,7 @@ struct RTC_CPP_EXPORT RtcpReportBlock {
|
|
|
102
102
|
[[nodiscard]] uint8_t getFractionLost() const;
|
|
103
103
|
[[nodiscard]] unsigned int getPacketsLostCount() const;
|
|
104
104
|
|
|
105
|
-
void preparePacket(SSRC in_ssrc,
|
|
105
|
+
void preparePacket(SSRC in_ssrc, uint8_t fraction, unsigned int totalPacketsLost,
|
|
106
106
|
uint16_t highestSeqNo, uint16_t seqNoCycles, uint32_t jitter,
|
|
107
107
|
uint64_t lastSR_NTP, uint64_t lastSR_DELAY);
|
|
108
108
|
void setSSRC(SSRC in_ssrc);
|
package/3rdparty/output/android/libdatachannel/arm64-v8a/include/rtc/rtppacketizationconfig.hpp
CHANGED
|
@@ -74,6 +74,15 @@ public:
|
|
|
74
74
|
uint16_t playoutDelayMin = 0;
|
|
75
75
|
uint16_t playoutDelayMax = 0;
|
|
76
76
|
|
|
77
|
+
// https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/color-space/
|
|
78
|
+
uint8_t colorSpaceId = 0; // the negotiated ID of color space header extension
|
|
79
|
+
uint8_t colorChromaSitingHorz = 0; // unspecified
|
|
80
|
+
uint8_t colorChromaSitingVert = 0; // unspecified
|
|
81
|
+
uint8_t colorRange = 2; // full range
|
|
82
|
+
uint8_t colorPrimaries = 1; // BT.709-6
|
|
83
|
+
uint8_t colorTransfer = 1; // BT.709-6
|
|
84
|
+
uint8_t colorMatrix = 1; // BT.709-6
|
|
85
|
+
|
|
77
86
|
/// Construct RTP configuration used in packetization process
|
|
78
87
|
/// @param ssrc SSRC of source
|
|
79
88
|
/// @param cname CNAME of source
|
|
Binary file
|
|
@@ -72,7 +72,7 @@ struct RTC_CPP_EXPORT Configuration {
|
|
|
72
72
|
// Options
|
|
73
73
|
CertificateType certificateType = CertificateType::Default;
|
|
74
74
|
TransportPolicy iceTransportPolicy = TransportPolicy::All;
|
|
75
|
-
bool enableIceTcp = false;
|
|
75
|
+
bool enableIceTcp = false;
|
|
76
76
|
bool enableIceUdpMux = false; // libjuice only
|
|
77
77
|
bool disableAutoNegotiation = false;
|
|
78
78
|
bool disableAutoGathering = false;
|
|
@@ -191,7 +191,7 @@ typedef struct {
|
|
|
191
191
|
const char *bindAddress; // libjuice only, NULL means any
|
|
192
192
|
rtcCertificateType certificateType;
|
|
193
193
|
rtcTransportPolicy iceTransportPolicy;
|
|
194
|
-
bool enableIceTcp;
|
|
194
|
+
bool enableIceTcp;
|
|
195
195
|
bool enableIceUdpMux; // libjuice only
|
|
196
196
|
bool disableAutoNegotiation;
|
|
197
197
|
bool forceMediaTransport;
|
|
@@ -352,6 +352,14 @@ typedef struct {
|
|
|
352
352
|
uint8_t playoutDelayId;
|
|
353
353
|
uint16_t playoutDelayMin;
|
|
354
354
|
uint16_t playoutDelayMax;
|
|
355
|
+
|
|
356
|
+
uint8_t colorSpaceId;
|
|
357
|
+
uint8_t colorChromaSitingHorz;
|
|
358
|
+
uint8_t colorChromaSitingVert;
|
|
359
|
+
uint8_t colorRange;
|
|
360
|
+
uint8_t colorPrimaries;
|
|
361
|
+
uint8_t colorTransfer;
|
|
362
|
+
uint8_t colorMatrix;
|
|
355
363
|
} rtcPacketizerInit;
|
|
356
364
|
|
|
357
365
|
// Deprecated, do not use
|
package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtcpreceivingsession.hpp
CHANGED
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
#include "rtp.hpp"
|
|
19
19
|
|
|
20
20
|
#include <atomic>
|
|
21
|
+
#include <mutex>
|
|
22
|
+
|
|
23
|
+
#define RTP_SEQ_MOD (1<<16)
|
|
21
24
|
|
|
22
25
|
namespace rtc {
|
|
23
26
|
|
|
@@ -35,16 +38,38 @@ public:
|
|
|
35
38
|
[[deprecated("Use Track::requestKeyframe()")]] inline bool requestKeyframe() { return false; };
|
|
36
39
|
[[deprecated("Use Track::requestBitrate()")]] inline void requestBitrate(unsigned int) {};
|
|
37
40
|
|
|
41
|
+
struct SyncTimestamps {
|
|
42
|
+
uint64_t rtpTimestamp;
|
|
43
|
+
uint64_t ntpTimestamp;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
SyncTimestamps getSyncTimestamps();
|
|
47
|
+
|
|
38
48
|
protected:
|
|
39
49
|
void pushREMB(const message_callback &send, unsigned int bitrate);
|
|
40
50
|
void pushRR(const message_callback &send,unsigned int lastSrDelay);
|
|
41
51
|
void pushPLI(const message_callback &send);
|
|
42
52
|
|
|
53
|
+
void initSeq(uint16_t seq);
|
|
54
|
+
bool updateSeq(uint16_t seq);
|
|
55
|
+
|
|
43
56
|
SSRC mSsrc = 0;
|
|
44
57
|
uint32_t mGreatestSeqNo = 0;
|
|
45
|
-
|
|
58
|
+
uint16_t mMaxSeq = 0; // highest seq. number seen
|
|
59
|
+
uint32_t mCycles = 0; // shifted count of seq. number cycles
|
|
60
|
+
uint32_t mBaseSeq = 0; // base seq number
|
|
61
|
+
uint32_t mBadSeq = 0; // last 'bad' seq number + 1
|
|
62
|
+
uint32_t mProbation = 0; // sequ. packets till source is valid
|
|
63
|
+
uint32_t mReceived = 0; // packets received
|
|
64
|
+
uint32_t mExpectedPrior = 0; // packet expected at last interval
|
|
65
|
+
uint32_t mReceivedPrior = 0; // packet received at last interval
|
|
66
|
+
uint32_t mTransit = 0; // relative trans time for prev pkt
|
|
67
|
+
uint32_t mJitter = 0;
|
|
68
|
+
|
|
69
|
+
SyncTimestamps mSyncTimestamps{0,0};
|
|
46
70
|
|
|
47
71
|
std::atomic<unsigned int> mRequestedBitrate = 0;
|
|
72
|
+
std::mutex mSyncMutex;
|
|
48
73
|
};
|
|
49
74
|
|
|
50
75
|
} // namespace rtc
|
|
@@ -102,7 +102,7 @@ struct RTC_CPP_EXPORT RtcpReportBlock {
|
|
|
102
102
|
[[nodiscard]] uint8_t getFractionLost() const;
|
|
103
103
|
[[nodiscard]] unsigned int getPacketsLostCount() const;
|
|
104
104
|
|
|
105
|
-
void preparePacket(SSRC in_ssrc,
|
|
105
|
+
void preparePacket(SSRC in_ssrc, uint8_t fraction, unsigned int totalPacketsLost,
|
|
106
106
|
uint16_t highestSeqNo, uint16_t seqNoCycles, uint32_t jitter,
|
|
107
107
|
uint64_t lastSR_NTP, uint64_t lastSR_DELAY);
|
|
108
108
|
void setSSRC(SSRC in_ssrc);
|
package/3rdparty/output/android/libdatachannel/armeabi-v7a/include/rtc/rtppacketizationconfig.hpp
CHANGED
|
@@ -74,6 +74,15 @@ public:
|
|
|
74
74
|
uint16_t playoutDelayMin = 0;
|
|
75
75
|
uint16_t playoutDelayMax = 0;
|
|
76
76
|
|
|
77
|
+
// https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/color-space/
|
|
78
|
+
uint8_t colorSpaceId = 0; // the negotiated ID of color space header extension
|
|
79
|
+
uint8_t colorChromaSitingHorz = 0; // unspecified
|
|
80
|
+
uint8_t colorChromaSitingVert = 0; // unspecified
|
|
81
|
+
uint8_t colorRange = 2; // full range
|
|
82
|
+
uint8_t colorPrimaries = 1; // BT.709-6
|
|
83
|
+
uint8_t colorTransfer = 1; // BT.709-6
|
|
84
|
+
uint8_t colorMatrix = 1; // BT.709-6
|
|
85
|
+
|
|
77
86
|
/// Construct RTP configuration used in packetization process
|
|
78
87
|
/// @param ssrc SSRC of source
|
|
79
88
|
/// @param cname CNAME of source
|
|
Binary file
|
|
@@ -72,7 +72,7 @@ struct RTC_CPP_EXPORT Configuration {
|
|
|
72
72
|
// Options
|
|
73
73
|
CertificateType certificateType = CertificateType::Default;
|
|
74
74
|
TransportPolicy iceTransportPolicy = TransportPolicy::All;
|
|
75
|
-
bool enableIceTcp = false;
|
|
75
|
+
bool enableIceTcp = false;
|
|
76
76
|
bool enableIceUdpMux = false; // libjuice only
|
|
77
77
|
bool disableAutoNegotiation = false;
|
|
78
78
|
bool disableAutoGathering = false;
|
|
@@ -191,7 +191,7 @@ typedef struct {
|
|
|
191
191
|
const char *bindAddress; // libjuice only, NULL means any
|
|
192
192
|
rtcCertificateType certificateType;
|
|
193
193
|
rtcTransportPolicy iceTransportPolicy;
|
|
194
|
-
bool enableIceTcp;
|
|
194
|
+
bool enableIceTcp;
|
|
195
195
|
bool enableIceUdpMux; // libjuice only
|
|
196
196
|
bool disableAutoNegotiation;
|
|
197
197
|
bool forceMediaTransport;
|
|
@@ -352,6 +352,14 @@ typedef struct {
|
|
|
352
352
|
uint8_t playoutDelayId;
|
|
353
353
|
uint16_t playoutDelayMin;
|
|
354
354
|
uint16_t playoutDelayMax;
|
|
355
|
+
|
|
356
|
+
uint8_t colorSpaceId;
|
|
357
|
+
uint8_t colorChromaSitingHorz;
|
|
358
|
+
uint8_t colorChromaSitingVert;
|
|
359
|
+
uint8_t colorRange;
|
|
360
|
+
uint8_t colorPrimaries;
|
|
361
|
+
uint8_t colorTransfer;
|
|
362
|
+
uint8_t colorMatrix;
|
|
355
363
|
} rtcPacketizerInit;
|
|
356
364
|
|
|
357
365
|
// Deprecated, do not use
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
#include "rtp.hpp"
|
|
19
19
|
|
|
20
20
|
#include <atomic>
|
|
21
|
+
#include <mutex>
|
|
22
|
+
|
|
23
|
+
#define RTP_SEQ_MOD (1<<16)
|
|
21
24
|
|
|
22
25
|
namespace rtc {
|
|
23
26
|
|
|
@@ -35,16 +38,38 @@ public:
|
|
|
35
38
|
[[deprecated("Use Track::requestKeyframe()")]] inline bool requestKeyframe() { return false; };
|
|
36
39
|
[[deprecated("Use Track::requestBitrate()")]] inline void requestBitrate(unsigned int) {};
|
|
37
40
|
|
|
41
|
+
struct SyncTimestamps {
|
|
42
|
+
uint64_t rtpTimestamp;
|
|
43
|
+
uint64_t ntpTimestamp;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
SyncTimestamps getSyncTimestamps();
|
|
47
|
+
|
|
38
48
|
protected:
|
|
39
49
|
void pushREMB(const message_callback &send, unsigned int bitrate);
|
|
40
50
|
void pushRR(const message_callback &send,unsigned int lastSrDelay);
|
|
41
51
|
void pushPLI(const message_callback &send);
|
|
42
52
|
|
|
53
|
+
void initSeq(uint16_t seq);
|
|
54
|
+
bool updateSeq(uint16_t seq);
|
|
55
|
+
|
|
43
56
|
SSRC mSsrc = 0;
|
|
44
57
|
uint32_t mGreatestSeqNo = 0;
|
|
45
|
-
|
|
58
|
+
uint16_t mMaxSeq = 0; // highest seq. number seen
|
|
59
|
+
uint32_t mCycles = 0; // shifted count of seq. number cycles
|
|
60
|
+
uint32_t mBaseSeq = 0; // base seq number
|
|
61
|
+
uint32_t mBadSeq = 0; // last 'bad' seq number + 1
|
|
62
|
+
uint32_t mProbation = 0; // sequ. packets till source is valid
|
|
63
|
+
uint32_t mReceived = 0; // packets received
|
|
64
|
+
uint32_t mExpectedPrior = 0; // packet expected at last interval
|
|
65
|
+
uint32_t mReceivedPrior = 0; // packet received at last interval
|
|
66
|
+
uint32_t mTransit = 0; // relative trans time for prev pkt
|
|
67
|
+
uint32_t mJitter = 0;
|
|
68
|
+
|
|
69
|
+
SyncTimestamps mSyncTimestamps{0,0};
|
|
46
70
|
|
|
47
71
|
std::atomic<unsigned int> mRequestedBitrate = 0;
|
|
72
|
+
std::mutex mSyncMutex;
|
|
48
73
|
};
|
|
49
74
|
|
|
50
75
|
} // namespace rtc
|
|
@@ -102,7 +102,7 @@ struct RTC_CPP_EXPORT RtcpReportBlock {
|
|
|
102
102
|
[[nodiscard]] uint8_t getFractionLost() const;
|
|
103
103
|
[[nodiscard]] unsigned int getPacketsLostCount() const;
|
|
104
104
|
|
|
105
|
-
void preparePacket(SSRC in_ssrc,
|
|
105
|
+
void preparePacket(SSRC in_ssrc, uint8_t fraction, unsigned int totalPacketsLost,
|
|
106
106
|
uint16_t highestSeqNo, uint16_t seqNoCycles, uint32_t jitter,
|
|
107
107
|
uint64_t lastSR_NTP, uint64_t lastSR_DELAY);
|
|
108
108
|
void setSSRC(SSRC in_ssrc);
|
|
@@ -74,6 +74,15 @@ public:
|
|
|
74
74
|
uint16_t playoutDelayMin = 0;
|
|
75
75
|
uint16_t playoutDelayMax = 0;
|
|
76
76
|
|
|
77
|
+
// https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/color-space/
|
|
78
|
+
uint8_t colorSpaceId = 0; // the negotiated ID of color space header extension
|
|
79
|
+
uint8_t colorChromaSitingHorz = 0; // unspecified
|
|
80
|
+
uint8_t colorChromaSitingVert = 0; // unspecified
|
|
81
|
+
uint8_t colorRange = 2; // full range
|
|
82
|
+
uint8_t colorPrimaries = 1; // BT.709-6
|
|
83
|
+
uint8_t colorTransfer = 1; // BT.709-6
|
|
84
|
+
uint8_t colorMatrix = 1; // BT.709-6
|
|
85
|
+
|
|
77
86
|
/// Construct RTP configuration used in packetization process
|
|
78
87
|
/// @param ssrc SSRC of source
|
|
79
88
|
/// @param cname CNAME of source
|
|
Binary file
|
|
@@ -72,7 +72,7 @@ struct RTC_CPP_EXPORT Configuration {
|
|
|
72
72
|
// Options
|
|
73
73
|
CertificateType certificateType = CertificateType::Default;
|
|
74
74
|
TransportPolicy iceTransportPolicy = TransportPolicy::All;
|
|
75
|
-
bool enableIceTcp = false;
|
|
75
|
+
bool enableIceTcp = false;
|
|
76
76
|
bool enableIceUdpMux = false; // libjuice only
|
|
77
77
|
bool disableAutoNegotiation = false;
|
|
78
78
|
bool disableAutoGathering = false;
|
|
@@ -191,7 +191,7 @@ typedef struct {
|
|
|
191
191
|
const char *bindAddress; // libjuice only, NULL means any
|
|
192
192
|
rtcCertificateType certificateType;
|
|
193
193
|
rtcTransportPolicy iceTransportPolicy;
|
|
194
|
-
bool enableIceTcp;
|
|
194
|
+
bool enableIceTcp;
|
|
195
195
|
bool enableIceUdpMux; // libjuice only
|
|
196
196
|
bool disableAutoNegotiation;
|
|
197
197
|
bool forceMediaTransport;
|
|
@@ -352,6 +352,14 @@ typedef struct {
|
|
|
352
352
|
uint8_t playoutDelayId;
|
|
353
353
|
uint16_t playoutDelayMin;
|
|
354
354
|
uint16_t playoutDelayMax;
|
|
355
|
+
|
|
356
|
+
uint8_t colorSpaceId;
|
|
357
|
+
uint8_t colorChromaSitingHorz;
|
|
358
|
+
uint8_t colorChromaSitingVert;
|
|
359
|
+
uint8_t colorRange;
|
|
360
|
+
uint8_t colorPrimaries;
|
|
361
|
+
uint8_t colorTransfer;
|
|
362
|
+
uint8_t colorMatrix;
|
|
355
363
|
} rtcPacketizerInit;
|
|
356
364
|
|
|
357
365
|
// Deprecated, do not use
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
#include "rtp.hpp"
|
|
19
19
|
|
|
20
20
|
#include <atomic>
|
|
21
|
+
#include <mutex>
|
|
22
|
+
|
|
23
|
+
#define RTP_SEQ_MOD (1<<16)
|
|
21
24
|
|
|
22
25
|
namespace rtc {
|
|
23
26
|
|
|
@@ -35,16 +38,38 @@ public:
|
|
|
35
38
|
[[deprecated("Use Track::requestKeyframe()")]] inline bool requestKeyframe() { return false; };
|
|
36
39
|
[[deprecated("Use Track::requestBitrate()")]] inline void requestBitrate(unsigned int) {};
|
|
37
40
|
|
|
41
|
+
struct SyncTimestamps {
|
|
42
|
+
uint64_t rtpTimestamp;
|
|
43
|
+
uint64_t ntpTimestamp;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
SyncTimestamps getSyncTimestamps();
|
|
47
|
+
|
|
38
48
|
protected:
|
|
39
49
|
void pushREMB(const message_callback &send, unsigned int bitrate);
|
|
40
50
|
void pushRR(const message_callback &send,unsigned int lastSrDelay);
|
|
41
51
|
void pushPLI(const message_callback &send);
|
|
42
52
|
|
|
53
|
+
void initSeq(uint16_t seq);
|
|
54
|
+
bool updateSeq(uint16_t seq);
|
|
55
|
+
|
|
43
56
|
SSRC mSsrc = 0;
|
|
44
57
|
uint32_t mGreatestSeqNo = 0;
|
|
45
|
-
|
|
58
|
+
uint16_t mMaxSeq = 0; // highest seq. number seen
|
|
59
|
+
uint32_t mCycles = 0; // shifted count of seq. number cycles
|
|
60
|
+
uint32_t mBaseSeq = 0; // base seq number
|
|
61
|
+
uint32_t mBadSeq = 0; // last 'bad' seq number + 1
|
|
62
|
+
uint32_t mProbation = 0; // sequ. packets till source is valid
|
|
63
|
+
uint32_t mReceived = 0; // packets received
|
|
64
|
+
uint32_t mExpectedPrior = 0; // packet expected at last interval
|
|
65
|
+
uint32_t mReceivedPrior = 0; // packet received at last interval
|
|
66
|
+
uint32_t mTransit = 0; // relative trans time for prev pkt
|
|
67
|
+
uint32_t mJitter = 0;
|
|
68
|
+
|
|
69
|
+
SyncTimestamps mSyncTimestamps{0,0};
|
|
46
70
|
|
|
47
71
|
std::atomic<unsigned int> mRequestedBitrate = 0;
|
|
72
|
+
std::mutex mSyncMutex;
|
|
48
73
|
};
|
|
49
74
|
|
|
50
75
|
} // namespace rtc
|
|
@@ -102,7 +102,7 @@ struct RTC_CPP_EXPORT RtcpReportBlock {
|
|
|
102
102
|
[[nodiscard]] uint8_t getFractionLost() const;
|
|
103
103
|
[[nodiscard]] unsigned int getPacketsLostCount() const;
|
|
104
104
|
|
|
105
|
-
void preparePacket(SSRC in_ssrc,
|
|
105
|
+
void preparePacket(SSRC in_ssrc, uint8_t fraction, unsigned int totalPacketsLost,
|
|
106
106
|
uint16_t highestSeqNo, uint16_t seqNoCycles, uint32_t jitter,
|
|
107
107
|
uint64_t lastSR_NTP, uint64_t lastSR_DELAY);
|
|
108
108
|
void setSSRC(SSRC in_ssrc);
|
package/3rdparty/output/android/libdatachannel/x86_64/include/rtc/rtppacketizationconfig.hpp
CHANGED
|
@@ -74,6 +74,15 @@ public:
|
|
|
74
74
|
uint16_t playoutDelayMin = 0;
|
|
75
75
|
uint16_t playoutDelayMax = 0;
|
|
76
76
|
|
|
77
|
+
// https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/color-space/
|
|
78
|
+
uint8_t colorSpaceId = 0; // the negotiated ID of color space header extension
|
|
79
|
+
uint8_t colorChromaSitingHorz = 0; // unspecified
|
|
80
|
+
uint8_t colorChromaSitingVert = 0; // unspecified
|
|
81
|
+
uint8_t colorRange = 2; // full range
|
|
82
|
+
uint8_t colorPrimaries = 1; // BT.709-6
|
|
83
|
+
uint8_t colorTransfer = 1; // BT.709-6
|
|
84
|
+
uint8_t colorMatrix = 1; // BT.709-6
|
|
85
|
+
|
|
77
86
|
/// Construct RTP configuration used in packetization process
|
|
78
87
|
/// @param ssrc SSRC of source
|
|
79
88
|
/// @param cname CNAME of source
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -10,18 +10,15 @@
|
|
|
10
10
|
<key>HeadersPath</key>
|
|
11
11
|
<string>Headers</string>
|
|
12
12
|
<key>LibraryIdentifier</key>
|
|
13
|
-
<string>ios-
|
|
13
|
+
<string>ios-arm64</string>
|
|
14
14
|
<key>LibraryPath</key>
|
|
15
15
|
<string>libdatachannel.a</string>
|
|
16
16
|
<key>SupportedArchitectures</key>
|
|
17
17
|
<array>
|
|
18
18
|
<string>arm64</string>
|
|
19
|
-
<string>x86_64</string>
|
|
20
19
|
</array>
|
|
21
20
|
<key>SupportedPlatform</key>
|
|
22
21
|
<string>ios</string>
|
|
23
|
-
<key>SupportedPlatformVariant</key>
|
|
24
|
-
<string>simulator</string>
|
|
25
22
|
</dict>
|
|
26
23
|
<dict>
|
|
27
24
|
<key>BinaryPath</key>
|
|
@@ -29,15 +26,18 @@
|
|
|
29
26
|
<key>HeadersPath</key>
|
|
30
27
|
<string>Headers</string>
|
|
31
28
|
<key>LibraryIdentifier</key>
|
|
32
|
-
<string>ios-
|
|
29
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
33
30
|
<key>LibraryPath</key>
|
|
34
31
|
<string>libdatachannel.a</string>
|
|
35
32
|
<key>SupportedArchitectures</key>
|
|
36
33
|
<array>
|
|
37
34
|
<string>arm64</string>
|
|
35
|
+
<string>x86_64</string>
|
|
38
36
|
</array>
|
|
39
37
|
<key>SupportedPlatform</key>
|
|
40
38
|
<string>ios</string>
|
|
39
|
+
<key>SupportedPlatformVariant</key>
|
|
40
|
+
<string>simulator</string>
|
|
41
41
|
</dict>
|
|
42
42
|
</array>
|
|
43
43
|
<key>CFBundlePackageType</key>
|
package/3rdparty/output/ios/libdatachannel.xcframework/ios-arm64/Headers/rtc/configuration.hpp
CHANGED
|
@@ -72,7 +72,7 @@ struct RTC_CPP_EXPORT Configuration {
|
|
|
72
72
|
// Options
|
|
73
73
|
CertificateType certificateType = CertificateType::Default;
|
|
74
74
|
TransportPolicy iceTransportPolicy = TransportPolicy::All;
|
|
75
|
-
bool enableIceTcp = false;
|
|
75
|
+
bool enableIceTcp = false;
|
|
76
76
|
bool enableIceUdpMux = false; // libjuice only
|
|
77
77
|
bool disableAutoNegotiation = false;
|
|
78
78
|
bool disableAutoGathering = false;
|
|
@@ -191,7 +191,7 @@ typedef struct {
|
|
|
191
191
|
const char *bindAddress; // libjuice only, NULL means any
|
|
192
192
|
rtcCertificateType certificateType;
|
|
193
193
|
rtcTransportPolicy iceTransportPolicy;
|
|
194
|
-
bool enableIceTcp;
|
|
194
|
+
bool enableIceTcp;
|
|
195
195
|
bool enableIceUdpMux; // libjuice only
|
|
196
196
|
bool disableAutoNegotiation;
|
|
197
197
|
bool forceMediaTransport;
|
|
@@ -352,6 +352,14 @@ typedef struct {
|
|
|
352
352
|
uint8_t playoutDelayId;
|
|
353
353
|
uint16_t playoutDelayMin;
|
|
354
354
|
uint16_t playoutDelayMax;
|
|
355
|
+
|
|
356
|
+
uint8_t colorSpaceId;
|
|
357
|
+
uint8_t colorChromaSitingHorz;
|
|
358
|
+
uint8_t colorChromaSitingVert;
|
|
359
|
+
uint8_t colorRange;
|
|
360
|
+
uint8_t colorPrimaries;
|
|
361
|
+
uint8_t colorTransfer;
|
|
362
|
+
uint8_t colorMatrix;
|
|
355
363
|
} rtcPacketizerInit;
|
|
356
364
|
|
|
357
365
|
// Deprecated, do not use
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
#include "rtp.hpp"
|
|
19
19
|
|
|
20
20
|
#include <atomic>
|
|
21
|
+
#include <mutex>
|
|
22
|
+
|
|
23
|
+
#define RTP_SEQ_MOD (1<<16)
|
|
21
24
|
|
|
22
25
|
namespace rtc {
|
|
23
26
|
|
|
@@ -35,16 +38,38 @@ public:
|
|
|
35
38
|
[[deprecated("Use Track::requestKeyframe()")]] inline bool requestKeyframe() { return false; };
|
|
36
39
|
[[deprecated("Use Track::requestBitrate()")]] inline void requestBitrate(unsigned int) {};
|
|
37
40
|
|
|
41
|
+
struct SyncTimestamps {
|
|
42
|
+
uint64_t rtpTimestamp;
|
|
43
|
+
uint64_t ntpTimestamp;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
SyncTimestamps getSyncTimestamps();
|
|
47
|
+
|
|
38
48
|
protected:
|
|
39
49
|
void pushREMB(const message_callback &send, unsigned int bitrate);
|
|
40
50
|
void pushRR(const message_callback &send,unsigned int lastSrDelay);
|
|
41
51
|
void pushPLI(const message_callback &send);
|
|
42
52
|
|
|
53
|
+
void initSeq(uint16_t seq);
|
|
54
|
+
bool updateSeq(uint16_t seq);
|
|
55
|
+
|
|
43
56
|
SSRC mSsrc = 0;
|
|
44
57
|
uint32_t mGreatestSeqNo = 0;
|
|
45
|
-
|
|
58
|
+
uint16_t mMaxSeq = 0; // highest seq. number seen
|
|
59
|
+
uint32_t mCycles = 0; // shifted count of seq. number cycles
|
|
60
|
+
uint32_t mBaseSeq = 0; // base seq number
|
|
61
|
+
uint32_t mBadSeq = 0; // last 'bad' seq number + 1
|
|
62
|
+
uint32_t mProbation = 0; // sequ. packets till source is valid
|
|
63
|
+
uint32_t mReceived = 0; // packets received
|
|
64
|
+
uint32_t mExpectedPrior = 0; // packet expected at last interval
|
|
65
|
+
uint32_t mReceivedPrior = 0; // packet received at last interval
|
|
66
|
+
uint32_t mTransit = 0; // relative trans time for prev pkt
|
|
67
|
+
uint32_t mJitter = 0;
|
|
68
|
+
|
|
69
|
+
SyncTimestamps mSyncTimestamps{0,0};
|
|
46
70
|
|
|
47
71
|
std::atomic<unsigned int> mRequestedBitrate = 0;
|
|
72
|
+
std::mutex mSyncMutex;
|
|
48
73
|
};
|
|
49
74
|
|
|
50
75
|
} // namespace rtc
|
|
@@ -102,7 +102,7 @@ struct RTC_CPP_EXPORT RtcpReportBlock {
|
|
|
102
102
|
[[nodiscard]] uint8_t getFractionLost() const;
|
|
103
103
|
[[nodiscard]] unsigned int getPacketsLostCount() const;
|
|
104
104
|
|
|
105
|
-
void preparePacket(SSRC in_ssrc,
|
|
105
|
+
void preparePacket(SSRC in_ssrc, uint8_t fraction, unsigned int totalPacketsLost,
|
|
106
106
|
uint16_t highestSeqNo, uint16_t seqNoCycles, uint32_t jitter,
|
|
107
107
|
uint64_t lastSR_NTP, uint64_t lastSR_DELAY);
|
|
108
108
|
void setSSRC(SSRC in_ssrc);
|