2 * Copyright 2011, Haiku. All rights reserved.
3 * Distributed under the terms of the MIT License.
8 #ifndef IMAGE_TRACK_VIDEO_SUPPLIER_H
9 #define IMAGE_TRACK_VIDEO_SUPPLIER_H
12 #include <MediaFormats.h>
14 #include "VideoTrackSupplier.h"
17 class ImageTrackVideoSupplier
: public VideoTrackSupplier
{
19 ImageTrackVideoSupplier(BBitmap
* bitmap
,
20 int32 trackIndex
, status_t
& initStatus
);
21 virtual ~ImageTrackVideoSupplier();
23 virtual const media_format
& Format() const;
24 virtual status_t
GetEncodedFormat(media_format
* format
) const;
25 virtual status_t
GetCodecInfo(media_codec_info
* info
) const;
27 virtual status_t
ReadFrame(void* buffer
,
28 bigtime_t
* performanceTime
,
29 const media_raw_video_format
& format
,
31 virtual status_t
FindKeyFrameForFrame(int64
* frame
);
32 virtual status_t
SeekToTime(bigtime_t
* performanceTime
);
33 virtual status_t
SeekToFrame(int64
* frame
);
35 virtual bigtime_t
Position() const
36 { return fPerformanceTime
; }
37 virtual bigtime_t
Duration() const
39 virtual int64
CurrentFrame() const
40 { return fCurrentFrame
; }
43 virtual BRect
Bounds() const;
44 virtual color_space
ColorSpace() const;
45 virtual uint32
BytesPerRow() const;
48 virtual int32
TrackIndex() const
49 { return fTrackIndex
; }
54 bigtime_t fPerformanceTime
;
63 #endif // IMAGE_TRACK_VIDEO_SUPPLIER_H