VDR 1.5.17 - pre 1.3.19 compatibility mode problems

Message ID 200804131029.49780.stefan@lucke.in-berlin.de
State New
Headers

Commit Message

Stefan Lucke April 13, 2008, 8:29 a.m. UTC
  On Saturday 12 April 2008, Klaus Schmidinger wrote:
> On 04/09/08 08:54, Stefan Lucke wrote:
> > On Wednesday 05 March 2008, Klaus Schmidinger wrote:
> >> On 03/04/08 10:58, Tero Siironen wrote:
> >>> Hi,
> >>>
> >>> I upgraded from VDR 1.4.7 to 1.5.17 and noticed that some of my old  
> >>> recordings won't play decently with this new version. Here's a syslog  
> >>> entry and example clip can be found from http://kotisivu.suomi.net/izero/vdr-darwin/ddmode_example.zip 
> >>>   (9MB)
> >>>
> >>> Those problematic recordings were done with some 1.3.x series VDR with  
> >>> ttxtsubs plugin in fall 2004. Plays fine with VDR 1.4.7, but playback  
> >>> stutters when playing with VDR 1.5.17. My system has DVB-C FF 2.1 and  
> >>> DVB-C budget cards. Running on Fedora 5.
> >> My guess would be that the offending data comes from the ttxtsubs plugin.
> >> Maybe you need to patch VDR to become aware of this.
> > 
> > My guess is that this is introduced by vdr-1.5.11
> > 
> > Original vdr-1.6.0:
> > Apr  9 08:29:38 jarada vdr: [7997] replay /net_data/video/Extra/Enterprise_1/%1-01_Aufbruch_ins_Unbekannte_-_Teil_1/2004-01-31.19:05.99.99.rec
> > Apr  9 08:29:38 jarada vdr: [7997] playing '/net_data/video/Extra/Enterprise_1/%1-01_Aufbruch_ins_Unbekannte_-_Teil_1/2004-01-31.19:05.99.99.rec/001.vdr'
> > Apr  9 08:29:38 jarada vdr: [7997] loading /net_data/video/Extra/Enterprise_1/%1-01_Aufbruch_ins_Unbekannte_-_Teil_1/2004-01-31.19:05.99.99.rec//marks.vdr
> > Apr  9 08:29:38 jarada vdr: [8019] dvbplayer thread started (pid=7997, tid=8019)
> > Apr  9 08:29:38 jarada vdr: [8020] non blocking file reader thread started (pid=7997, tid=8020)
> > Apr  9 08:29:38 jarada vdr: [8019] unknown PS1 packet, substream id = EB (counter is at 0)
> > Apr  9 08:29:38 jarada vdr: [8019] unknown PS1 packet, substream id = 0B (counter is at 1)


> > Attached pach fixes this problem for me.
> 
> Your patch changed two things: the MIN_PRE_1_3_19_PRIVATESTREAM stuff, which merely
> made detection of pre 1.3.19 Dolby Digital data more reliable, and the (Data[7] & 0x01)
> check in "// Compatibility mode for old subtitles plugin:". I assume that the latter one
> is what's causing your problems.
> 
> Can you please reinstate the MIN_PRE_1_3_19_PRIVATESTREAM stuff and check whether just
> leaving out the (Data[7] & 0x01) check is enough to fix this?

I guess you meant the following change only:


With this change it is still the same issue: no sound at all.

Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 62 (counter is at 8)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = DA (counter is at 9)
Apr 13 09:48:11 jarada vdr: [7765] switching to pre 1.3.19 Dolby Digital compatibility mode - substream id = DA
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = DA (counter is at 0)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 41 (counter is at 0)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 0B (counter is at 1)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = D6 (counter is at 2)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = C6 (counter is at 2)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 5A (counter is at 3)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 0B (counter is at 4)
Apr 13 09:48:11 jarada vdr: [7765] unknown PS1 packet, substream id = 6C (counter is at 4)

Wondering why the are different substream ids are reported with the same counter value ;-).

> 
> This additional check was suggested by Marco Schlüßler, so maybe he can comment
> on this and maybe find out why this is interfering with the pre 1.3.19 Dolby Digital
> detection?
> 

Stefan Lucke
  

Patch

--- device.c.orig       2008-03-09 11:03:34.000000000 +0100
+++ device.c    2008-04-12 17:30:45.000000000 +0200
@@ -1265,7 +1265,7 @@ 
                int PayloadOffset = Data[8] + 9;

                // Compatibility mode for old subtitles plugin:
-               if ((Data[7] & 0x01) && (Data[PayloadOffset - 3] & 0x81) == 0x01 && Data[PayloadOffset - 2] == 0x81)
+               if ((Data[PayloadOffset - 3] & 0x81) == 1 && Data[PayloadOffset - 2] == 0x81)
                   PayloadOffset--;

                uchar SubStreamId = Data[PayloadOffset];