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

Side by Side Diff: content/renderer/media_recorder/video_track_recorder.cc

Issue 2801803002: Android: enable H264&VP8 HW accelerator for MediaRecorder (Closed)
Patch Set: correct alpha setting in webm_muxer instead of demuxer Created 3 years, 8 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 "content/renderer/media_recorder/video_track_recorder.h" 5 #include "content/renderer/media_recorder/video_track_recorder.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 using CodecId = VideoTrackRecorder::CodecId; 44 using CodecId = VideoTrackRecorder::CodecId;
45 45
46 static const struct { 46 static const struct {
47 CodecId codec_id; 47 CodecId codec_id;
48 media::VideoCodecProfile min_profile; 48 media::VideoCodecProfile min_profile;
49 media::VideoCodecProfile max_profile; 49 media::VideoCodecProfile max_profile;
50 } kPreferredCodecIdAndVEAProfiles[] = { 50 } kPreferredCodecIdAndVEAProfiles[] = {
51 {CodecId::VP8, media::VP8PROFILE_MIN, media::VP8PROFILE_MAX}, 51 {CodecId::VP8, media::VP8PROFILE_MIN, media::VP8PROFILE_MAX},
52 {CodecId::VP9, media::VP9PROFILE_MIN, media::VP9PROFILE_MAX}, 52 {CodecId::VP9, media::VP9PROFILE_MIN, media::VP9PROFILE_MAX},
53 #if BUILDFLAG(RTC_USE_H264) 53 #if BUILDFLAG(RTC_USE_H264) || defined(OS_ANDROID)
54 {CodecId::H264, media::H264PROFILE_MIN, media::H264PROFILE_MAX} 54 {CodecId::H264, media::H264PROFILE_MIN, media::H264PROFILE_MAX}
55 #endif 55 #endif
56 }; 56 };
57 57
58 static_assert(arraysize(kPreferredCodecIdAndVEAProfiles) == 58 static_assert(arraysize(kPreferredCodecIdAndVEAProfiles) ==
59 static_cast<int>(CodecId::LAST), 59 static_cast<int>(CodecId::LAST),
60 "|kPreferredCodecIdAndVEAProfiles| should consider all CodecIds"); 60 "|kPreferredCodecIdAndVEAProfiles| should consider all CodecIds");
61 61
62 // Class to encapsulate the enumeration of CodecIds/VideoCodecProfiles supported 62 // Class to encapsulate the enumeration of CodecIds/VideoCodecProfiles supported
63 // by the VEA underlying platform. Provides methods to query the preferred 63 // by the VEA underlying platform. Provides methods to query the preferred
(...skipping 22 matching lines...) Expand all
86 static CodecEnumerator* enumerator = new CodecEnumerator(); 86 static CodecEnumerator* enumerator = new CodecEnumerator();
87 return enumerator; 87 return enumerator;
88 } 88 }
89 89
90 CodecEnumerator::CodecEnumerator() { 90 CodecEnumerator::CodecEnumerator() {
91 #if defined(OS_CHROMEOS) 91 #if defined(OS_CHROMEOS)
92 // See https://crbug.com/616659. 92 // See https://crbug.com/616659.
93 return; 93 return;
94 #endif 94 #endif
95 95
96 #if defined(OS_ANDROID)
97 // See https://crbug.com/653864.
98 return;
99 #endif
100
101 content::RenderThreadImpl* const render_thread_impl = 96 content::RenderThreadImpl* const render_thread_impl =
102 content::RenderThreadImpl::current(); 97 content::RenderThreadImpl::current();
103 if (!render_thread_impl) { 98 if (!render_thread_impl) {
104 DVLOG(2) << "Couldn't access the render thread"; 99 DVLOG(2) << "Couldn't access the render thread";
105 return; 100 return;
106 } 101 }
107 102
108 media::GpuVideoAcceleratorFactories* const gpu_factories = 103 media::GpuVideoAcceleratorFactories* const gpu_factories =
109 render_thread_impl->GetGpuFactories(); 104 render_thread_impl->GetGpuFactories();
110 if (!gpu_factories || !gpu_factories->IsGpuVideoAcceleratorEnabled()) { 105 if (!gpu_factories || !gpu_factories->IsGpuVideoAcceleratorEnabled()) {
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 MediaStreamVideoSink::DisconnectFromTrack(); 430 MediaStreamVideoSink::DisconnectFromTrack();
436 encoder_ = nullptr; 431 encoder_ = nullptr;
437 MediaStreamVideoSink::ConnectToTrack( 432 MediaStreamVideoSink::ConnectToTrack(
438 track_, 433 track_,
439 media::BindToCurrentLoop(base::Bind(initialize_encoder_callback_, 434 media::BindToCurrentLoop(base::Bind(initialize_encoder_callback_,
440 false /*allow_vea_encoder*/)), 435 false /*allow_vea_encoder*/)),
441 false); 436 false);
442 } 437 }
443 438
444 } // namespace content 439 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698