22#ifndef NANCY_MOVIEPLAYER_H
23#define NANCY_MOVIEPLAYER_H
25#include "common/array.h"
26#include "common/ptr.h"
27#include "common/path.h"
28#include "common/rational.h"
29#include "common/rect.h"
31#include "audio/timestamp.h"
33#include "graphics/managed_surface.h"
35#include "engines/nancy/commontypes.h"
67 bool loadFile(
const Common::Path &name,
byte videoPlaytype = kVideoPlaytypeAuto,
bool bidirectionalCache =
false,
bool screenFormat =
false);
68 bool isVideoLoaded()
const;
75 void pauseVideo(
bool pause);
76 bool isPlaying()
const;
77 bool needsUpdate()
const;
78 bool endOfVideo()
const;
80 void seekToFrame(uint frame);
85 void setReverse(
bool reverse);
87 int getCurFrame()
const;
88 int getFrameCount()
const;
90 uint16 getWidth()
const;
91 uint16 getHeight()
const;
92 void addFrameTime(uint16 timeToAdd);
95 void setVolume(
byte percent);
110 void goToFrame(
int frameNr);
111 void playRange(
int first,
int last);
113 bool isRangePlaying()
const {
return _rangePlaying; }
114 int getCurrentFrame()
const {
return getCurFrame(); }
119 friend class BinkCacheLoader;
121 static byte resolvePlaytype(
byte videoPlaytype);
123 void storeCurrentFrame();
124 void freeFrameCache();
125 void unregisterMovie();
126 bool fillNextCacheFrame();
129 byte _videoType = kVideoPlaytypeAVF;
139 bool _useFrameCache =
false;
142 uint _cacheFillNext = 0;
149 bool _rangePlaying =
false;
150 uint32 _lastFrameTime = 0;
151 uint32 _frameDelayMs = 66;
Definition: timestamp.h:83
Definition: rational.h:40
PointerType get() const
Definition: ptr.h:637
Definition: managed_surface.h:51
Definition: movieplayer.h:56
Definition: video_decoder.h:53
Definition: formatinfo.h:28
Definition: actionmanager.h:32