mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed replay stuttering close to the end of an ongoing recording
This commit is contained in:
parent
ea951daa44
commit
d6efa529c9
@ -1453,6 +1453,7 @@ Andreas Regel <andreas.regel@gmx.de>
|
|||||||
for making cDevice::AddPid() store the stream type of the given pid
|
for making cDevice::AddPid() store the stream type of the given pid
|
||||||
for adding cFont::FontName() and cFont::Size()
|
for adding cFont::FontName() and cFont::Size()
|
||||||
for writing the dvbhddevice plugin
|
for writing the dvbhddevice plugin
|
||||||
|
for reporting replay stuttering close to the end of an ongoing recording
|
||||||
|
|
||||||
Thomas Bergwinkl <Thomas.Bergwinkl@vr-web.de>
|
Thomas Bergwinkl <Thomas.Bergwinkl@vr-web.de>
|
||||||
for fixing the validity check for channel IDs, because some providers use TIDs
|
for fixing the validity check for channel IDs, because some providers use TIDs
|
||||||
|
2
HISTORY
2
HISTORY
@ -7454,3 +7454,5 @@ Video Disk Recorder Revision History
|
|||||||
mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb,
|
mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb,
|
||||||
mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins.
|
mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins.
|
||||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||||
|
- Fixed replay stuttering close to the end of an ongoing recording (reported by Andreas
|
||||||
|
Regel).
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: recording.c 2.78 2012/12/06 09:35:13 kls Exp $
|
* $Id: recording.c 2.79 2012/12/23 13:30:37 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1824,7 +1824,9 @@ bool cIndexFile::CatchUp(int Index)
|
|||||||
// returns true unless something really goes wrong, so that 'index' becomes NULL
|
// returns true unless something really goes wrong, so that 'index' becomes NULL
|
||||||
if (index && f >= 0) {
|
if (index && f >= 0) {
|
||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index > last); i++) {
|
// Note that CatchUp() is triggered even if Index is 'last' (and thus valid).
|
||||||
|
// This is done to make absolutely sure we don't miss any data at the very end.
|
||||||
|
for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) {
|
||||||
struct stat buf;
|
struct stat buf;
|
||||||
if (fstat(f, &buf) == 0) {
|
if (fstat(f, &buf) == 0) {
|
||||||
if (!IsInIndexList(this)) {
|
if (!IsInIndexList(this)) {
|
||||||
@ -1869,7 +1871,7 @@ bool cIndexFile::CatchUp(int Index)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
LOG_ERROR_STR(*fileName);
|
LOG_ERROR_STR(*fileName);
|
||||||
if (Index <= last)
|
if (Index < last)
|
||||||
break;
|
break;
|
||||||
cCondWait::SleepMs(1000);
|
cCondWait::SleepMs(1000);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user