From b4f969b268046f0952bfc500dc9e9b1258cb00d8 Mon Sep 17 00:00:00 2001 From: george82 Date: Wed, 9 Feb 2005 16:34:51 +0000 Subject: [PATCH] Improved RfbPlayer implementation. The reading thread must resume playback itself when destoying. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@161 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- rfbplayer/rfbSessionReader.h | 1 + rfbplayer/rfbplayer.cxx | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/rfbplayer/rfbSessionReader.h b/rfbplayer/rfbSessionReader.h index f42a9eee..acf91880 100644 --- a/rfbplayer/rfbSessionReader.h +++ b/rfbplayer/rfbSessionReader.h @@ -35,6 +35,7 @@ public: } virtual Thread* join() { + ((FbsInputStream*)(rfbSession->getInStream()))->resumePlayback(); fStop = true; return Thread::join(); } diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx index 60c1c3be..ad0607fa 100644 --- a/rfbplayer/rfbplayer.cxx +++ b/rfbplayer/rfbplayer.cxx @@ -93,9 +93,6 @@ LRESULT CALLBACK RfbPlayerProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam SetWindowLong(hwnd, GWL_USERDATA, (long)((CREATESTRUCT*)lParam)->lpCreateParams); else if (msg == WM_DESTROY) { RfbPlayer* _this = (RfbPlayer*) GetWindowLong(hwnd, GWL_USERDATA); - - // Resume playback (It's need to quit from FbsInputStream::waitWhilePaused()) - _this->setPaused(false); SetWindowLong(hwnd, GWL_USERDATA, 0); } RfbPlayer* _this = (RfbPlayer*) GetWindowLong(hwnd, GWL_USERDATA); @@ -362,7 +359,6 @@ RfbPlayer::processMainMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) } break; case ID_EXIT: - if (is) is->resumePlayback(); PostQuitMessage(0); break; case ID_HELP_COMMANDLINESWITCHES: @@ -906,8 +902,8 @@ void RfbPlayer::openSessionFile(char *_fileName) { // Close the previous reading thread if (rfbReader) { - is->resumePlayback(); delete rfbReader->join(); + rfbReader = 0; } blankBuffer(); newSession(fileName); -- 2.39.5