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 #include "remoting/client/plugin/pepper_video_renderer_3d.h" | 5 #include "remoting/client/plugin/pepper_video_renderer_3d.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
153 } | 153 } |
154 | 154 |
155 void PepperVideoRenderer3D::OnSessionConfig( | 155 void PepperVideoRenderer3D::OnSessionConfig( |
156 const protocol::SessionConfig& config) { | 156 const protocol::SessionConfig& config) { |
157 PP_VideoProfile video_profile = PP_VIDEOPROFILE_VP8_ANY; | 157 PP_VideoProfile video_profile = PP_VIDEOPROFILE_VP8_ANY; |
158 switch (config.video_config().codec) { | 158 switch (config.video_config().codec) { |
159 case protocol::ChannelConfig::CODEC_VP8: | 159 case protocol::ChannelConfig::CODEC_VP8: |
160 video_profile = PP_VIDEOPROFILE_VP8_ANY; | 160 video_profile = PP_VIDEOPROFILE_VP8_ANY; |
161 break; | 161 break; |
162 case protocol::ChannelConfig::CODEC_VP9: | 162 case protocol::ChannelConfig::CODEC_VP9: |
163 video_profile = PP_VIDEOPROFILE_VP9_ANY; | 163 video_profile = PP_VIDEOPROFILE_VP9_PROFILE3; |
DaleCurtis
2016/03/09 18:49:47
Why?
servolk
2016/03/09 19:32:33
Well, previously we used VP9_ANY here, which meant
DaleCurtis
2016/03/09 21:48:47
I think your reasoning is sound, but was calling o
servolk
2016/03/09 21:52:40
Ok, I've made a change to use profile3 in ffmpeg_c
ddorwin
2016/03/09 22:20:05
IIUC, there is not currently a way to specify othe
servolk
2016/03/09 22:27:42
Yes, currently we won't use any other VP9 profiles
ddorwin
2016/03/09 23:30:09
My point is that any data that does not specify th
servolk
2016/03/09 23:42:10
I agree that most existing content is likely profi
servolk
2016/03/24 18:09:52
I've changed this to profile0 now, see the explana
| |
164 break; | 164 break; |
165 default: | 165 default: |
166 NOTREACHED(); | 166 NOTREACHED(); |
167 } | 167 } |
168 | 168 |
169 int32_t result = video_decoder_.Initialize( | 169 int32_t result = video_decoder_.Initialize( |
170 graphics_, video_profile, PP_HARDWAREACCELERATION_WITHFALLBACK, | 170 graphics_, video_profile, PP_HARDWAREACCELERATION_WITHFALLBACK, |
171 kMinimumPictureCount, | 171 kMinimumPictureCount, |
172 callback_factory_.NewCallback(&PepperVideoRenderer3D::OnInitialized)); | 172 callback_factory_.NewCallback(&PepperVideoRenderer3D::OnInitialized)); |
173 CHECK_EQ(result, PP_OK_COMPLETIONPENDING) | 173 CHECK_EQ(result, PP_OK_COMPLETIONPENDING) |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
524 gles2_if_->AttachShader(graphics_.pp_resource(), shader_program_, shader); | 524 gles2_if_->AttachShader(graphics_.pp_resource(), shader_program_, shader); |
525 gles2_if_->DeleteShader(graphics_.pp_resource(), shader); | 525 gles2_if_->DeleteShader(graphics_.pp_resource(), shader); |
526 } | 526 } |
527 | 527 |
528 void PepperVideoRenderer3D::CheckGLError() { | 528 void PepperVideoRenderer3D::CheckGLError() { |
529 GLenum error = gles2_if_->GetError(graphics_.pp_resource()); | 529 GLenum error = gles2_if_->GetError(graphics_.pp_resource()); |
530 CHECK_EQ(error, static_cast<GLenum>(GL_NO_ERROR)) << "GL error: " << error; | 530 CHECK_EQ(error, static_cast<GLenum>(GL_NO_ERROR)) << "GL error: " << error; |
531 } | 531 } |
532 | 532 |
533 } // namespace remoting | 533 } // namespace remoting |
OLD | NEW |