OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_BASE_MEDIA_CLIENT_H_ | 5 #ifndef MEDIA_BASE_MEDIA_CLIENT_H_ |
6 #define MEDIA_BASE_MEDIA_CLIENT_H_ | 6 #define MEDIA_BASE_MEDIA_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "media/base/key_system_properties.h" | 11 #include "media/base/key_system_properties.h" |
12 #include "media/base/media_export.h" | 12 #include "media/base/media_export.h" |
13 #include "media/base/video_codecs.h" | 13 #include "media/base/video_codecs.h" |
| 14 #include "ui/gfx/color_space.h" |
14 #include "url/gurl.h" | 15 #include "url/gurl.h" |
15 | 16 |
16 namespace media { | 17 namespace media { |
17 | 18 |
18 class MediaClient; | 19 class MediaClient; |
19 | 20 |
20 // Setter for the client. If a customized client is needed, it should be set | 21 // Setter for the client. If a customized client is needed, it should be set |
21 // early, before the client could possibly be used. | 22 // early, before the client could possibly be used. |
22 MEDIA_EXPORT void SetMediaClient(MediaClient* media_client); | 23 MEDIA_EXPORT void SetMediaClient(MediaClient* media_client); |
23 | 24 |
24 // Media's embedder API should only be used by media. | 25 // Media's embedder API should only be used by media. |
25 #if defined(MEDIA_IMPLEMENTATION) || defined(MEDIA_BLINK_IMPLEMENTATION) | 26 #if defined(MEDIA_IMPLEMENTATION) || defined(MEDIA_BLINK_IMPLEMENTATION) |
26 // Getter for the client. Returns NULL if no customized client is needed. | 27 // Getter for the client. Returns NULL if no customized client is needed. |
27 MEDIA_EXPORT MediaClient* GetMediaClient(); | 28 MEDIA_EXPORT MediaClient* GetMediaClient(); |
28 #endif | 29 #endif |
29 | 30 |
| 31 struct MEDIA_EXPORT VideoConfig { |
| 32 VideoCodec codec; |
| 33 VideoCodecProfile profile; |
| 34 int level; |
| 35 gfx::ColorSpace::TransferID eotf; |
| 36 }; |
| 37 |
30 struct MEDIA_EXPORT KeySystemInfoForUMA { | 38 struct MEDIA_EXPORT KeySystemInfoForUMA { |
31 KeySystemInfoForUMA(const std::string& key_system, | 39 KeySystemInfoForUMA(const std::string& key_system, |
32 const std::string& key_system_name_for_uma); | 40 const std::string& key_system_name_for_uma); |
33 ~KeySystemInfoForUMA(); | 41 ~KeySystemInfoForUMA(); |
34 | 42 |
35 // Concrete key system name; | 43 // Concrete key system name; |
36 std::string key_system; | 44 std::string key_system; |
37 | 45 |
38 // Display name for UMA reporting. For example, the display name for | 46 // Display name for UMA reporting. For example, the display name for |
39 // "org.w3.clearkey" is "ClearKey". When providing this value, make sure to | 47 // "org.w3.clearkey" is "ClearKey". When providing this value, make sure to |
(...skipping 21 matching lines...) Expand all Loading... |
61 virtual void AddSupportedKeySystems( | 69 virtual void AddSupportedKeySystems( |
62 std::vector<std::unique_ptr<KeySystemProperties>>* | 70 std::vector<std::unique_ptr<KeySystemProperties>>* |
63 key_systems_properties) = 0; | 71 key_systems_properties) = 0; |
64 | 72 |
65 // Records a domain and registry of a url to a Rappor privacy-preserving | 73 // Records a domain and registry of a url to a Rappor privacy-preserving |
66 // metric. See: https://www.chromium.org/developers/design-documents/rappor | 74 // metric. See: https://www.chromium.org/developers/design-documents/rappor |
67 virtual void RecordRapporURL(const std::string& metric, const GURL& url) = 0; | 75 virtual void RecordRapporURL(const std::string& metric, const GURL& url) = 0; |
68 | 76 |
69 // Returns true if the given combination of video codec, profile and level is | 77 // Returns true if the given combination of video codec, profile and level is |
70 // supported. The |level| value is codec-specific. | 78 // supported. The |level| value is codec-specific. |
71 virtual bool IsSupportedVideoConfig(VideoCodec codec, | 79 virtual bool IsSupportedVideoConfig(const VideoConfig& config) = 0; |
72 VideoCodecProfile profile, | |
73 int level) = 0; | |
74 }; | 80 }; |
75 | 81 |
76 } // namespace media | 82 } // namespace media |
77 | 83 |
78 #endif // MEDIA_BASE_MEDIA_CLIENT_H_ | 84 #endif // MEDIA_BASE_MEDIA_CLIENT_H_ |
OLD | NEW |