Remove default IDs for RTP extensions from rtp_parameters.h

One-byte RTP extensions may only have IDs in the range 1-14.
For higher IDs, the two-byte format must be used.
If default IDs are set for all extensions, once 15 extensions are
defined by the code, some extensions will have IDs greater than 14.
This will happen even if only one extension actually ends up being
offered, so long as it's that unfortunate RTP extension.
It's better to dynamically assign the IDs to those extensions we
actually offer. The code that assigns the IDs is currently
distributed ( WebRtcVoiceEngine::GetCapabilities() and
WebRtcVideoEngine::GetCapabilities()), and without a bigger
refactoring effort would produce some ID collisions and mismatches.
Those are already handled by MergeRtpHdrExts(), so so that
should not be a problem.

Bug: webrtc:10288
Change-Id: I087f1ed5baa9fd61fd5556f1d82f540304ec6b93
Reviewed-on: https://webrtc-review.googlesource.com/c/122480
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26876}
This commit is contained in:
Elad Alon
2019-02-12 11:42:40 +01:00
committed by Commit Bot
parent 1a7a4afd13
commit 48e7065ac6
2 changed files with 0 additions and 43 deletions

View File

@ -18,7 +18,6 @@
#include "absl/types/optional.h"
#include "api/media_types.h"
#include "rtc_base/deprecation.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -259,67 +258,45 @@ struct RtpExtension {
// Header extension for audio levels, as defined in:
// http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03
static const char kAudioLevelUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kAudioLevelDefaultId;
// Header extension for RTP timestamp offset, see RFC 5450 for details:
// http://tools.ietf.org/html/rfc5450
static const char kTimestampOffsetUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kTimestampOffsetDefaultId;
// Header extension for absolute send time, see url for details:
// http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
static const char kAbsSendTimeUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kAbsSendTimeDefaultId;
// Header extension for coordination of video orientation, see url for
// details:
// http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf
static const char kVideoRotationUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kVideoRotationDefaultId;
// Header extension for video content type. E.g. default or screenshare.
static const char kVideoContentTypeUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kVideoContentTypeDefaultId;
// Header extension for video timing.
static const char kVideoTimingUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kVideoTimingDefaultId;
// Header extension for video frame marking.
static const char kFrameMarkingUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kFrameMarkingDefaultId;
// Experimental codec agnostic frame descriptor.
static const char kGenericFrameDescriptorUri00[];
static const char kGenericFrameDescriptorUri01[];
// TODO(bugs.webrtc.org/10243): Remove once dependencies have been updated.
static const char kGenericFrameDescriptorUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kGenericFrameDescriptorDefaultId;
// Header extension for transport sequence number, see url for details:
// http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
static const char kTransportSequenceNumberUri[];
static const char kTransportSequenceNumberV2Uri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kTransportSequenceNumberDefaultId;
static const char kPlayoutDelayUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kPlayoutDelayDefaultId;
// Header extension for identifying media section within a transport.
// https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-49#section-15
static const char kMidUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kMidDefaultId;
// Encryption of Header Extensions, see RFC 6904 for details:
// https://tools.ietf.org/html/rfc6904
@ -327,18 +304,12 @@ struct RtpExtension {
// Header extension for color space information.
static const char kColorSpaceUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kColorSpaceDefaultId;
// Header extension for RIDs and Repaired RIDs
// https://tools.ietf.org/html/draft-ietf-avtext-rid-09
// https://tools.ietf.org/html/draft-ietf-mmusic-rid-15
static const char kRidUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kRidDefaultId;
static const char kRepairedRidUri[];
// TODO(bugs.webrtc.org/10288): Remove once dependencies have been updated.
RTC_DEPRECATED static const int kRepairedRidDefaultId;
// Inclusive min and max IDs for two-byte header extensions and one-byte
// header extensions, per RFC8285 Section 4.2-4.3.