Chromium Code Reviews| 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 #ifndef MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ | 5 #ifndef MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ |
| 6 #define MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ | 6 #define MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 // be made (IOW after Stop() returns, it is safe to delete the callback). | 90 // be made (IOW after Stop() returns, it is safe to delete the callback). |
| 91 // The |loop_for_join| parameter is required for asynchronous operation | 91 // The |loop_for_join| parameter is required for asynchronous operation |
| 92 // in order to join the worker thread and close the thread handle later via a | 92 // in order to join the worker thread and close the thread handle later via a |
| 93 // posted task. | 93 // posted task. |
| 94 // If set to NULL, function will wait for the thread to exit before returning. | 94 // If set to NULL, function will wait for the thread to exit before returning. |
| 95 void Stop(base::MessageLoop* loop_for_join); | 95 void Stop(base::MessageLoop* loop_for_join); |
| 96 | 96 |
| 97 // Returns true if the thread is stopped or stopping. | 97 // Returns true if the thread is stopped or stopping. |
| 98 bool IsStopped(); | 98 bool IsStopped(); |
| 99 | 99 |
| 100 // Returns true if called on the device thread, otherwise false. | |
| 101 bool BelongsToRenderingThread(); | |
|
tommi (sloooow) - chröme
2016/06/13 14:15:21
similarly, CurrentThreadIsDeviceThread()
Henrik Grunell
2016/06/14 11:30:01
Removed.
| |
| 102 | |
| 100 private: | 103 private: |
| 101 // Our own private SimpleThread override. We implement this in a | 104 // Our own private SimpleThread override. We implement this in a |
| 102 // private class so that we get the following benefits: | 105 // private class so that we get the following benefits: |
| 103 // 1) AudioDeviceThread doesn't expose SimpleThread methods. | 106 // 1) AudioDeviceThread doesn't expose SimpleThread methods. |
| 104 // I.e. the caller can't call Start()/Stop() - which would be bad. | 107 // I.e. the caller can't call Start()/Stop() - which would be bad. |
| 105 // 2) We override ThreadMain to add additional on-thread initialization | 108 // 2) We override ThreadMain to add additional on-thread initialization |
| 106 // while still synchronized with SimpleThread::Start() to provide | 109 // while still synchronized with SimpleThread::Start() to provide |
| 107 // reliable initialization. | 110 // reliable initialization. |
| 108 class Thread; | 111 class Thread; |
| 109 | 112 |
| 110 base::Lock thread_lock_; | 113 base::Lock thread_lock_; |
| 111 scoped_refptr<AudioDeviceThread::Thread> thread_; | 114 scoped_refptr<AudioDeviceThread::Thread> thread_; |
| 112 | 115 |
| 113 DISALLOW_COPY_AND_ASSIGN(AudioDeviceThread); | 116 DISALLOW_COPY_AND_ASSIGN(AudioDeviceThread); |
| 114 }; | 117 }; |
| 115 | 118 |
| 116 } // namespace media. | 119 } // namespace media. |
| 117 | 120 |
| 118 #endif // MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ | 121 #endif // MEDIA_AUDIO_AUDIO_DEVICE_THREAD_H_ |
| OLD | NEW |