OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ |
6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ | 6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
| 9 #include <string> |
9 | 10 |
10 #include "base/macros.h" | 11 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
12 #include "base/time/time.h" | 13 #include "base/time/time.h" |
13 #include "chromecast/public/media/media_pipeline_backend.h" | 14 #include "chromecast/public/media/media_pipeline_backend.h" |
14 #include "chromecast/public/media/media_pipeline_device_params.h" | 15 #include "chromecast/public/media/media_pipeline_device_params.h" |
15 | 16 |
16 namespace base { | 17 namespace base { |
17 class SingleThreadTaskRunner; | 18 class SingleThreadTaskRunner; |
18 } // namespace base | 19 } // namespace base |
(...skipping 15 matching lines...) Expand all Loading... |
34 VideoDecoder* CreateVideoDecoder() override; | 35 VideoDecoder* CreateVideoDecoder() override; |
35 bool Initialize() override; | 36 bool Initialize() override; |
36 bool Start(int64_t start_pts) override; | 37 bool Start(int64_t start_pts) override; |
37 void Stop() override; | 38 void Stop() override; |
38 bool Pause() override; | 39 bool Pause() override; |
39 bool Resume() override; | 40 bool Resume() override; |
40 bool SetPlaybackRate(float rate) override; | 41 bool SetPlaybackRate(float rate) override; |
41 int64_t GetCurrentPts() override; | 42 int64_t GetCurrentPts() override; |
42 | 43 |
43 bool Primary() const; | 44 bool Primary() const; |
| 45 std::string DeviceId() const; |
44 const scoped_refptr<base::SingleThreadTaskRunner>& GetTaskRunner() const; | 46 const scoped_refptr<base::SingleThreadTaskRunner>& GetTaskRunner() const; |
45 | 47 |
46 private: | 48 private: |
47 // State variable for DCHECKing caller correctness. | 49 // State variable for DCHECKing caller correctness. |
48 enum State { | 50 enum State { |
49 kStateUninitialized, | 51 kStateUninitialized, |
50 kStateInitialized, | 52 kStateInitialized, |
51 kStatePlaying, | 53 kStatePlaying, |
52 kStatePaused, | 54 kStatePaused, |
53 }; | 55 }; |
54 State state_; | 56 State state_; |
55 | 57 |
56 const MediaPipelineDeviceParams params_; | 58 const MediaPipelineDeviceParams params_; |
57 std::unique_ptr<VideoDecoderNull> video_decoder_; | 59 std::unique_ptr<VideoDecoderNull> video_decoder_; |
58 std::unique_ptr<AudioDecoderAlsa> audio_decoder_; | 60 std::unique_ptr<AudioDecoderAlsa> audio_decoder_; |
59 | 61 |
60 DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendAlsa); | 62 DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendAlsa); |
61 }; | 63 }; |
62 | 64 |
63 } // namespace media | 65 } // namespace media |
64 } // namespace chromecast | 66 } // namespace chromecast |
65 | 67 |
66 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ | 68 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_MEDIA_PIPELINE_BACKEND_ALSA_H_ |
OLD | NEW |