| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ |
| 6 #define CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ | 6 #define CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 | 9 |
| 10 #include "base/atomicops.h" | 10 #include "base/atomicops.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 // (the renderer process cannot modify the size and make the browser process | 167 // (the renderer process cannot modify the size and make the browser process |
| 168 // access out of range addresses). | 168 // access out of range addresses). |
| 169 size_t size_; | 169 size_t size_; |
| 170 | 170 |
| 171 // TODO(damienv): This is a work-around since atomicops.h does not define | 171 // TODO(damienv): This is a work-around since atomicops.h does not define |
| 172 // an atomic size_t type. | 172 // an atomic size_t type. |
| 173 #if SIZE_MAX == UINT32_MAX | 173 #if SIZE_MAX == UINT32_MAX |
| 174 typedef base::subtle::Atomic32 AtomicSize; | 174 typedef base::subtle::Atomic32 AtomicSize; |
| 175 #elif SIZE_MAX == UINT64_MAX | 175 #elif SIZE_MAX == UINT64_MAX |
| 176 typedef base::subtle::Atomic64 AtomicSize; | 176 typedef base::subtle::Atomic64 AtomicSize; |
| 177 #elif | 177 #else |
| 178 #error "Unsupported size_t" | 178 #error "Unsupported size_t" |
| 179 #endif | 179 #endif |
| 180 AtomicSize* rd_offset_; | 180 AtomicSize* rd_offset_; |
| 181 AtomicSize* wr_offset_; | 181 AtomicSize* wr_offset_; |
| 182 | 182 |
| 183 // Internal read offset: this is where data is actually read from. | 183 // Internal read offset: this is where data is actually read from. |
| 184 // The external offset |rd_offset_| is only used to protect data from being | 184 // The external offset |rd_offset_| is only used to protect data from being |
| 185 // overwritten by the feeder. | 185 // overwritten by the feeder. |
| 186 // At any time, the internal read pointer must be between the external read | 186 // At any time, the internal read pointer must be between the external read |
| 187 // offset and the write offset (circular fifo definition of "between"). | 187 // offset and the write offset (circular fifo definition of "between"). |
| (...skipping 11 matching lines...) Expand all Loading... |
| 199 base::WeakPtr<MediaMessageFifo> weak_this_; | 199 base::WeakPtr<MediaMessageFifo> weak_this_; |
| 200 base::WeakPtrFactory<MediaMessageFifo> weak_factory_; | 200 base::WeakPtrFactory<MediaMessageFifo> weak_factory_; |
| 201 | 201 |
| 202 DISALLOW_COPY_AND_ASSIGN(MediaMessageFifo); | 202 DISALLOW_COPY_AND_ASSIGN(MediaMessageFifo); |
| 203 }; | 203 }; |
| 204 | 204 |
| 205 } // namespace media | 205 } // namespace media |
| 206 } // namespace chromecast | 206 } // namespace chromecast |
| 207 | 207 |
| 208 #endif // CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ | 208 #endif // CHROMECAST_MEDIA_CMA_IPC_MEDIA_MESSAGE_FIFO_H_ |
| OLD | NEW |