mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Modified handling of audio packets in cDvbPlayer for better sync with external AC3 replay
This commit is contained in:
parent
a28e2ef5b5
commit
24bbaa277c
@ -236,6 +236,8 @@ Werner Fink <werner@suse.de>
|
|||||||
for improving keyboard detection
|
for improving keyboard detection
|
||||||
for adding some missing cAudio handling calls
|
for adding some missing cAudio handling calls
|
||||||
for replacing the 'for' loops in StripAudioPackets() with memset() 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>
|
Rolf Hakenes <hakenes@hippomi.de>
|
||||||
for providing 'libdtv' and adapting the EIT mechanisms to it
|
for providing 'libdtv' and adapting the EIT mechanisms to it
|
||||||
|
5
HISTORY
5
HISTORY
@ -2172,3 +2172,8 @@ Video Disk Recorder Revision History
|
|||||||
to Lars Bläser for reporting this one).
|
to Lars Bläser for reporting this one).
|
||||||
- No longer waiting inside cIndexFile::CatchUp() to avoid shortly blocking replay
|
- No longer waiting inside cIndexFile::CatchUp() to avoid shortly blocking replay
|
||||||
at the end of a recording.
|
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).
|
||||||
|
6
config.h
6
config.h
@ -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.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
|
#ifndef __CONFIG_H
|
||||||
@ -19,8 +19,8 @@
|
|||||||
#include "device.h"
|
#include "device.h"
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
#define VDRVERSION "1.1.32"
|
#define VDRVERSION "1.1.33"
|
||||||
#define VDRVERSNUM 10132 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 10133 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
#define MAXPRIORITY 99
|
#define MAXPRIORITY 99
|
||||||
#define MAXLIFETIME 99
|
#define MAXLIFETIME 99
|
||||||
|
10
dvbplayer.c
10
dvbplayer.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: 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"
|
#include "dvbplayer.h"
|
||||||
@ -477,8 +477,8 @@ void cDvbPlayer::Action(void)
|
|||||||
}
|
}
|
||||||
int r = nonBlockingFileReader->Read(replayFile, b, Length);
|
int r = nonBlockingFileReader->Read(replayFile, b, Length);
|
||||||
if (r > 0) {
|
if (r > 0) {
|
||||||
if (AudioTrack >= 0)
|
if (AudioTrack == 0)
|
||||||
StripAudioPackets(b, r, AudioTrack);
|
StripAudioPackets(b, r);
|
||||||
readFrame = new cFrame(b, -r, ftUnknown, readIndex); // hands over b to the ringBuffer
|
readFrame = new cFrame(b, -r, ftUnknown, readIndex); // hands over b to the ringBuffer
|
||||||
b = NULL;
|
b = NULL;
|
||||||
}
|
}
|
||||||
@ -514,10 +514,14 @@ void cDvbPlayer::Action(void)
|
|||||||
if (!p) {
|
if (!p) {
|
||||||
p = playFrame->Data();
|
p = playFrame->Data();
|
||||||
pc = playFrame->Count();
|
pc = playFrame->Count();
|
||||||
|
if (p) {
|
||||||
if (firstPacket) {
|
if (firstPacket) {
|
||||||
cRemux::SetBrokenLink(p, pc);
|
cRemux::SetBrokenLink(p, pc);
|
||||||
firstPacket = false;
|
firstPacket = false;
|
||||||
}
|
}
|
||||||
|
if (AudioTrack > 0)
|
||||||
|
StripAudioPackets(p, pc, AudioTrack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (p) {
|
if (p) {
|
||||||
int w = PlayVideo(p, pc);
|
int w = PlayVideo(p, pc);
|
||||||
|
Loading…
Reference in New Issue
Block a user