summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-05-24 08:48:49 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2003-05-24 08:48:49 +0200
commit24bbaa277c546857176ff1485f67f6185d4fbedb (patch)
tree239cfd7430545b575f8108887aff9c8e210c920a
parenta28e2ef5b573d449d7331921f15f81b6b78dfa8e (diff)
downloadvdr-24bbaa277c546857176ff1485f67f6185d4fbedb.tar.gz
vdr-24bbaa277c546857176ff1485f67f6185d4fbedb.tar.bz2
Modified handling of audio packets in cDvbPlayer for better sync with external AC3 replay
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY5
-rw-r--r--config.h6
-rw-r--r--dvbplayer.c16
4 files changed, 20 insertions, 9 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d31a118e..4e205ef1 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -236,6 +236,8 @@ Werner Fink <werner@suse.de>
for improving keyboard detection
for adding some missing cAudio handling calls
for replacing the 'for' loops in StripAudioPackets() with memset() calls
+ for modifying handling of audio packets in cDvbPlayer for better sync with external
+ AC3 replay
Rolf Hakenes <hakenes@hippomi.de>
for providing 'libdtv' and adapting the EIT mechanisms to it
diff --git a/HISTORY b/HISTORY
index 0f46d7e5..1fbec820 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2172,3 +2172,8 @@ Video Disk Recorder Revision History
to Lars Bläser for reporting this one).
- No longer waiting inside cIndexFile::CatchUp() to avoid shortly blocking replay
at the end of a recording.
+
+2003-05-24: Version 1.1.33
+
+- Modified handling of audio packets in cDvbPlayer for better sync with external
+ AC3 replay (thanks to Werner Fink).
diff --git a/config.h b/config.h
index 4d265ff7..c7c30134 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.159 2003/05/16 12:27:58 kls Exp $
+ * $Id: config.h 1.160 2003/05/19 15:27:37 kls Exp $
*/
#ifndef __CONFIG_H
@@ -19,8 +19,8 @@
#include "device.h"
#include "tools.h"
-#define VDRVERSION "1.1.32"
-#define VDRVERSNUM 10132 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.1.33"
+#define VDRVERSNUM 10133 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99
diff --git a/dvbplayer.c b/dvbplayer.c
index afd42789..7224a8ab 100644
--- a/dvbplayer.c
+++ b/dvbplayer.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbplayer.c 1.20 2003/04/27 09:55:53 kls Exp $
+ * $Id: dvbplayer.c 1.21 2003/05/19 15:23:19 kls Exp $
*/
#include "dvbplayer.h"
@@ -477,8 +477,8 @@ void cDvbPlayer::Action(void)
}
int r = nonBlockingFileReader->Read(replayFile, b, Length);
if (r > 0) {
- if (AudioTrack >= 0)
- StripAudioPackets(b, r, AudioTrack);
+ if (AudioTrack == 0)
+ StripAudioPackets(b, r);
readFrame = new cFrame(b, -r, ftUnknown, readIndex); // hands over b to the ringBuffer
b = NULL;
}
@@ -514,9 +514,13 @@ void cDvbPlayer::Action(void)
if (!p) {
p = playFrame->Data();
pc = playFrame->Count();
- if (firstPacket) {
- cRemux::SetBrokenLink(p, pc);
- firstPacket = false;
+ if (p) {
+ if (firstPacket) {
+ cRemux::SetBrokenLink(p, pc);
+ firstPacket = false;
+ }
+ if (AudioTrack > 0)
+ StripAudioPackets(p, pc, AudioTrack);
}
}
if (p) {