| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // FilterHost describes an interface for individual filters to access and | |
| 6 // modify global playback information. Every filter is given a filter host | |
| 7 // reference as part of initialization. | |
| 8 // | |
| 9 // This interface is intentionally verbose to cover the needs for the different | |
| 10 // types of filters (see media/base/filters.h for filter definitions). Filters | |
| 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 | |
| 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 | |
| 15 // have no need to call either SetTime or GetTime. | |
| 16 | |
| 17 #ifndef MEDIA_BASE_FILTER_HOST_H_ | |
| 18 #define MEDIA_BASE_FILTER_HOST_H_ | |
| 19 | |
| 20 #include "base/time.h" | |
| 21 #include "media/base/media_export.h" | |
| 22 #include "media/base/pipeline_status.h" | |
| 23 #include "ui/gfx/size.h" | |
| 24 | |
| 25 namespace media { | |
| 26 | |
| 27 class MEDIA_EXPORT FilterHost { | |
| 28 public: | |
| 29 // Stops execution of the pipeline due to a fatal error. Do not call this | |
| 30 // method with PIPELINE_OK. | |
| 31 virtual void SetError(PipelineStatus error) = 0; | |
| 32 | |
| 33 // Gets the current time. | |
| 34 virtual base::TimeDelta GetTime() const = 0; | |
| 35 | |
| 36 // Gets the duration. | |
| 37 virtual base::TimeDelta GetDuration() const = 0; | |
| 38 | |
| 39 // Sets the natural size of the video output in pixel units. | |
| 40 virtual void SetNaturalVideoSize(const gfx::Size& size) = 0; | |
| 41 | |
| 42 // Notifies that this filter has ended, typically only called by filter graph | |
| 43 // endpoints such as renderers. | |
| 44 virtual void NotifyEnded() = 0; | |
| 45 | |
| 46 protected: | |
| 47 virtual ~FilterHost() {} | |
| 48 }; | |
| 49 | |
| 50 } // namespace media | |
| 51 | |
| 52 #endif // MEDIA_BASE_FILTER_HOST_H_ | |
| OLD | NEW |