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

Side by Side Diff: third_party/WebKit/Source/modules/media_capabilities/MediaCapabilities.cpp

Issue 2813133002: Media Capabilities: add MediaDecodingConfiguration.idl and update to Spec (Closed)
Patch Set: 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "modules/media_capabilities/MediaCapabilities.h" 5 #include "modules/media_capabilities/MediaCapabilities.h"
6 6
7 #include "bindings/core/v8/CallbackPromiseAdapter.h" 7 #include "bindings/core/v8/CallbackPromiseAdapter.h"
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptPromiseResolver.h" 9 #include "bindings/core/v8/ScriptPromiseResolver.h"
10 #include "bindings/core/v8/ScriptState.h" 10 #include "bindings/core/v8/ScriptState.h"
11 #include "modules/media_capabilities/MediaCapabilitiesInfo.h" 11 #include "modules/media_capabilities/MediaCapabilitiesInfo.h"
12 #include "modules/media_capabilities/MediaConfiguration.h" 12 #include "modules/media_capabilities/MediaDecodingConfiguration.h"
13 #include "public/platform/Platform.h" 13 #include "public/platform/Platform.h"
14 #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesClient. h" 14 #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesClient. h"
15 #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h" 15 #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h"
16 #include "public/platform/modules/media_capabilities/WebMediaConfiguration.h" 16 #include "public/platform/modules/media_capabilities/WebMediaConfiguration.h"
17 17
18 namespace blink { 18 namespace blink {
19 19
20 namespace { 20 namespace {
21 21
22 WebAudioConfiguration ToWebAudioConfiguration( 22 WebAudioConfiguration ToWebAudioConfiguration(
23 const AudioConfiguration& configuration) { 23 const AudioConfiguration& configuration) {
24 WebAudioConfiguration web_configuration; 24 WebAudioConfiguration web_configuration;
25 25
26 // contentType is mandatory. 26 // |contentType| is mandatory.
27 DCHECK(configuration.hasContentType()); 27 DCHECK(configuration.hasContentType());
28 web_configuration.content_type = configuration.contentType(); 28 web_configuration.content_type = configuration.contentType();
29 29
30 // channels is optional and will be set to a null WebString if not present. 30 // |channels| is optional and will be set to a null WebString if not present.
31 web_configuration.channels = configuration.hasChannels() 31 web_configuration.channels = configuration.hasChannels()
32 ? WebString(configuration.channels()) 32 ? WebString(configuration.channels())
33 : WebString(); 33 : WebString();
34 34
35 if (configuration.hasBitrate()) 35 if (configuration.hasBitrate())
36 web_configuration.bitrate = configuration.bitrate(); 36 web_configuration.bitrate = configuration.bitrate();
37 37
38 if (configuration.hasSamplerate()) 38 if (configuration.hasSamplerate())
39 web_configuration.samplerate = configuration.samplerate(); 39 web_configuration.samplerate = configuration.samplerate();
40 40
(...skipping 17 matching lines...) Expand all
58 DCHECK(configuration.hasBitrate()); 58 DCHECK(configuration.hasBitrate());
59 web_configuration.bitrate = configuration.bitrate(); 59 web_configuration.bitrate = configuration.bitrate();
60 60
61 DCHECK(configuration.hasFramerate()); 61 DCHECK(configuration.hasFramerate());
62 web_configuration.framerate = configuration.framerate(); 62 web_configuration.framerate = configuration.framerate();
63 63
64 return web_configuration; 64 return web_configuration;
65 } 65 }
66 66
67 WebMediaConfiguration ToWebMediaConfiguration( 67 WebMediaConfiguration ToWebMediaConfiguration(
68 const MediaConfiguration& configuration) { 68 const MediaDecodingConfiguration& configuration) {
69 WebMediaConfiguration web_configuration; 69 WebMediaConfiguration web_configuration;
70 70
71 // type is mandatory. 71 // |type| is mandatory.
72 DCHECK(configuration.hasType()); 72 DCHECK(configuration.hasType());
73 73
74 if (configuration.hasAudio()) { 74 if (configuration.hasAudio()) {
75 web_configuration.audio_configuration = 75 web_configuration.audio_configuration =
76 ToWebAudioConfiguration(configuration.audio()); 76 ToWebAudioConfiguration(configuration.audio());
77 } 77 }
78 78
79 if (configuration.hasVideo()) { 79 if (configuration.hasVideo()) {
80 web_configuration.video_configuration = 80 web_configuration.video_configuration =
81 ToWebVideoConfiguration(configuration.video()); 81 ToWebVideoConfiguration(configuration.video());
82 } 82 }
83 83
84 return web_configuration; 84 return web_configuration;
85 } 85 }
86 86
87 } // anonymous namespace 87 } // anonymous namespace
88 88
89 MediaCapabilities::MediaCapabilities() = default; 89 MediaCapabilities::MediaCapabilities() = default;
90 90
91 ScriptPromise MediaCapabilities::decodingInfo( 91 ScriptPromise MediaCapabilities::decodingInfo(
92 ScriptState* script_state, 92 ScriptState* script_state,
93 const MediaConfiguration& configuration) { 93 const MediaDecodingConfiguration& configuration) {
94 ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state); 94 ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
95 ScriptPromise promise = resolver->Promise(); 95 ScriptPromise promise = resolver->Promise();
96 96
97 Platform::Current()->MediaCapabilitiesClient()->DecodingInfo( 97 Platform::Current()->MediaCapabilitiesClient()->DecodingInfo(
98 ToWebMediaConfiguration(configuration), 98 ToWebMediaConfiguration(configuration),
99 WTF::MakeUnique<CallbackPromiseAdapter<MediaCapabilitiesInfo, void>>( 99 WTF::MakeUnique<CallbackPromiseAdapter<MediaCapabilitiesInfo, void>>(
100 resolver)); 100 resolver));
101 101
102 return promise; 102 return promise;
103 } 103 }
104 104
105 DEFINE_TRACE(MediaCapabilities) {} 105 DEFINE_TRACE(MediaCapabilities) {}
106 106
107 } // namespace blink 107 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698