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_BACKEND_VIDEO_PIPELINE_DEVICE_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_VIDEO_PIPELINE_DEVICE_H_ |
6 #define CHROMECAST_MEDIA_CMA_BACKEND_VIDEO_PIPELINE_DEVICE_H_ | 6 #define CHROMECAST_MEDIA_CMA_BACKEND_VIDEO_PIPELINE_DEVICE_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "chromecast/media/cma/backend/media_component_device.h" | 10 #include "chromecast/media/cma/backend/media_component_device.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 struct VideoClient { | 35 struct VideoClient { |
36 VideoClient(); | 36 VideoClient(); |
37 ~VideoClient(); | 37 ~VideoClient(); |
38 | 38 |
39 // Invoked each time the natural size is updated. | 39 // Invoked each time the natural size is updated. |
40 base::Callback<void(const gfx::Size& natural_size)> | 40 base::Callback<void(const gfx::Size& natural_size)> |
41 natural_size_changed_cb; | 41 natural_size_changed_cb; |
42 }; | 42 }; |
43 | 43 |
44 VideoPipelineDevice(); | 44 VideoPipelineDevice(); |
45 virtual ~VideoPipelineDevice(); | 45 ~VideoPipelineDevice() override; |
46 | 46 |
47 // Registers |client| as the video specific event handler. | 47 // Registers |client| as the video specific event handler. |
48 virtual void SetVideoClient(const VideoClient& client) = 0; | 48 virtual void SetVideoClient(const VideoClient& client) = 0; |
49 | 49 |
50 // Provide the video configuration. | 50 // Provide the video configuration. |
51 // Must be called before switching from |kStateUninitialized| to |kStateIdle|. | 51 // Must be called before switching from |kStateUninitialized| to |kStateIdle|. |
52 // Afterwards, this can be invoked any time the configuration changes. | 52 // Afterwards, this can be invoked any time the configuration changes. |
53 // Returns true if the configuration is a supported configuration. | 53 // Returns true if the configuration is a supported configuration. |
54 virtual bool SetConfig(const ::media::VideoDecoderConfig& config) = 0; | 54 virtual bool SetConfig(const ::media::VideoDecoderConfig& config) = 0; |
55 | 55 |
56 private: | 56 private: |
57 DISALLOW_COPY_AND_ASSIGN(VideoPipelineDevice); | 57 DISALLOW_COPY_AND_ASSIGN(VideoPipelineDevice); |
58 }; | 58 }; |
59 | 59 |
60 } // namespace media | 60 } // namespace media |
61 } // namespace chromecast | 61 } // namespace chromecast |
62 | 62 |
63 #endif // CHROMECAST_MEDIA_CMA_BACKEND_VIDEO_PIPELINE_DEVICE_H_ | 63 #endif // CHROMECAST_MEDIA_CMA_BACKEND_VIDEO_PIPELINE_DEVICE_H_ |
OLD | NEW |