--- device.c.new1 2007-11-28 12:18:32.000000000 +0200 +++ device.c 2007-12-09 15:36:42.000000000 +0200 @@ -1231,7 +1231,7 @@ 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); @@ -1267,7 +1267,7 @@ 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 @@ 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); --- dvbplayer.c.orig 2007-11-27 20:09:59.000000000 +0200 +++ dvbplayer.c 2007-12-09 15:39:41.000000000 +0200 @@ -566,7 +566,8 @@ else { LOCK_THREAD; if (playMode == pmFast || (playMode == pmSlow && playDir == pdBackward)) - Empty(); + if (!(DeviceHasIBPTrickSpeed() && playDir == pdForward)) + Empty(); DeviceFreeze(); playMode = pmPause; } @@ -577,7 +578,8 @@ if (playMode != pmPlay) { LOCK_THREAD; if (playMode == pmStill || playMode == pmFast || (playMode == pmSlow && playDir == pdBackward)) - Empty(); + if (!(DeviceHasIBPTrickSpeed() && playDir == pdForward)) + Empty(); DevicePlay(); playMode = pmPlay; playDir = pdForward; @@ -600,7 +602,8 @@ // run into pmPlay case pmPlay: { LOCK_THREAD; - Empty(); + if (!(DeviceHasIBPTrickSpeed() && playDir == pdForward)) + Empty(); DeviceMute(); playMode = pmFast; playDir = pdForward;