1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Clearing buffer in search forward/back

This commit is contained in:
Klaus Schmidinger 2000-07-15 16:07:20 +02:00
parent c36b51a5b0
commit 744849128d
2 changed files with 14 additions and 4 deletions

View File

@ -65,4 +65,5 @@ Video Disk Recorder Revision History
work immediately even if there is no actual remote control). work immediately even if there is no actual remote control).
- Fixed small bug in dvbapi.c that was causing some channels (many on hotbird) - Fixed small bug in dvbapi.c that was causing some channels (many on hotbird)
not to be correctly tuned (thanks to Plamen Ganev!). not to be correctly tuned (thanks to Plamen Ganev!).
- Now clearing the replay buffer in search forward/back, which results in
faster reaction.

View File

@ -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: dvbapi.c 1.12 2000/07/15 13:33:04 kls Exp $ * $Id: dvbapi.c 1.13 2000/07/15 16:03:13 kls Exp $
*/ */
#include "dvbapi.h" #include "dvbapi.h"
@ -1569,17 +1569,25 @@ bool cDvbApi::StartReplay(const char *FileName, const char *Title)
Buffer->Stop(); break; Buffer->Stop(); break;
case dvbPauseReplay: SetReplayMode(Paused ? VID_PLAY_NORMAL : VID_PLAY_PAUSE); case dvbPauseReplay: SetReplayMode(Paused ? VID_PLAY_NORMAL : VID_PLAY_PAUSE);
Paused = !Paused; Paused = !Paused;
if (FastForward || FastRewind) {
SetReplayMode(VID_PLAY_CLEAR_BUFFER);
Buffer->Clear();
}
FastForward = FastRewind = false; FastForward = FastRewind = false;
Buffer->SetMode(rmPlay); Buffer->SetMode(rmPlay);
break; break;
case dvbFastForward: SetReplayMode(VID_PLAY_NORMAL); case dvbFastForward: SetReplayMode(VID_PLAY_CLEAR_BUFFER);
SetReplayMode(VID_PLAY_NORMAL);
FastForward = !FastForward; FastForward = !FastForward;
FastRewind = Paused = false; FastRewind = Paused = false;
Buffer->Clear();
Buffer->SetMode(FastForward ? rmFastForward : rmPlay); Buffer->SetMode(FastForward ? rmFastForward : rmPlay);
break; break;
case dvbFastRewind: SetReplayMode(VID_PLAY_NORMAL); case dvbFastRewind: SetReplayMode(VID_PLAY_CLEAR_BUFFER);
SetReplayMode(VID_PLAY_NORMAL);
FastRewind = !FastRewind; FastRewind = !FastRewind;
FastForward = Paused = false; FastForward = Paused = false;
Buffer->Clear();
Buffer->SetMode(FastRewind ? rmFastRewind : rmPlay); Buffer->SetMode(FastRewind ? rmFastRewind : rmPlay);
break; break;
case dvbSkip: { case dvbSkip: {
@ -1592,6 +1600,7 @@ bool cDvbApi::StartReplay(const char *FileName, const char *Title)
Buffer->SkipSeconds(Seconds); Buffer->SkipSeconds(Seconds);
} }
} }
break;
case dvbGetIndex: { case dvbGetIndex: {
int Current, Total; int Current, Total;
Buffer->GetIndex(Current, Total); Buffer->GetIndex(Current, Total);