|
@@ -1139,6 +1139,22 @@ int rtcGetTrackDirection(int tr, rtcDirection *direction) {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+int rtcRequestKeyframe(int tr) {
|
|
|
+ return wrap([&] {
|
|
|
+ auto track = getTrack(tr);
|
|
|
+ track->requestKeyframe();
|
|
|
+ return RTC_ERR_SUCCESS;
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+int rtcRequestBitrate(int tr, unsigned int bitrate) {
|
|
|
+ return wrap([&] {
|
|
|
+ auto track = getTrack(tr);
|
|
|
+ track->requestBitrate(bitrate);
|
|
|
+ return RTC_ERR_SUCCESS;
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
#if RTC_ENABLE_MEDIA
|
|
|
|
|
|
void setSSRC(Description::Media *description, uint32_t ssrc, const char *_name, const char *_msid,
|
|
@@ -1271,6 +1287,15 @@ int rtcSetAACPacketizationHandler(int tr, const rtcPacketizationHandlerInit *ini
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+int rtcChainRtcpReceivingSession(int tr) {
|
|
|
+ return wrap([&] {
|
|
|
+ auto track = getTrack(tr);
|
|
|
+ auto session = std::make_shared<rtc::RtcpReceivingSession>();
|
|
|
+ track->chainMediaHandler(session);
|
|
|
+ return RTC_ERR_SUCCESS;
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
int rtcChainRtcpSrReporter(int tr) {
|
|
|
return wrap([&] {
|
|
|
auto track = getTrack(tr);
|