summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY5
-rw-r--r--config.h4
-rw-r--r--dvbapi.c7
3 files changed, 10 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index 3fc7cb5d..3f00cb1a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -866,14 +866,15 @@ Video Disk Recorder Revision History
- The device /dev/video is now opened only if necessary (to GRAB an image),
allowing other programs (like 'kvdr', for instance) to use that device.
-2001-11-24: Version 0.9.9
+2001-11-25: Version 0.99
-- Changed version numbering scheme.
- Fixed several channel definitions in 'channels.conf' (thanks to Thilo
Wunderlich).
- Added MPEG audio support for DVD (thanks to Andreas Schultz).
- Implemented DVB-T support (thanks to Dave Chapman).
+ This currently works only for UK channels.
- Removed the range limits for the Frequency and Srate parameters of channel
definitions.
- Changed the maximum value for PIDs in channels.conf from 0xFFFE to 0x1FFF.
- Fixed DVD audio sync problems (thanks to Andreas Schultz).
+- Fixed external AC3 replay for DVDs (thanks to Andreas Schultz).
diff --git a/config.h b/config.h
index 57449693..018d00ef 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.85 2001/10/27 09:56:04 kls Exp $
+ * $Id: config.h 1.86 2001/11/25 15:57:08 kls Exp $
*/
#ifndef __CONFIG_H
@@ -18,7 +18,7 @@
#include "eit.h"
#include "tools.h"
-#define VDRVERSION "0.98"
+#define VDRVERSION "0.99"
#define MAXPRIORITY 99
#define MAXLIFETIME 99
diff --git a/dvbapi.c b/dvbapi.c
index 5ec3d03d..707db0d9 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.140 2001/11/24 14:45:58 kls Exp $
+ * $Id: dvbapi.c 1.141 2001/11/25 16:38:09 kls Exp $
*/
//#define DVDDEBUG 1
@@ -710,6 +710,7 @@ protected:
int readIndex, writeIndex;
bool canDoTrickMode;
bool canToggleAudioTrack;
+ bool skipAC3bytes;
uchar audioTrack;
void TrickSpeed(int Increment);
virtual void Empty(bool Block = false);
@@ -752,6 +753,7 @@ cPlayBuffer::cPlayBuffer(cDvbApi *DvbApi, int VideoDev, int AudioDev)
readIndex = writeIndex = -1;
canDoTrickMode = false;
canToggleAudioTrack = false;
+ skipAC3bytes = false;
audioTrack = 0xC0;
if (cDvbApi::AudioCommand()) {
if (!dolbyDev.Open(cDvbApi::AudioCommand(), "w"))
@@ -769,7 +771,7 @@ void cPlayBuffer::PlayExternalDolby(const uchar *b, int MaxLength)
if (b[0] == 0x00 && b[1] == 0x00 && b[2] == 0x01) {
if (b[3] == 0xBD) { // dolby
int l = b[4] * 256 + b[5] + 6;
- int written = b[8] + 9; // skips the PES header
+ int written = b[8] + (skipAC3bytes ? 13 : 9); // skips the PES header
int n = min(l - written, MaxLength);
while (n > 0) {
int w = fwrite(&b[written], 1, n, dolbyDev);
@@ -1545,6 +1547,7 @@ cDVDplayBuffer::cDVDplayBuffer(cDvbApi *DvbApi, int VideoDev, int AudioDev, cDVD
canToggleAudioTrack = true;//XXX determine from cDVD!
data = new uchar[1024 * DVD_VIDEO_LB_LEN];
canDoTrickMode = true;
+ skipAC3bytes = true;
dvbApi->SetModeReplay();
Start();
}