diff options
Diffstat (limited to 'content/browser/renderer_host/media/audio_sync_reader.cc')
-rw-r--r-- | content/browser/renderer_host/media/audio_sync_reader.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/content/browser/renderer_host/media/audio_sync_reader.cc b/content/browser/renderer_host/media/audio_sync_reader.cc index f9c8a4a..7e21cf1 100644 --- a/content/browser/renderer_host/media/audio_sync_reader.cc +++ b/content/browser/renderer_host/media/audio_sync_reader.cc @@ -36,7 +36,10 @@ void AudioSyncReader::UpdatePendingBytes(uint32 bytes) { shared_memory_, media::PacketSizeSizeInBytes(shared_memory_->created_size())); } - socket_->Send(&bytes, sizeof(bytes)); + base::AutoLock auto_lock(lock_); + if (socket_.get()) { + socket_->Send(&bytes, sizeof(bytes)); + } } uint32 AudioSyncReader::Read(void* data, uint32 size) { @@ -81,7 +84,11 @@ uint32 AudioSyncReader::Read(void* data, uint32 size) { } void AudioSyncReader::Close() { - socket_->Close(); + base::AutoLock auto_lock(lock_); + if (socket_.get()) { + socket_->Close(); + socket_.reset(NULL); + } } bool AudioSyncReader::Init() { |