aboutsummaryrefslogtreecommitdiffstats
path: root/rfbplayer
diff options
context:
space:
mode:
authorgeorge82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519>2005-01-31 16:01:02 +0000
committergeorge82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519>2005-01-31 16:01:02 +0000
commit17e92cb9edc9a67e892bba1a5921429179ebd986 (patch)
treea1039cc63ca4339d5bda01a9c9654d20aec624b5 /rfbplayer
parent23e0856c6731a1a0791f8122901493e189332291 (diff)
downloadtigervnc-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.cxx20
-rw-r--r--rfbplayer/rfbplayer.h3
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();