Chromium Code Reviews| Index: media/cast/audio_receiver/audio_decoder.h |
| diff --git a/media/cast/audio_receiver/audio_decoder.h b/media/cast/audio_receiver/audio_decoder.h |
| index d7c6a792c13ee8765dcfa68f42f5243c7caf8163..c177f0355e53341292bea906a7b9f5c1d9655f57 100644 |
| --- a/media/cast/audio_receiver/audio_decoder.h |
| +++ b/media/cast/audio_receiver/audio_decoder.h |
| @@ -5,8 +5,8 @@ |
| #ifndef MEDIA_CAST_AUDIO_RECEIVER_AUDIO_DECODER_H_ |
| #define MEDIA_CAST_AUDIO_RECEIVER_AUDIO_DECODER_H_ |
| +#include "base/atomicops.h" |
| #include "base/callback.h" |
| -#include "base/memory/ref_counted.h" |
| #include "media/cast/cast_config.h" |
| #include "media/cast/rtp_common/rtp_defines.h" |
| @@ -18,9 +18,10 @@ namespace media { |
| namespace cast { |
| // Thread safe class. |
| -class AudioDecoder : public base::RefCountedThreadSafe<AudioDecoder> { |
| +class AudioDecoder { |
| public: |
| explicit AudioDecoder(const AudioReceiverConfig& audio_config); |
| + virtual ~AudioDecoder(); |
| // Extract a raw audio frame from the decoder. |
| // Set the number of desired 10ms blocks and frequency. |
| @@ -37,14 +38,12 @@ class AudioDecoder : public base::RefCountedThreadSafe<AudioDecoder> { |
| size_t payload_size, |
| const RtpCastHeader& rtp_header); |
| - protected: |
| - virtual ~AudioDecoder(); |
| - |
| private: |
| - friend class base::RefCountedThreadSafe<AudioDecoder>; |
| - |
| + // The webrtc AudioCodingModule is threadsafe. |
| scoped_ptr<webrtc::AudioCodingModule> audio_decoder_; |
| - bool have_received_packets_; |
| + // TODO(pwestin): Refactor to avoid this. Call IncomingParsedRtpPacket from |
| + // audio decoder thread that way this class does not have to be thread safe. |
| + base::subtle::Atomic32 have_received_packets_; |
|
Alpha Left Google
2013/11/18 22:01:14
Is there a difference in terms of performance usin
pwestin
2013/11/22 19:16:29
I doubt there is a measurable difference for this
|
| DISALLOW_COPY_AND_ASSIGN(AudioDecoder); |
| }; |