OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/media_stream_impl.h" | 5 #include "content/renderer/media/media_stream_impl.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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 size_t pos = manager_label.rfind("#"); | 66 size_t pos = manager_label.rfind("#"); |
67 // If # isn't found, the string is left intact. | 67 // If # isn't found, the string is left intact. |
68 manager_label = manager_label.substr(0, pos); | 68 manager_label = manager_label.substr(0, pos); |
69 return manager_label; | 69 return manager_label; |
70 } | 70 } |
71 | 71 |
72 | 72 |
73 int MediaStreamImpl::next_request_id_ = 0; | 73 int MediaStreamImpl::next_request_id_ = 0; |
74 | 74 |
75 MediaStreamImpl::MediaStreamImpl( | 75 MediaStreamImpl::MediaStreamImpl( |
| 76 content::RenderView* render_view, |
76 MediaStreamDispatcher* media_stream_dispatcher, | 77 MediaStreamDispatcher* media_stream_dispatcher, |
77 content::P2PSocketDispatcher* p2p_socket_dispatcher, | 78 content::P2PSocketDispatcher* p2p_socket_dispatcher, |
78 VideoCaptureImplManager* vc_manager, | 79 VideoCaptureImplManager* vc_manager, |
79 MediaStreamDependencyFactory* dependency_factory) | 80 MediaStreamDependencyFactory* dependency_factory) |
80 : dependency_factory_(dependency_factory), | 81 : content::RenderViewObserver(render_view), |
| 82 dependency_factory_(dependency_factory), |
81 media_stream_dispatcher_(media_stream_dispatcher), | 83 media_stream_dispatcher_(media_stream_dispatcher), |
82 p2p_socket_dispatcher_(p2p_socket_dispatcher), | 84 p2p_socket_dispatcher_(p2p_socket_dispatcher), |
83 network_manager_(NULL), | 85 network_manager_(NULL), |
84 vc_manager_(vc_manager), | 86 vc_manager_(vc_manager), |
85 signaling_thread_(NULL), | 87 signaling_thread_(NULL), |
86 worker_thread_(NULL), | 88 worker_thread_(NULL), |
87 chrome_worker_thread_("Chrome_libJingle_WorkerThread") { | 89 chrome_worker_thread_("Chrome_libJingle_WorkerThread") { |
88 } | 90 } |
89 | 91 |
90 MediaStreamImpl::~MediaStreamImpl() { | 92 MediaStreamImpl::~MediaStreamImpl() { |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 if (!chrome_worker_thread_.IsRunning()) { | 455 if (!chrome_worker_thread_.IsRunning()) { |
454 if (!chrome_worker_thread_.Start()) { | 456 if (!chrome_worker_thread_.Start()) { |
455 LOG(ERROR) << "Could not start worker thread"; | 457 LOG(ERROR) << "Could not start worker thread"; |
456 signaling_thread_ = NULL; | 458 signaling_thread_ = NULL; |
457 return false; | 459 return false; |
458 } | 460 } |
459 } | 461 } |
460 base::WaitableEvent event(true, false); | 462 base::WaitableEvent event(true, false); |
461 chrome_worker_thread_.message_loop()->PostTask(FROM_HERE, base::Bind( | 463 chrome_worker_thread_.message_loop()->PostTask(FROM_HERE, base::Bind( |
462 &MediaStreamImpl::InitializeWorkerThread, | 464 &MediaStreamImpl::InitializeWorkerThread, |
463 this, | 465 base::Unretained(this), |
464 &worker_thread_, | 466 &worker_thread_, |
465 &event)); | 467 &event)); |
466 event.Wait(); | 468 event.Wait(); |
467 DCHECK(worker_thread_); | 469 DCHECK(worker_thread_); |
468 } | 470 } |
469 | 471 |
470 if (!network_manager_) { | 472 if (!network_manager_) { |
471 base::WaitableEvent event(true, false); | 473 base::WaitableEvent event(true, false); |
472 chrome_worker_thread_.message_loop()->PostTask(FROM_HERE, base::Bind( | 474 chrome_worker_thread_.message_loop()->PostTask(FROM_HERE, base::Bind( |
473 &MediaStreamImpl::CreateIpcNetworkManagerOnWorkerThread, | 475 &MediaStreamImpl::CreateIpcNetworkManagerOnWorkerThread, |
474 this, | 476 base::Unretained(this), |
475 &event)); | 477 &event)); |
476 event.Wait(); | 478 event.Wait(); |
477 } | 479 } |
478 | 480 |
479 if (!socket_factory_.get()) { | 481 if (!socket_factory_.get()) { |
480 socket_factory_.reset( | 482 socket_factory_.reset( |
481 new content::IpcPacketSocketFactory(p2p_socket_dispatcher_)); | 483 new content::IpcPacketSocketFactory(p2p_socket_dispatcher_)); |
482 } | 484 } |
483 | 485 |
484 if (!dependency_factory_->PeerConnectionFactoryCreated()) { | 486 if (!dependency_factory_->PeerConnectionFactoryCreated()) { |
(...skipping 12 matching lines...) Expand all Loading... |
497 } | 499 } |
498 | 500 |
499 MediaStreamImpl::VideoRendererWrapper::VideoRendererWrapper() {} | 501 MediaStreamImpl::VideoRendererWrapper::VideoRendererWrapper() {} |
500 | 502 |
501 MediaStreamImpl::VideoRendererWrapper::~VideoRendererWrapper() {} | 503 MediaStreamImpl::VideoRendererWrapper::~VideoRendererWrapper() {} |
502 | 504 |
503 void MediaStreamImpl::VideoRendererWrapper::SetVideoDecoder( | 505 void MediaStreamImpl::VideoRendererWrapper::SetVideoDecoder( |
504 RTCVideoDecoder* decoder) { | 506 RTCVideoDecoder* decoder) { |
505 rtc_video_decoder_ = decoder; | 507 rtc_video_decoder_ = decoder; |
506 } | 508 } |
OLD | NEW |