OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ | 11 #ifndef WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ |
12 #define WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ | 12 #define WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ |
13 | 13 |
14 #include <stdint.h> | 14 #include <stdint.h> |
15 | 15 |
16 namespace webrtc { | 16 namespace webrtc { |
17 | 17 |
18 enum class VideoContentType : uint8_t { | 18 // Class designed to behave like enum to be included in RTP header structs. |
19 UNSPECIFIED = 0, | 19 struct VideoContentType { |
20 SCREENSHARE = 1, | 20 // Common content types used outside of experiments. |
21 TOTAL_CONTENT_TYPES // Must be the last value in the enum. | 21 static const VideoContentType UNSPECIFIED; |
22 static const VideoContentType SCREENSHARE; | |
23 | |
24 operator uint8_t() const; | |
25 | |
26 // No conversion constructor because otherwise this struct and many structs | |
27 // it's included into will be considered 'complex' and many chromium style | |
28 // errors will be generated. | |
29 | |
30 uint8_t operator=(uint8_t value); | |
31 bool operator==(const VideoContentType& other); | |
32 bool operator==(uint8_t value); | |
33 | |
34 void SetExperimentId(uint8_t experiment_id); | |
35 void SetSimulcastId(uint8_t simulcast_id); | |
36 | |
37 uint8_t GetExperimentId() const; | |
38 uint8_t GetSimulcastId() const; | |
39 | |
40 bool IsScreenshare() const; | |
41 | |
42 static bool IsValidContentType(uint8_t content_type); | |
43 | |
44 uint8_t content_type; | |
sprang_webrtc
2017/08/24 09:13:16
Should we add a SetScreenshare(bool) as well and m
ilnik
2017/08/25 12:35:07
Can't do. It will make this class to be considered
| |
22 }; | 45 }; |
23 | 46 |
24 } // namespace webrtc | 47 } // namespace webrtc |
25 | 48 |
26 #endif // WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ | 49 #endif // WEBRTC_API_VIDEO_VIDEO_CONTENT_TYPE_H_ |
OLD | NEW |