summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/media/audio_sync_reader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host/media/audio_sync_reader.cc')
-rw-r--r--content/browser/renderer_host/media/audio_sync_reader.cc11
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() {