OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_REMOTING_FAKE_REMOTING_DEMUXER_STREAM_PROVIDER_H_ | 5 #ifndef MEDIA_REMOTING_FAKE_DEMUXER_STREAM_PROVIDER_H_ |
6 #define MEDIA_REMOTING_FAKE_REMOTING_DEMUXER_STREAM_PROVIDER_H_ | 6 #define MEDIA_REMOTING_FAKE_DEMUXER_STREAM_PROVIDER_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "media/base/audio_decoder_config.h" | 10 #include "media/base/audio_decoder_config.h" |
11 #include "media/base/demuxer_stream.h" | 11 #include "media/base/demuxer_stream.h" |
12 #include "media/base/demuxer_stream_provider.h" | 12 #include "media/base/demuxer_stream_provider.h" |
13 #include "media/base/video_decoder_config.h" | 13 #include "media/base/video_decoder_config.h" |
14 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
15 | 15 |
16 namespace media { | 16 namespace media { |
| 17 namespace remoting { |
17 | 18 |
18 class DummyDemuxerStream : public DemuxerStream { | 19 class FakeDemuxerStream : public DemuxerStream { |
19 public: | 20 public: |
20 explicit DummyDemuxerStream(bool is_audio); | 21 explicit FakeDemuxerStream(bool is_audio); |
21 ~DummyDemuxerStream() override; | 22 ~FakeDemuxerStream() override; |
22 | 23 |
23 // DemuxerStream implementation. | 24 // DemuxerStream implementation. |
24 MOCK_METHOD1(Read, void(const ReadCB& read_cb)); | 25 MOCK_METHOD1(Read, void(const ReadCB& read_cb)); |
25 void FakeRead(const ReadCB& read_cb); | 26 void FakeRead(const ReadCB& read_cb); |
26 AudioDecoderConfig audio_decoder_config() override; | 27 AudioDecoderConfig audio_decoder_config() override; |
27 VideoDecoderConfig video_decoder_config() override; | 28 VideoDecoderConfig video_decoder_config() override; |
28 Type type() const override; | 29 Type type() const override; |
29 Liveness liveness() const override; | 30 Liveness liveness() const override; |
30 void EnableBitstreamConverter() override {} | 31 void EnableBitstreamConverter() override {} |
31 bool SupportsConfigChanges() override; | 32 bool SupportsConfigChanges() override; |
32 VideoRotation video_rotation() override; | 33 VideoRotation video_rotation() override; |
33 bool enabled() const override; | 34 bool enabled() const override; |
34 void set_enabled(bool enabled, base::TimeDelta timestamp) override {} | 35 void set_enabled(bool enabled, base::TimeDelta timestamp) override {} |
35 void SetStreamStatusChangeCB(const StreamStatusChangeCB& cb) override {} | 36 void SetStreamStatusChangeCB(const StreamStatusChangeCB& cb) override {} |
36 | 37 |
37 void CreateFakeFrame(size_t size, bool key_frame, int pts_ms); | 38 void CreateFakeFrame(size_t size, bool key_frame, int pts_ms); |
38 | 39 |
39 private: | 40 private: |
40 using BufferQueue = std::deque<scoped_refptr<::media::DecoderBuffer>>; | 41 using BufferQueue = std::deque<scoped_refptr<DecoderBuffer>>; |
41 BufferQueue buffer_queue_; | 42 BufferQueue buffer_queue_; |
42 ReadCB pending_read_cb_; | 43 ReadCB pending_read_cb_; |
43 Type type_; | 44 Type type_; |
44 AudioDecoderConfig audio_config_; | 45 AudioDecoderConfig audio_config_; |
45 VideoDecoderConfig video_config_; | 46 VideoDecoderConfig video_config_; |
46 | 47 |
47 DISALLOW_COPY_AND_ASSIGN(DummyDemuxerStream); | 48 DISALLOW_COPY_AND_ASSIGN(FakeDemuxerStream); |
48 }; | 49 }; |
49 | 50 |
50 // Audio only demuxer stream provider | 51 // Audio only demuxer stream provider |
51 class FakeRemotingDemuxerStreamProvider : public DemuxerStreamProvider { | 52 class FakeDemuxerStreamProvider : public DemuxerStreamProvider { |
52 public: | 53 public: |
53 FakeRemotingDemuxerStreamProvider(); | 54 FakeDemuxerStreamProvider(); |
54 ~FakeRemotingDemuxerStreamProvider() final; | 55 ~FakeDemuxerStreamProvider() final; |
55 | 56 |
56 // DemuxerStreamProvider implementation. | 57 // DemuxerStreamProvider implementation. |
57 DemuxerStream* GetStream(DemuxerStream::Type type) override; | 58 DemuxerStream* GetStream(DemuxerStream::Type type) override; |
58 | 59 |
59 private: | 60 private: |
60 std::unique_ptr<DummyDemuxerStream> demuxer_stream_; | 61 std::unique_ptr<FakeDemuxerStream> demuxer_stream_; |
61 | 62 |
62 DISALLOW_COPY_AND_ASSIGN(FakeRemotingDemuxerStreamProvider); | 63 DISALLOW_COPY_AND_ASSIGN(FakeDemuxerStreamProvider); |
63 }; | 64 }; |
64 | 65 |
| 66 } // namespace remoting |
65 } // namespace media | 67 } // namespace media |
66 | 68 |
67 #endif // MEDIA_REMOTING_FAKE_REMOTING_DEMUXER_STREAM_PROVIDER_H_ | 69 #endif // MEDIA_REMOTING_FAKE_DEMUXER_STREAM_PROVIDER_H_ |
OLD | NEW |