Fixed external AC3 replay; switched back to old version numbering scheme

This commit is contained in:
Klaus Schmidinger 2001-11-25 16:44:13 +01:00
parent 6e6eeab1fd
commit 1d9eb9f7bc
3 changed files with 10 additions and 6 deletions

View File

@ -866,14 +866,15 @@ Video Disk Recorder Revision History
- The device /dev/video is now opened only if necessary (to GRAB an image), - 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. 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 - Fixed several channel definitions in 'channels.conf' (thanks to Thilo
Wunderlich). Wunderlich).
- Added MPEG audio support for DVD (thanks to Andreas Schultz). - Added MPEG audio support for DVD (thanks to Andreas Schultz).
- Implemented DVB-T support (thanks to Dave Chapman). - 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 - Removed the range limits for the Frequency and Srate parameters of channel
definitions. definitions.
- Changed the maximum value for PIDs in channels.conf from 0xFFFE to 0x1FFF. - Changed the maximum value for PIDs in channels.conf from 0xFFFE to 0x1FFF.
- Fixed DVD audio sync problems (thanks to Andreas Schultz). - Fixed DVD audio sync problems (thanks to Andreas Schultz).
- Fixed external AC3 replay for DVDs (thanks to Andreas Schultz).

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: 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 #ifndef __CONFIG_H
@ -18,7 +18,7 @@
#include "eit.h" #include "eit.h"
#include "tools.h" #include "tools.h"
#define VDRVERSION "0.98" #define VDRVERSION "0.99"
#define MAXPRIORITY 99 #define MAXPRIORITY 99
#define MAXLIFETIME 99 #define MAXLIFETIME 99

View File

@ -7,7 +7,7 @@
* DVD support initially written by Andreas Schultz <aschultz@warp10.net> * DVD support initially written by Andreas Schultz <aschultz@warp10.net>
* based on dvdplayer-0.5 by Matjaz Thaler <matjaz.thaler@guest.arnes.si> * 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 //#define DVDDEBUG 1
@ -710,6 +710,7 @@ protected:
int readIndex, writeIndex; int readIndex, writeIndex;
bool canDoTrickMode; bool canDoTrickMode;
bool canToggleAudioTrack; bool canToggleAudioTrack;
bool skipAC3bytes;
uchar audioTrack; uchar audioTrack;
void TrickSpeed(int Increment); void TrickSpeed(int Increment);
virtual void Empty(bool Block = false); virtual void Empty(bool Block = false);
@ -752,6 +753,7 @@ cPlayBuffer::cPlayBuffer(cDvbApi *DvbApi, int VideoDev, int AudioDev)
readIndex = writeIndex = -1; readIndex = writeIndex = -1;
canDoTrickMode = false; canDoTrickMode = false;
canToggleAudioTrack = false; canToggleAudioTrack = false;
skipAC3bytes = false;
audioTrack = 0xC0; audioTrack = 0xC0;
if (cDvbApi::AudioCommand()) { if (cDvbApi::AudioCommand()) {
if (!dolbyDev.Open(cDvbApi::AudioCommand(), "w")) 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[0] == 0x00 && b[1] == 0x00 && b[2] == 0x01) {
if (b[3] == 0xBD) { // dolby if (b[3] == 0xBD) { // dolby
int l = b[4] * 256 + b[5] + 6; 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); int n = min(l - written, MaxLength);
while (n > 0) { while (n > 0) {
int w = fwrite(&b[written], 1, n, dolbyDev); 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! canToggleAudioTrack = true;//XXX determine from cDVD!
data = new uchar[1024 * DVD_VIDEO_LB_LEN]; data = new uchar[1024 * DVD_VIDEO_LB_LEN];
canDoTrickMode = true; canDoTrickMode = true;
skipAC3bytes = true;
dvbApi->SetModeReplay(); dvbApi->SetModeReplay();
Start(); Start();
} }