summaryrefslogtreecommitdiff
path: root/dvbapi.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2001-08-18 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2001-08-18 18:00:00 +0200
commit371bf0665eda455c67926999f52b4850cd8529e4 (patch)
tree383f39f92ef1f3846d89e4ae6ad7e39699334f01 /dvbapi.c
parentefea0f64d08052b0189d962101e1a3634d4adfc8 (diff)
downloadvdr-patch-lnbsharing-371bf0665eda455c67926999f52b4850cd8529e4.tar.gz
vdr-patch-lnbsharing-371bf0665eda455c67926999f52b4850cd8529e4.tar.bz2
Version 0.92vdr-0.92
- The "channel not sync'ed" log message now also lists the card number. - Now using the EIT services from 'libdtv' (thanks to Rolf Hakenes), which provides EPG information for NVOD ("Near Video On Demand") channels. - Doing some bug fixing on the EPG data (some tv stations apparently have their own idea on how to fill in the data...). The level up to which EPG bugs are fixed can be controlled with the EPGBugfixLevel parameter in the "Setup" menu (see MANUAL for details, and cEventInfo::FixEpgBugs() in eit.c for the actual implementation). - Fixed broken recordings after a driver buffer overflow. - Fixed the chirping sound after Pause/Play of a DVD (thanks to Andreas Schultz).
Diffstat (limited to 'dvbapi.c')
-rw-r--r--dvbapi.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/dvbapi.c b/dvbapi.c
index 4c38610..6ff39b3 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -7,7 +7,7 @@
* DVD support initially written by Andreas Schultz <aschultz@warp10.net>
* based on dvdplayer-0.5 by Matjaz Thaler <matjaz.thaler@guest.arnes.si>
*
- * $Id: dvbapi.c 1.106 2001/08/12 15:09:42 kls Exp $
+ * $Id: dvbapi.c 1.109 2001/08/19 15:09:48 kls Exp $
*/
//#define DVDDEBUG 1
@@ -545,9 +545,13 @@ void cRecordBuffer::Input(void)
}
else if (r < 0) {
if (FATALERRNO) {
- LOG_ERROR;
- if (errno != EBUFFEROVERFLOW)
+ if (errno == EBUFFEROVERFLOW) { // this error code is not defined in the library
+ esyslog(LOG_ERR, "ERROR (%s,%d): DVB driver buffer overflow", __FILE__, __LINE__);
+ }
+ else {
+ LOG_ERROR;
break;
+ }
}
}
if (time(NULL) - t > MAXBROKENTIMEOUT) {
@@ -752,7 +756,7 @@ void cPlayBuffer::Pause(void)
Empty(true);
fastForward = fastRewind = false;
CHECK(ioctl(videoDev, paused ? VIDEO_FREEZE : VIDEO_CONTINUE));
- CHECK(ioctl(audioDev, AUDIO_SET_MUTE, paused));
+ //CHECK(ioctl(audioDev, AUDIO_SET_MUTE, paused)); //XXX this caused chirping sound when playing a DVD
still = false;
if (empty)
Empty(false);
@@ -767,7 +771,7 @@ void cPlayBuffer::Play(void)
still = false;
CHECK(ioctl(videoDev, paused ? VIDEO_CONTINUE : VIDEO_PLAY));
CHECK(ioctl(audioDev, AUDIO_SET_AV_SYNC, true));
- CHECK(ioctl(audioDev, AUDIO_SET_MUTE, false));
+ //CHECK(ioctl(audioDev, AUDIO_SET_MUTE, false)); //XXX this caused chirping sound when playing a DVD
if (empty)
Empty(false);
fastForward = fastRewind = paused = false;
@@ -2075,9 +2079,13 @@ void cTransferBuffer::Input(void)
}
else if (r < 0) {
if (FATALERRNO) {
- LOG_ERROR;
- if (errno != EBUFFEROVERFLOW)
+ if (errno == EBUFFEROVERFLOW) { // this error code is not defined in the library
+ esyslog(LOG_ERR, "ERROR (%s,%d): DVB driver buffer overflow", __FILE__, __LINE__);
+ }
+ else {
+ LOG_ERROR;
break;
+ }
}
}
}
@@ -3160,7 +3168,7 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization,
}
if (!ChannelSynced) {
- esyslog(LOG_ERR, "ERROR: channel %d not sync'ed!", ChannelNumber);
+ esyslog(LOG_ERR, "ERROR: channel %d not sync'ed on DVB card %d!", ChannelNumber, CardIndex() + 1);
if (this == PrimaryDvbApi)
cThread::RaisePanic();
return false;