Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
55
Src/Plugins/Input/in_wmvdrm/SeekLayer.h
Normal file
55
Src/Plugins/Input/in_wmvdrm/SeekLayer.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
#ifndef NULLSOFT_SEEKLAYERH
|
||||
#define NULLSOFT_SEEKLAYERH
|
||||
|
||||
#include "WMHandler.h"
|
||||
#include "../nu/AutoLock.h"
|
||||
#include "ClockLayer.h"
|
||||
class SeekLayer : public WMHandler
|
||||
{
|
||||
enum PlayState
|
||||
{
|
||||
PLAYSTATE_NONE,
|
||||
PLAYSTATE_OPENING,
|
||||
PLAYSTATE_OPENED,
|
||||
PLAYSTATE_BUFFERING,
|
||||
PLAYSTATE_STARTED,
|
||||
PLAYSTATE_STOPPED,
|
||||
PLAYSTATE_CLOSED,
|
||||
PLAYSTATE_SEEK,
|
||||
|
||||
};
|
||||
public:
|
||||
SeekLayer(IWMReader *_reader, ClockLayer *_clock);
|
||||
void SeekTo(long position);
|
||||
void Pause();
|
||||
void Unpause();
|
||||
void Stop();
|
||||
int Open(const wchar_t *filename, IWMReaderCallback *callback);
|
||||
|
||||
private:
|
||||
void BufferingStarted();
|
||||
void BufferingStopped();
|
||||
void Started();
|
||||
void Stopped();
|
||||
void Closed();
|
||||
void Opened();
|
||||
void OpenCalled();
|
||||
void Connecting();
|
||||
void Locating();
|
||||
void EndOfFile();
|
||||
void OpenFailed();
|
||||
void Error();
|
||||
|
||||
private:
|
||||
void DoStop();
|
||||
bool needPause, paused, needStop;
|
||||
long seekPos;
|
||||
Nullsoft::Utility::LockGuard seekGuard;
|
||||
IWMReader *reader;
|
||||
IWMReaderAdvanced2 *reader2;
|
||||
IWMMetadataEditor *metadata;
|
||||
ClockLayer *clock;
|
||||
PlayState playState, oldState_buffer;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue