Index: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
index 7f33bc2ee57c1dc2b44aeade3feaaaf87f8072a2..9cebda9287b9c98e4027f1c1c7755c2145f4c739 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
@@ -17,6 +17,7 @@ |
#include "webrtc/base/checks.h" |
#include "webrtc/base/logging.h" |
#include "webrtc/common_types.h" |
+#include "webrtc/config.h" |
#include "webrtc/system_wrappers/include/trace.h" |
#ifdef _WIN32 |
@@ -25,6 +26,22 @@ |
#endif |
namespace webrtc { |
+namespace { |
+RTPExtensionType StringToRtpExtensionType(const std::string& extension) { |
+ if (extension == RtpExtension::kTOffset) |
+ return kRtpExtensionTransmissionTimeOffset; |
+ if (extension == RtpExtension::kAudioLevel) |
+ return kRtpExtensionAudioLevel; |
+ if (extension == RtpExtension::kAbsSendTime) |
+ return kRtpExtensionAbsoluteSendTime; |
+ if (extension == RtpExtension::kVideoRotation) |
+ return kRtpExtensionVideoRotation; |
+ if (extension == RtpExtension::kTransportSequenceNumber) |
+ return kRtpExtensionTransportSequenceNumber; |
+ RTC_NOTREACHED() << "Looking up unsupported RTP extension."; |
+ return kRtpExtensionNone; |
+} |
+} // namespace |
RtpRtcp::Configuration::Configuration() |
: audio(false), |
@@ -659,6 +676,12 @@ int32_t ModuleRtpRtcpImpl::RegisterSendRtpHeaderExtension( |
return rtp_sender_.RegisterRtpHeaderExtension(type, id); |
} |
+bool ModuleRtpRtcpImpl::RegisterRtpHeaderExtension(const std::string& type, |
+ const uint8_t id) { |
+ return rtp_sender_.RegisterRtpHeaderExtension(StringToRtpExtensionType(type), |
+ id) == 0; |
+} |
+ |
int32_t ModuleRtpRtcpImpl::DeregisterSendRtpHeaderExtension( |
const RTPExtensionType type) { |
return rtp_sender_.DeregisterRtpHeaderExtension(type); |