| Index: webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
 | 
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..2a70bd8fe653981efb2e5af3601a153e7b6f39bb
 | 
| --- /dev/null
 | 
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h
 | 
| @@ -0,0 +1,75 @@
 | 
| +/*
 | 
| + *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
 | 
| + *
 | 
| + *  Use of this source code is governed by a BSD-style license
 | 
| + *  that can be found in the LICENSE file in the root of the source
 | 
| + *  tree. An additional intellectual property rights grant can be found
 | 
| + *  in the file PATENTS.  All contributing project authors may
 | 
| + *  be found in the AUTHORS file in the root of the source tree.
 | 
| + */
 | 
| +#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSIONS_H_
 | 
| +#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSIONS_H_
 | 
| +
 | 
| +#include "webrtc/base/basictypes.h"
 | 
| +#include "webrtc/call.h"
 | 
| +#include "webrtc/common_video/rotation.h"
 | 
| +#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 | 
| +
 | 
| +namespace webrtc {
 | 
| +
 | 
| +class AbsoluteSendTime {
 | 
| + public:
 | 
| +  static const RTPExtensionType kId = kRtpExtensionAbsoluteSendTime;
 | 
| +  static const char* kName;
 | 
| +  static const uint8_t kValueSizeBytes;
 | 
| +  static bool IsSupportedFor(MediaType type);
 | 
| +  static bool Parse(const uint8_t* data, uint32_t* time_ms);
 | 
| +  static bool Write(uint8_t* data, int64_t time_ms);
 | 
| +};
 | 
| +
 | 
| +class AudioLevel {
 | 
| + public:
 | 
| +  static const RTPExtensionType kId = kRtpExtensionAudioLevel;
 | 
| +  static const char* kName;
 | 
| +  static const uint8_t kValueSizeBytes;
 | 
| +  static bool IsSupportedFor(MediaType type);
 | 
| +  static bool Parse(const uint8_t* data,
 | 
| +                    bool* voice_activity,
 | 
| +                    uint8_t* audio_level);
 | 
| +  static bool Write(uint8_t* data, bool voice_activity, uint8_t audio_level);
 | 
| +};
 | 
| +
 | 
| +class TransmissionOffset {
 | 
| + public:
 | 
| +  static const RTPExtensionType kId = kRtpExtensionTransmissionTimeOffset;
 | 
| +  static const char* kName;
 | 
| +  static const uint8_t kValueSizeBytes;
 | 
| +  static bool IsSupportedFor(MediaType type);
 | 
| +  static bool Parse(const uint8_t* data, int32_t* time_ms);
 | 
| +  static bool Write(uint8_t* data, int64_t time_ms);
 | 
| +};
 | 
| +
 | 
| +class TransportSequenceNumber {
 | 
| + public:
 | 
| +  static const RTPExtensionType kId = kRtpExtensionTransportSequenceNumber;
 | 
| +  static const char* kName;
 | 
| +  static const uint8_t kValueSizeBytes;
 | 
| +  static bool IsSupportedFor(MediaType type);
 | 
| +  static bool Parse(const uint8_t* data, uint16_t* value);
 | 
| +  static bool Write(uint8_t* data, uint16_t value);
 | 
| +};
 | 
| +
 | 
| +class VideoOrientation {
 | 
| + public:
 | 
| +  static const RTPExtensionType kId = kRtpExtensionVideoRotation;
 | 
| +  static const char* kName;
 | 
| +  static const uint8_t kValueSizeBytes;
 | 
| +  static bool IsSupportedFor(MediaType type);
 | 
| +  static bool Parse(const uint8_t* data, VideoRotation* value);
 | 
| +  static bool Write(uint8_t* data, VideoRotation value);
 | 
| +  static bool Parse(const uint8_t* data, uint8_t* value);
 | 
| +  static bool Write(uint8_t* data, uint8_t value);
 | 
| +};
 | 
| +
 | 
| +}  // namespace webrtc
 | 
| +#endif  // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSIONS_H_
 | 
| 
 |