OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // FilterHost describes an interface for individual filters to access and | 5 // FilterHost describes an interface for individual filters to access and |
6 // modify global playback information. Every filter is given a filter host | 6 // modify global playback information. Every filter is given a filter host |
7 // reference as part of initialization. | 7 // reference as part of initialization. |
8 // | 8 // |
9 // This interface is intentionally verbose to cover the needs for the different | 9 // This interface is intentionally verbose to cover the needs for the different |
10 // types of filters (see media/base/filters.h for filter definitionss). Filters | 10 // types of filters (see media/base/filters.h for filter definitionss). Filters |
11 // typically use parts of the interface that are relevant to their function. | 11 // typically use parts of the interface that are relevant to their function. |
12 // For example, an audio renderer filter typically calls SetTime as it feeds | 12 // For example, an audio renderer filter typically calls SetTime as it feeds |
13 // data to the audio hardware. A video renderer filter typically calls GetTime | 13 // data to the audio hardware. A video renderer filter typically calls GetTime |
14 // to synchronize video with audio. An audio and video decoder would typically | 14 // to synchronize video with audio. An audio and video decoder would typically |
15 // have no need to call either SetTime or GetTime. | 15 // have no need to call either SetTime or GetTime. |
16 | 16 |
17 #ifndef MEDIA_BASE_FILTER_HOST_H_ | 17 #ifndef MEDIA_BASE_FILTER_HOST_H_ |
18 #define MEDIA_BASE_FILTER_HOST_H_ | 18 #define MEDIA_BASE_FILTER_HOST_H_ |
19 | 19 |
20 #include "base/task.h" | |
21 #include "media/base/filters.h" | 20 #include "media/base/filters.h" |
22 #include "media/base/pipeline.h" | 21 #include "media/base/pipeline.h" |
23 | 22 |
24 namespace media { | 23 namespace media { |
25 | 24 |
26 class FilterHost { | 25 class FilterHost { |
27 public: | 26 public: |
28 // Stops execution of the pipeline due to a fatal error. Do not call this | 27 // Stops execution of the pipeline due to a fatal error. Do not call this |
29 // method with PIPELINE_OK. | 28 // method with PIPELINE_OK. |
30 virtual void SetError(PipelineError error) = 0; | 29 virtual void SetError(PipelineError error) = 0; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 // Gets the byte offset at which the client is requesting the video. | 79 // Gets the byte offset at which the client is requesting the video. |
81 virtual int64 GetCurrentReadPosition() = 0; | 80 virtual int64 GetCurrentReadPosition() = 0; |
82 | 81 |
83 protected: | 82 protected: |
84 virtual ~FilterHost() {} | 83 virtual ~FilterHost() {} |
85 }; | 84 }; |
86 | 85 |
87 } // namespace media | 86 } // namespace media |
88 | 87 |
89 #endif // MEDIA_BASE_FILTER_HOST_H_ | 88 #endif // MEDIA_BASE_FILTER_HOST_H_ |
OLD | NEW |