btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / apps / mediaplayer / supplier / VideoTrackSupplier.h
blob7abb4e125a7e988598f74bc5b6f10ac39c78e81c
1 /*
2 * Copyright 2007, Haiku. All rights reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Stephan Aßmus <superstippi@gmx.de>
7 */
8 #ifndef VIDEO_TRACK_SUPPLIER_H
9 #define VIDEO_TRACK_SUPPLIER_H
12 #include <MediaDefs.h>
13 #include <MediaFormats.h>
15 class VideoTrackSupplier {
16 public:
17 VideoTrackSupplier();
18 virtual ~VideoTrackSupplier();
20 virtual const media_format& Format() const = 0;
21 virtual status_t GetEncodedFormat(media_format* format)
22 const = 0;
23 virtual status_t GetCodecInfo(media_codec_info* info) const = 0;
24 virtual status_t ReadFrame(void* buffer,
25 bigtime_t* performanceTime,
26 const media_raw_video_format& format,
27 bool& wasCached) = 0;
28 virtual status_t FindKeyFrameForFrame(int64* frame) = 0;
29 virtual status_t SeekToTime(bigtime_t* performanceTime) = 0;
30 virtual status_t SeekToFrame(int64* frame) = 0;
32 virtual bigtime_t Position() const = 0;
33 virtual bigtime_t Duration() const = 0;
34 virtual int64 CurrentFrame() const = 0;
36 virtual int32 TrackIndex() const = 0;
39 #endif // VIDEO_TRACK_SUPPLIER_H