diff options
author | george82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519> | 2005-01-31 16:01:02 +0000 |
---|---|---|
committer | george82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519> | 2005-01-31 16:01:02 +0000 |
commit | 17e92cb9edc9a67e892bba1a5921429179ebd986 (patch) | |
tree | a1039cc63ca4339d5bda01a9c9654d20aec624b5 /rfbplayer | |
parent | 23e0856c6731a1a0791f8122901493e189332291 (diff) | |
download | tigervnc-17e92cb9edc9a67e892bba1a5921429179ebd986.tar.gz tigervnc-17e92cb9edc9a67e892bba1a5921429179ebd986.zip |
Added RfbPlayer::openSessionFile().
It opens the rfb session file and starts reading the data.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@136 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'rfbplayer')
-rw-r--r-- | rfbplayer/rfbplayer.cxx | 20 | ||||
-rw-r--r-- | rfbplayer/rfbplayer.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx index 627de145..169d7161 100644 --- a/rfbplayer/rfbplayer.cxx +++ b/rfbplayer/rfbplayer.cxx @@ -225,6 +225,11 @@ RfbPlayer::RfbPlayer(char *_fileName, long _initTime = 0, double _playbackSpeed // Create the backing buffer buffer = new win32::DIBSectionBuffer(getFrameHandle()); setVisible(true); + + // Open the session file + if (fileName) { + openSessionFile(fileName); + } } RfbPlayer::~RfbPlayer() { @@ -810,6 +815,21 @@ bool RfbPlayer::invalidateBufferRect(const Rect& crect) { return true; } +void RfbPlayer::openSessionFile(char *_fileName) { + fileName = strDup(_fileName); + + // Close the previous reading thread + if (rfbReader) { + rfbReader->stop(); + delete rfbReader->join(); + } + blankBuffer(); + newSession(fileName); + setSpeed(playbackSpeed); + rfbReader = new rfbSessionReader(this); + rfbReader->start(); +} + void RfbPlayer::setPaused(bool paused) { if (paused) { is->pausePlayback(); diff --git a/rfbplayer/rfbplayer.h b/rfbplayer/rfbplayer.h index e40265ec..6b717ef9 100644 --- a/rfbplayer/rfbplayer.h +++ b/rfbplayer/rfbplayer.h @@ -110,6 +110,9 @@ class RfbPlayer : public RfbProto { // -=- Player functions + // openSessionFile() opens the new session file and starts play it + void openSessionFile(char *fileName); + // skipHandshaking() - is implemented to skip the initial handshaking when // perform backward seeking OR replaying. void skipHandshaking(); |