From 6da7cc9bd16bb16f03bf0695b79cb41f9f23f58f Mon Sep 17 00:00:00 2001 From: deva Date: Wed, 12 Apr 2006 13:41:45 +0000 Subject: *** empty log message *** --- client/decoder.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'client/decoder.cc') diff --git a/client/decoder.cc b/client/decoder.cc index 5c2cce5..ea67d68 100644 --- a/client/decoder.cc +++ b/client/decoder.cc @@ -40,6 +40,8 @@ #include #include +#include "control.h" + Decoder::Decoder(): semaphore(1) { frame = NULL; @@ -63,10 +65,15 @@ void Decoder::run() while(running) { char *tmp = (char*)reader.readFrame(); - mutex.lock(); - if(frame) free(frame); - frame = tmp; - mutex.unlock(); + + if(MIaV::control.isFrozen() == false) { + mutex.lock(); + if(frame) free(frame); + frame = tmp; + mutex.unlock(); + } else { + free(tmp); + } } semaphore.release(); // Unlock the shutdown process } -- cgit v1.2.3