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_BASE_DECODER_BUFFER_ADAPTER_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_BASE_DECODER_BUFFER_ADAPTER_H_ |
6 #define CHROMECAST_MEDIA_CMA_BASE_DECODER_BUFFER_ADAPTER_H_ | 6 #define CHROMECAST_MEDIA_CMA_BASE_DECODER_BUFFER_ADAPTER_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "chromecast/media/cma/base/decoder_buffer_base.h" | 10 #include "chromecast/media/cma/base/decoder_buffer_base.h" |
11 | 11 |
12 namespace media { | 12 namespace media { |
13 class DecoderBuffer; | 13 class DecoderBuffer; |
14 } | 14 } |
15 | 15 |
16 namespace chromecast { | 16 namespace chromecast { |
17 namespace media { | 17 namespace media { |
18 | 18 |
19 // DecoderBufferAdapter wraps a ::media::DecoderBuffer | 19 // DecoderBufferAdapter wraps a ::media::DecoderBuffer |
20 // into a DecoderBufferBase. | 20 // into a DecoderBufferBase. |
21 class DecoderBufferAdapter : public DecoderBufferBase { | 21 class DecoderBufferAdapter : public DecoderBufferBase { |
22 public: | 22 public: |
| 23 // Using explicit constructor without providing stream Id will set it to |
| 24 // kPrimary by default. |
23 explicit DecoderBufferAdapter( | 25 explicit DecoderBufferAdapter( |
24 const scoped_refptr< ::media::DecoderBuffer>& buffer); | 26 const scoped_refptr<::media::DecoderBuffer>& buffer); |
| 27 DecoderBufferAdapter( |
| 28 StreamId stream_id, const scoped_refptr<::media::DecoderBuffer>& buffer); |
25 | 29 |
26 // DecoderBufferBase implementation. | 30 // DecoderBufferBase implementation. |
| 31 StreamId stream_id() const override; |
27 base::TimeDelta timestamp() const override; | 32 base::TimeDelta timestamp() const override; |
28 const uint8* data() const override; | 33 const uint8* data() const override; |
29 uint8* writable_data() const override; | 34 uint8* writable_data() const override; |
30 size_t data_size() const override; | 35 size_t data_size() const override; |
31 const ::media::DecryptConfig* decrypt_config() const override; | 36 const ::media::DecryptConfig* decrypt_config() const override; |
32 bool end_of_stream() const override; | 37 bool end_of_stream() const override; |
33 | 38 |
34 private: | 39 private: |
35 ~DecoderBufferAdapter() override; | 40 ~DecoderBufferAdapter() override; |
36 | 41 |
37 scoped_refptr< ::media::DecoderBuffer> const buffer_; | 42 StreamId stream_id_; |
| 43 scoped_refptr<::media::DecoderBuffer> const buffer_; |
38 | 44 |
39 DISALLOW_COPY_AND_ASSIGN(DecoderBufferAdapter); | 45 DISALLOW_COPY_AND_ASSIGN(DecoderBufferAdapter); |
40 }; | 46 }; |
41 | 47 |
42 } // namespace media | 48 } // namespace media |
43 } // namespace chromecast | 49 } // namespace chromecast |
44 | 50 |
45 #endif // CHROMECAST_MEDIA_CMA_BASE_DECODER_BUFFER_ADAPTER_H_ | 51 #endif // CHROMECAST_MEDIA_CMA_BASE_DECODER_BUFFER_ADAPTER_H_ |
OLD | NEW |