| OLD | NEW |
| 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 Loading... |
| 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 |
| OLD | NEW |