Ticket #8053: 8053-pbbhelper.2.patch
File 8053-pbbhelper.2.patch, 3.5 KB (added by , 14 years ago) |
---|
-
programs/mythfrontend/playbackboxhelper.h
88 88 mutable QMutex m_lock; 89 89 90 90 // Free disk space tracking 91 int m_freeSpaceTimerId;92 91 uint64_t m_freeSpaceTotalMB; 93 92 uint64_t m_freeSpaceUsedMB; 94 93 … … 101 100 QStringList m_previewGeneratorQueue; 102 101 uint m_previewGeneratorRunning; 103 102 uint m_previewGeneratorMaxThreads; 104 105 static const uint kUpdateFreeSpaceInterval;106 103 }; 107 104 108 105 #endif // _FREE_SPACE_H_ -
programs/mythfrontend/playbackboxhelper.cpp
22 22 class PBHEventHandler : public QObject 23 23 { 24 24 public: 25 PBHEventHandler(PlaybackBoxHelper &pbh) : m_pbh(pbh) { }25 PBHEventHandler(PlaybackBoxHelper &pbh) : m_pbh(pbh), m_freeSpaceTimerId(0) { } 26 26 virtual bool event(QEvent*); // QObject 27 void UpdateFreeSpaceEvent(void); 27 28 PlaybackBoxHelper &m_pbh; 29 int m_freeSpaceTimerId; 30 static const uint kUpdateFreeSpaceInterval; 28 31 }; 29 32 33 const uint PBHEventHandler::kUpdateFreeSpaceInterval = 15000; // 15 seconds 34 30 35 bool PBHEventHandler::event(QEvent *e) 31 36 { 32 37 if (e->type() == QEvent::Timer) 33 38 { 34 39 QTimerEvent *te = (QTimerEvent*)e; 35 40 const int timer_id = te->timerId(); 36 if (timer_id == m_ pbh.m_freeSpaceTimerId)37 m_pbh.UpdateFreeSpace();41 if (timer_id == m_freeSpaceTimerId) 42 UpdateFreeSpaceEvent(); 38 43 } 39 44 else if (e->type() == (QEvent::Type) MythEvent::MythEventMessage) 40 45 { 41 46 MythEvent *me = (MythEvent*)e; 42 47 if (me->Message() == "UPDATE_FREE_SPACE") 43 48 { 44 m_pbh.UpdateFreeSpace();49 UpdateFreeSpaceEvent(); 45 50 return true; 46 51 } 47 52 else if (me->Message() == "STOP_RECORDING") … … 186 191 return QObject::event(e); 187 192 } 188 193 194 void PBHEventHandler::UpdateFreeSpaceEvent(void) 195 { 196 if (m_freeSpaceTimerId) 197 killTimer(m_freeSpaceTimerId); 198 m_pbh.UpdateFreeSpace(); 199 m_freeSpaceTimerId = startTimer(kUpdateFreeSpaceInterval); 200 } 201 189 202 ////////////////////////////////////////////////////////////////////// 190 203 191 const uint PlaybackBoxHelper::kUpdateFreeSpaceInterval = 15000; // 15 seconds192 193 204 const uint PreviewGenState::maxAttempts = 5; 194 205 const uint PreviewGenState::minBlockSeconds = 60; 195 206 196 207 PlaybackBoxHelper::PlaybackBoxHelper(QObject *listener) : 197 208 m_listener(listener), m_eventHandler(NULL), 198 209 // Free Space Tracking Variables 199 m_freeSpaceT imerId(0), m_freeSpaceTotalMB(0ULL), m_freeSpaceUsedMB(0ULL),210 m_freeSpaceTotalMB(0ULL), m_freeSpaceUsedMB(0ULL), 200 211 // Preview Image Variables 201 212 m_previewGeneratorRunning(0), m_previewGeneratorMaxThreads(2) 202 213 { … … 278 289 279 290 void PlaybackBoxHelper::UpdateFreeSpace(void) 280 291 { 281 if (m_freeSpaceTimerId)282 killTimer(m_freeSpaceTimerId);283 284 292 vector<FileSystemInfo> fsInfos = RemoteGetFreeSpace(); 285 293 286 294 QMutexLocker locker(&m_lock); … … 292 300 m_freeSpaceUsedMB = (uint64_t) (fsInfos[i].usedSpaceKB >> 10); 293 301 } 294 302 } 295 296 m_freeSpaceTimerId = startTimer(kUpdateFreeSpaceInterval);297 303 } 298 304 299 305 uint64_t PlaybackBoxHelper::GetFreeSpaceTotalMB(void) const