OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "content/public/renderer/media_stream_source_api.h" | |
6 | |
7 #include "base/callback.h" | |
8 #include "base/strings/utf_string_conversions.h" | |
9 #include "content/renderer/media/media_stream_audio_source.h" | |
10 #include "content/renderer/media/media_stream_video_capturer_source.h" | |
11 #include "media/base/audio_capturer_source.h" | |
12 #include "media/base/video_capturer_source.h" | |
13 #include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" | |
14 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" | |
15 | |
16 namespace content { | |
17 | |
18 void InitializeWebMediaStreamSourceForVideo( | |
19 scoped_ptr<media::VideoCapturerSource> source, | |
20 blink::WebMediaStreamSource* webkit_source, | |
21 bool is_remote, | |
22 bool is_readonly) { | |
23 webkit_source->initialize(base::UTF8ToUTF16(""), | |
24 blink::WebMediaStreamSource::TypeVideo, | |
25 base::UTF8ToUTF16(""), | |
26 is_remote, | |
27 is_readonly); | |
28 webkit_source->setExtraData( | |
29 new content::MediaStreamVideoCapturerSource( | |
30 content::MediaStreamSource::SourceStoppedCallback(), | |
31 source.Pass())); | |
32 } | |
33 | |
34 void InitializeSourceForAudioWebMediaStream( | |
35 scoped_refptr<media::AudioCapturerSource> source, | |
36 blink::WebMediaStreamSource* webkit_source, | |
37 bool is_remote, | |
38 bool is_readonly) { | |
39 webkit_source->initialize(base::UTF8ToUTF16(""), | |
40 blink::WebMediaStreamSource::TypeAudio, | |
41 base::UTF8ToUTF16(""), | |
42 is_remote, | |
43 is_readonly); | |
44 MediaStreamAudioSource* audio_source( | |
perkj_chrome
2015/02/10 15:29:51
This seems to require dark art in order to get rig
hubbe
2015/02/11 22:38:17
Acknowledged.
| |
45 new MediaStreamAudioSource( | |
46 -1, | |
47 StreamDeviceInfo(), | |
48 content::MediaStreamSource::SourceStoppedCallback(), | |
49 RenderThreadImpl::current()->GetPeerConnectionDependencyFactory())); | |
50 scoped_refptr<WebRtcAudioCapturer> capturer( | |
51 WebRtcAudioCapturer::CreateCapturer( | |
52 -1, | |
53 StreamDeviceInfo(), | |
54 blink::WebMediaConstraints(), | |
55 NULL, | |
miu
2015/02/11 02:52:50
nit: nullptr
hubbe
2015/02/11 22:38:17
Done.
| |
56 audio_source)); | |
57 media::AudioParameters params; | |
58 capturer->SetCapturerSource(source, params); | |
miu
2015/02/11 02:52:50
It works with invalid AudioParameters? Is that be
hubbe
2015/02/11 22:38:17
Unfortunately I have not been able to properly tes
| |
59 audio_source->SetAudioCapturer(capturer); | |
60 webkit_source->setExtraData(audio_source); | |
61 } | |
62 | |
63 } // namespace content | |
OLD | NEW |