Chromium Code Reviews| Index: content/renderer/media/rtc_video_encoder_factory.cc |
| diff --git a/content/renderer/media/rtc_video_encoder_factory.cc b/content/renderer/media/rtc_video_encoder_factory.cc |
| index df9d959fbdd8c74e95abdb0cc4c2c4e767253969..dfb8685c4c310e998e4c0f20de9a24948dd37b90 100644 |
| --- a/content/renderer/media/rtc_video_encoder_factory.cc |
| +++ b/content/renderer/media/rtc_video_encoder_factory.cc |
| @@ -44,21 +44,6 @@ void VEAToWebRTCCodecs( |
| } |
| } |
| -// Translate from cricket::WebRtcVideoEncoderFactory::VideoCodec to |
| -// media::VideoCodecProfile. Pick a default profile for each codec type. |
| -media::VideoCodecProfile WebRTCCodecToVideoCodecProfile( |
| - webrtc::VideoCodecType type) { |
| - switch (type) { |
| - case webrtc::kVideoCodecVP8: |
| - return media::VP8PROFILE_ANY; |
| - case webrtc::kVideoCodecH264: |
| - case webrtc::kVideoCodecGeneric: |
| - return media::H264PROFILE_MAIN; |
| - default: |
| - return media::VIDEO_CODEC_PROFILE_UNKNOWN; |
| - } |
| -} |
| - |
| } // anonymous namespace |
| RTCVideoEncoderFactory::RTCVideoEncoderFactory( |
| @@ -72,6 +57,34 @@ RTCVideoEncoderFactory::RTCVideoEncoderFactory( |
| RTCVideoEncoderFactory::~RTCVideoEncoderFactory() {} |
| +// Translate from webrtc::VideoCodecType and webrtc::VideoCodec to |
| +// media::VideoCodecProfile. |
| +// static |
| +media::VideoCodecProfile RTCVideoEncoderFactory::GetCodecProfile( |
| + webrtc::VideoCodecType type, const webrtc::VideoCodec* codec_settings) { |
| + DCHECK_EQ(type, codec_settings->codecType); |
| + switch (type) { |
| + case webrtc::kVideoCodecVP8: |
| + return media::VP8PROFILE_ANY; |
| + case webrtc::kVideoCodecH264: { |
| + switch (codec_settings->codecSpecific.H264.profile) { |
| + case webrtc::kProfileBase: |
| + return media::H264PROFILE_BASELINE; |
| + case webrtc::kProfileMain: |
| + return media::H264PROFILE_MAIN; |
| + default: |
|
Pawel Osciak
2014/10/25 01:23:04
There are only two cases and we are handling both.
hshi1
2014/10/25 01:36:51
Done.
|
| + NOTREACHED() << "Unrecognized H264 video codec profile"; |
| + return media::VIDEO_CODEC_PROFILE_UNKNOWN; |
| + } |
| + } |
| + case webrtc::kVideoCodecGeneric: |
| + return media::H264PROFILE_MAIN; |
| + default: |
| + NOTREACHED() << "Unrecognized video codec type"; |
| + return media::VIDEO_CODEC_PROFILE_UNKNOWN; |
| + } |
| +} |
| + |
| webrtc::VideoEncoder* RTCVideoEncoderFactory::CreateVideoEncoder( |
| webrtc::VideoCodecType type) { |
| bool found = false; |
| @@ -83,8 +96,7 @@ webrtc::VideoEncoder* RTCVideoEncoderFactory::CreateVideoEncoder( |
| } |
| if (!found) |
| return NULL; |
| - return new RTCVideoEncoder( |
| - type, WebRTCCodecToVideoCodecProfile(type), gpu_factories_); |
| + return new RTCVideoEncoder(type, gpu_factories_); |
| } |
| const std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec>& |