summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2008-02-09 15:12:55 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2008-02-09 15:12:55 +0100
commit7ad17726d81f586307bcfba2cc9c05af0e7b6ef0 (patch)
tree0e8ebbc2ecd57eb2b4df940a54424e81b07321ff /device.c
parent6520725bb2e4baf2dfd67e19c2e6977a1a5f1af8 (diff)
downloadvdr-7ad17726d81f586307bcfba2cc9c05af0e7b6ef0.tar.gz
vdr-7ad17726d81f586307bcfba2cc9c05af0e7b6ef0.tar.bz2
Improved sending all frames to devices that can handle them in fast forward trick speeds, including subtitles
Diffstat (limited to 'device.c')
-rw-r--r--device.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/device.c b/device.c
index 3dfdf6b3..16b88a26 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 1.150 2008/02/08 13:48:31 kls Exp $
+ * $Id: device.c 1.151 2008/02/09 15:09:04 kls Exp $
*/
#include "device.h"
@@ -1231,7 +1231,7 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
break;
case 0xC0 ... 0xDF: // audio
SetAvailableTrack(ttAudio, c - 0xC0, c);
- if (!VideoOnly && c == availableTracks[currentAudioTrack].id) {
+ if ((!VideoOnly || HasIBPTrickSpeed()) && c == availableTracks[currentAudioTrack].id) {
w = PlayAudio(Start, d, c);
if (FirstLoop)
Audios.PlayAudio(Data, Length, c);
@@ -1261,13 +1261,13 @@ pre_1_3_19_PrivateStreamDeteced:
case 0x20: // SPU
case 0x30: // SPU
SetAvailableTrack(ttSubtitle, SubStreamIndex, SubStreamId);
- if (!VideoOnly && currentSubtitleTrack != ttNone && SubStreamId == availableTracks[currentSubtitleTrack].id)
+ if ((!VideoOnly || HasIBPTrickSpeed()) && currentSubtitleTrack != ttNone && SubStreamId == availableTracks[currentSubtitleTrack].id)
w = PlaySubtitle(Start, d);
break;
case 0x80: // AC3 & DTS
if (Setup.UseDolbyDigital) {
SetAvailableTrack(ttDolby, SubStreamIndex, SubStreamId);
- if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
+ if ((!VideoOnly || HasIBPTrickSpeed()) && SubStreamId == availableTracks[currentAudioTrack].id) {
w = PlayAudio(Start, d, SubStreamId);
if (FirstLoop)
Audios.PlayAudio(Data, Length, SubStreamId);
@@ -1276,7 +1276,7 @@ pre_1_3_19_PrivateStreamDeteced:
break;
case 0xA0: // LPCM
SetAvailableTrack(ttAudio, SubStreamIndex, SubStreamId);
- if (!VideoOnly && SubStreamId == availableTracks[currentAudioTrack].id) {
+ if ((!VideoOnly || HasIBPTrickSpeed()) && SubStreamId == availableTracks[currentAudioTrack].id) {
w = PlayAudio(Start, d, SubStreamId);
if (FirstLoop)
Audios.PlayAudio(Data, Length, SubStreamId);