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

Side by Side Diff: chromecast/media/base/media_codec_support.cc

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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "chromecast/media/base/media_codec_support.h" 5 #include "chromecast/media/base/media_codec_support.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "chromecast/media/base/media_caps.h" 9 #include "chromecast/media/base/media_caps.h"
10 #include "chromecast/public/media_codec_support_shlib.h" 10 #include "chromecast/public/media_codec_support_shlib.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 // usual. 43 // usual.
44 return true; 44 return true;
45 } 45 }
46 46
47 } // namespace 47 } // namespace
48 48
49 ::media::IsCodecSupportedCB GetIsCodecSupportedOnChromecastCB() { 49 ::media::IsCodecSupportedCB GetIsCodecSupportedOnChromecastCB() {
50 return base::Bind(&IsCodecSupported); 50 return base::Bind(&IsCodecSupported);
51 } 51 }
52 52
53 // Converts ::media::VideoCodec to chromecast::media::VideoCodec. Any unknown or
54 // unsupported codec will be converted to chromecast::media::kCodecUnknown.
55 VideoCodec ToCastVideoCodec(const ::media::VideoCodec video_codec) {
56 switch (video_codec) {
57 case ::media::kCodecH264:
58 return kCodecH264;
59 case ::media::kCodecVP8:
60 return kCodecVP8;
61 case ::media::kCodecVP9:
62 return kCodecVP9;
63 case ::media::kCodecHEVC:
64 return kCodecHEVC;
65 default:
66 LOG(ERROR) << "Unsupported video codec " << video_codec;
67 }
68 return kVideoCodecUnknown;
69 }
70
71 // Converts ::media::VideoCodecProfile to chromecast::media::VideoProfile.
72 VideoProfile ToCastVideoProfile(
73 const ::media::VideoCodecProfile codec_profile) {
74 switch (codec_profile) {
75 case ::media::H264PROFILE_BASELINE:
76 return kH264Baseline;
77 case ::media::H264PROFILE_MAIN:
78 return kH264Main;
79 case ::media::H264PROFILE_EXTENDED:
80 return kH264Extended;
81 case ::media::H264PROFILE_HIGH:
82 return kH264High;
83 case ::media::H264PROFILE_HIGH10PROFILE:
84 return kH264High10;
85 case ::media::H264PROFILE_HIGH422PROFILE:
86 return kH264High422;
87 case ::media::H264PROFILE_HIGH444PREDICTIVEPROFILE:
88 return kH264High444Predictive;
89 case ::media::H264PROFILE_SCALABLEBASELINE:
90 return kH264ScalableBaseline;
91 case ::media::H264PROFILE_SCALABLEHIGH:
92 return kH264ScalableHigh;
93 case ::media::H264PROFILE_STEREOHIGH:
94 return kH264Stereohigh;
95 case ::media::H264PROFILE_MULTIVIEWHIGH:
96 return kH264MultiviewHigh;
97 case ::media::HEVCPROFILE_MAIN:
98 return kHEVCMain;
99 case ::media::HEVCPROFILE_MAIN10:
100 return kHEVCMain10;
101 case ::media::HEVCPROFILE_MAIN_STILL_PICTURE:
102 return kHEVCMainStillPicture;
103 case ::media::VP8PROFILE_ANY:
104 return kVP8ProfileAny;
105 case ::media::VP9PROFILE_PROFILE0:
106 return kVP9Profile0;
107 case ::media::VP9PROFILE_PROFILE1:
108 return kVP9Profile1;
109 case ::media::VP9PROFILE_PROFILE2:
110 return kVP9Profile2;
111 case ::media::VP9PROFILE_PROFILE3:
112 return kVP9Profile3;
113 default:
114 LOG(INFO) << "Unsupported video codec profile " << codec_profile;
115 }
116 return kVideoProfileUnknown;
117 }
118
53 } // namespace media 119 } // namespace media
54 } // namespace chromecast 120 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698