Chromium Code Reviews| Index: chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
| diff --git a/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc b/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
| index 73551d9cb89211ab8d6db2718cc0951f8391292b..fde508f6cd901134c52eb20d99a9658c04e3e58c 100644 |
| --- a/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
| +++ b/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
| @@ -34,6 +34,7 @@ void DialMediaSinkServiceImpl::Start() { |
| dial_registry_ = DialRegistry::GetInstance(); |
| dial_registry_->RegisterObserver(this); |
| dial_registry_->OnListenerAdded(); |
| + StartTimer(); |
| } |
| void DialMediaSinkServiceImpl::Stop() { |
| @@ -44,6 +45,7 @@ void DialMediaSinkServiceImpl::Stop() { |
| dial_registry_->OnListenerRemoved(); |
| dial_registry_->UnregisterObserver(this); |
| dial_registry_ = nullptr; |
| + finish_timer_.reset(); |
|
Kevin M
2017/05/24 00:52:55
This is calling unique_ptr::reset() which will des
zhaobin
2017/05/24 17:45:51
On purpose. Need to destroy timer so that OnDevice
Kevin M
2017/05/24 18:13:29
OnDeviceDescriptionAvailable() will segfault, thou
zhaobin
2017/05/25 21:27:06
No segfault in the latest patch.
|
| } |
| DeviceDescriptionService* DialMediaSinkServiceImpl::GetDescriptionService() { |
| @@ -80,11 +82,6 @@ void DialMediaSinkServiceImpl::OnDialDeviceEvent( |
| DVLOG(2) << "DialMediaSinkServiceImpl::OnDialDeviceEvent found " |
| << devices.size() << " devices"; |
| - // Timer starts in |OnDialDeviceEvent()|, and expires 3 seconds later. If |
| - // |OnDeviceDescriptionAvailable()| is called after |finish_timer_| expires, |
| - // |finish_timer_| is restarted. |
| - StartTimer(); |
| - |
| current_sinks_.clear(); |
| current_devices_ = devices; |