mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Avoiding audio/video distortions in 'Transfer Mode'
This commit is contained in:
parent
47b859c156
commit
780cd3d52f
3
HISTORY
3
HISTORY
@ -570,7 +570,7 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed handling a channel group separator at the very beginning of the
|
- Fixed handling a channel group separator at the very beginning of the
|
||||||
'channels.conf' file.
|
'channels.conf' file.
|
||||||
|
|
||||||
2001-07-27: Version 0.85
|
2001-07-29: Version 0.85
|
||||||
|
|
||||||
- Added Norwegian language texts (thanks to Jørgen Tvedt).
|
- Added Norwegian language texts (thanks to Jørgen Tvedt).
|
||||||
- Increased the usleep value in cDvbOsd::Cmd() to 5000 in order to work on
|
- Increased the usleep value in cDvbOsd::Cmd() to 5000 in order to work on
|
||||||
@ -586,3 +586,4 @@ Video Disk Recorder Revision History
|
|||||||
- DiSEqC support can now be generally enabled/disabled in the Setup menu. This
|
- DiSEqC support can now be generally enabled/disabled in the Setup menu. This
|
||||||
may be necessary if your multiswitch gets irritated by the default DiSEqC
|
may be necessary if your multiswitch gets irritated by the default DiSEqC
|
||||||
codes '0' (thanks to Markus Lang).
|
codes '0' (thanks to Markus Lang).
|
||||||
|
- Avoiding audio/video distortions in 'Transfer Mode'.
|
||||||
|
7
dvbapi.c
7
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.90 2001/07/27 13:33:56 kls Exp $
|
* $Id: dvbapi.c 1.91 2001/07/28 11:23:59 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbapi.h"
|
#include "dvbapi.h"
|
||||||
@ -1163,8 +1163,10 @@ void cTransferBuffer::Output(void)
|
|||||||
uchar b[MINVIDEODATA];
|
uchar b[MINVIDEODATA];
|
||||||
while (Busy()) {
|
while (Busy()) {
|
||||||
if (!gotBufferReserve) {
|
if (!gotBufferReserve) {
|
||||||
if (Available() < MAXFRAMESIZE)
|
if (Available() < MAXFRAMESIZE) {
|
||||||
usleep(100000); // allow the buffer to collect some reserve
|
usleep(100000); // allow the buffer to collect some reserve
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
gotBufferReserve = true;
|
gotBufferReserve = true;
|
||||||
}
|
}
|
||||||
@ -2256,6 +2258,7 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization,
|
|||||||
if (CaDvbApi) {
|
if (CaDvbApi) {
|
||||||
if (!CaDvbApi->Recording()) {
|
if (!CaDvbApi->Recording()) {
|
||||||
if (CaDvbApi->SetChannel(ChannelNumber, FrequencyMHz, Polarization, Diseqc, Srate, Vpid, Apid1, Apid2, Dpid1, Dpid2, Tpid, Ca, Pnr)) {
|
if (CaDvbApi->SetChannel(ChannelNumber, FrequencyMHz, Polarization, Diseqc, Srate, Vpid, Apid1, Apid2, Dpid1, Dpid2, Tpid, Ca, Pnr)) {
|
||||||
|
usleep(500000); // avoids distortions (apparently switching into replay mode immediately after tuning causes problems)
|
||||||
SetModeReplay();
|
SetModeReplay();
|
||||||
transferringFromDvbApi = CaDvbApi->StartTransfer(fd_video);
|
transferringFromDvbApi = CaDvbApi->StartTransfer(fd_video);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user