Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Side by Side Diff: chromecast/common/media/cast_media_client.h

Issue 2156193003: [Chromecast] Add a custom CastMediaClient for Chromecast (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@codecs
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROMECAST_COMMON_MEDIA_CAST_MEDIA_CLIENT_H_
6 #define CHROMECAST_COMMON_MEDIA_CAST_MEDIA_CLIENT_H_
7
8 #include "base/lazy_instance.h"
9 #include "base/macros.h"
10 #include "media/base/media_client.h"
11
12 namespace chromecast {
13 namespace media {
14
15 // Forwards MediaClient::IsSupportedVideoConfig calls to MediaCapabilitiesShlib
16 // and the rest of the calls to the default content media client (i.e.
17 // content::RenderMediaClient).
18 class CastMediaClient : public ::media::MediaClient {
19 public:
20 // Initialize CastMediaClient and SetMediaClient(). Note that the instance
21 // is not exposed because no content code needs to directly access it.
22 static void Initialize();
23
24 // MediaClient implementation
25 void AddKeySystemsInfoForUMA(std::vector<::media::KeySystemInfoForUMA>*
26 key_systems_info_for_uma) override;
27 bool IsKeySystemsUpdateNeeded() override;
28 void AddSupportedKeySystems(
29 std::vector<std::unique_ptr<::media::KeySystemProperties>>*
30 key_systems_properties) override;
31 void RecordRapporURL(const std::string& metric, const GURL& url) override;
32 bool IsSupportedVideoConfig(::media::VideoCodec codec,
33 ::media::VideoCodecProfile profile,
34 int level) override;
35
36 private:
37 friend struct base::DefaultLazyInstanceTraits<CastMediaClient>;
38
39 CastMediaClient();
40 ~CastMediaClient() override;
41
42 ::media::MediaClient* content_media_client_;
43
44 DISALLOW_COPY_AND_ASSIGN(CastMediaClient);
45 };
46
47 } // namespace media
48 } // namespace chromecast
49
50 #endif // CHROMECAST_COMMON_MEDIA_CAST_MEDIA_CLIENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698