mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Changed the behaviour when hitting the end of a recording in fast forward mode
This commit is contained in:
parent
765f8267a5
commit
a452010760
@ -1076,6 +1076,7 @@ Reinhard Nissl <rnissl@gmx.de>
|
|||||||
for fixing replaying recordings of radio channels with many audio tracks
|
for fixing replaying recordings of radio channels with many audio tracks
|
||||||
for speeding up cRemux::ScanVideoPacket()
|
for speeding up cRemux::ScanVideoPacket()
|
||||||
for implementing cDevice::ForceTransferMode()
|
for implementing cDevice::ForceTransferMode()
|
||||||
|
for changing the behaviour when hitting the end of a recording in fast forward mode
|
||||||
|
|
||||||
Richard Robson <richard_robson@beeb.net>
|
Richard Robson <richard_robson@beeb.net>
|
||||||
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
||||||
|
3
HISTORY
3
HISTORY
@ -4492,3 +4492,6 @@ Video Disk Recorder Revision History
|
|||||||
respectively.
|
respectively.
|
||||||
- The initial channel and volume can now be defined in the "Setup/Miscellaneous"
|
- The initial channel and volume can now be defined in the "Setup/Miscellaneous"
|
||||||
menu (based on a patch from Thomas Keil).
|
menu (based on a patch from Thomas Keil).
|
||||||
|
- When hitting the end of a recording in fast forward mode, VDR no longer switches
|
||||||
|
back to normal speed if the recording is already finished (thanks to Reinhard
|
||||||
|
Nissl).
|
||||||
|
11
dvbplayer.c
11
dvbplayer.c
@ -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: dvbplayer.c 1.43 2006/02/19 14:20:15 kls Exp $
|
* $Id: dvbplayer.c 1.44 2006/04/09 13:47:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbplayer.h"
|
#include "dvbplayer.h"
|
||||||
@ -399,12 +399,19 @@ void cDvbPlayer::Action(void)
|
|||||||
if (playMode == pmFast || (playMode == pmSlow && playDir == pdBackward)) {
|
if (playMode == pmFast || (playMode == pmSlow && playDir == pdBackward)) {
|
||||||
uchar FileNumber;
|
uchar FileNumber;
|
||||||
int FileOffset;
|
int FileOffset;
|
||||||
int Index = index->GetNextIFrame(readIndex, playDir == pdForward, &FileNumber, &FileOffset, &Length, true);
|
bool TimeShiftMode = index->IsStillRecording();
|
||||||
|
int Index = index->GetNextIFrame(readIndex, playDir == pdForward, &FileNumber, &FileOffset, &Length, TimeShiftMode);
|
||||||
if (Index >= 0) {
|
if (Index >= 0) {
|
||||||
if (!NextFile(FileNumber, FileOffset))
|
if (!NextFile(FileNumber, FileOffset))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (!TimeShiftMode && playDir == pdForward) {
|
||||||
|
// hit end of recording: signal end of file but don't change playMode
|
||||||
|
readIndex = -1;
|
||||||
|
eof = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// hit begin of recording: wait for device buffers to drain
|
// hit begin of recording: wait for device buffers to drain
|
||||||
// before changing play mode:
|
// before changing play mode:
|
||||||
if (!DeviceFlush(100))
|
if (!DeviceFlush(100))
|
||||||
|
@ -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 1.143 2006/03/26 09:11:00 kls Exp $
|
* $Id: recording.c 1.144 2006/04/09 13:49:51 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1368,6 +1368,11 @@ int cIndexFile::Get(uchar FileNumber, int FileOffset)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cIndexFile::IsStillRecording()
|
||||||
|
{
|
||||||
|
return f >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
// --- cFileName -------------------------------------------------------------
|
// --- cFileName -------------------------------------------------------------
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
@ -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.h 1.53 2006/02/25 12:24:46 kls Exp $
|
* $Id: recording.h 1.54 2006/04/09 13:47:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RECORDING_H
|
#ifndef __RECORDING_H
|
||||||
@ -210,6 +210,7 @@ public:
|
|||||||
int Last(void) { CatchUp(); return last; }
|
int Last(void) { CatchUp(); return last; }
|
||||||
int GetResume(void) { return resumeFile.Read(); }
|
int GetResume(void) { return resumeFile.Read(); }
|
||||||
bool StoreResume(int Index) { return resumeFile.Save(Index); }
|
bool StoreResume(int Index) { return resumeFile.Save(Index); }
|
||||||
|
bool IsStillRecording(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
class cFileName {
|
class cFileName {
|
||||||
|
Loading…
Reference in New Issue
Block a user