Reduced the priority of the "video directory scanner" thread and checking cIoThrottle::Engaged() when it is running

This commit is contained in:
Klaus Schmidinger 2015-04-11 10:47:38 +02:00
parent 577d43facf
commit 7d49075079
3 changed files with 8 additions and 3 deletions

View File

@ -3316,6 +3316,7 @@ Thomas Reufer <thomas@reufer.ch>
for adding detection of 24fps
for suggesting to add some comment to cPixmap about the relation between OSD,
ViewPort and DrawPort
for suggesting to reduce the priority of the "video directory scanner" thread
Eike Sauer <EikeSauer@t-online.de>
for reporting a problem with channels that need more than 5 TS packets for detecting

View File

@ -8596,7 +8596,7 @@ Video Disk Recorder Revision History
- Bumped all version numbers to 2.2.0.
- Official release.
2015-03-25: Version 2.3.1
2015-04-11: Version 2.3.1
- The new function cOsd::MaxPixmapSize() can be called to determine the maximum size
a cPixmap may have on the current OSD. The 'osddemo' example has been modified
@ -8620,3 +8620,5 @@ Video Disk Recorder Revision History
(suggested by Thomas Reufer).
- Improved syncing on sections when parsing the NIT and SDT.
- Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD).
- Reduced the priority of the "video directory scanner" thread (suggested by Thomas
Reufer) and checking cIoThrottle::Engaged() when it is running.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 3.28 2015/02/16 07:49:14 kls Exp $
* $Id: recording.c 4.1 2015/04/11 10:44:38 kls Exp $
*/
#include "recording.h"
@ -1367,7 +1367,7 @@ cRecordings Recordings;
char *cRecordings::updateFileName = NULL;
cRecordings::cRecordings(bool Deleted)
:cThread("video directory scanner")
:cThread("video directory scanner", true)
{
deleted = Deleted;
initial = true;
@ -1412,6 +1412,8 @@ bool cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLev
cReadDir d(DirName);
struct dirent *e;
while ((Foreground || Running()) && (e = d.Next()) != NULL) {
if (!Foreground && cIoThrottle::Engaged())
cCondWait::SleepMs(100);
cString buffer = AddDirectory(DirName, e->d_name);
struct stat st;
if (lstat(buffer, &st) == 0) {