Reject RTP one-byte extension ID 0.

Only accept local identifiers in the range 1-14 inclusive.

BUG=1788, chromium:471328
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50549004

Cr-Original-Commit-Position: refs/heads/master@{#8900}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 23914fe756903353eae13fffc868d2c84f51f06f
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index 88e5be9..126d485 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -174,6 +174,9 @@
   for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
     const std::string& extension = config_.rtp.extensions[i].name;
     int id = config_.rtp.extensions[i].id;
+    // One-byte-extension local identifiers are in the range 1-14 inclusive.
+    DCHECK_GE(id, 1);
+    DCHECK_LE(id, 14);
     if (extension == RtpExtension::kTOffset) {
       CHECK_EQ(0,
                rtp_rtcp_->SetReceiveTimestampOffsetStatus(channel_, true, id));
diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc
index 4e1e129..9949f50 100644
--- a/video/video_send_stream.cc
+++ b/video/video_send_stream.cc
@@ -131,6 +131,9 @@
   for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
     const std::string& extension = config_.rtp.extensions[i].name;
     int id = config_.rtp.extensions[i].id;
+    // One-byte-extension local identifiers are in the range 1-14 inclusive.
+    DCHECK_GE(id, 1);
+    DCHECK_LE(id, 14);
     if (extension == RtpExtension::kTOffset) {
       CHECK_EQ(0, rtp_rtcp_->SetSendTimestampOffsetStatus(channel_, true, id));
     } else if (extension == RtpExtension::kAbsSendTime) {