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:
parent
c36b51a5b0
commit
744849128d
3
HISTORY
3
HISTORY
@ -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.
|
||||||
|
15
dvbapi.c
15
dvbapi.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: 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);
|
||||||
|
Loading…
Reference in New Issue
Block a user