Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Dominic Evans
On 9 April 2012 10:40, Klaus Schmidinger klaus.schmidin...@tvdr.de wrote:
 +                          // http://www.smpte-ra.org/mpegreg/mpegreg.html
 +                          ...
 +                          case 0x44434949: // STREAMTYPE_USER_PRIVATE -
 DigiCipher II VIDEO (ANSI/SCTE 57)

 There is no entry for 44-43-49-49 on the given page.

 Klaus

fwiw, Patrick's patch simply re-instates the case statement that was
removed in VDR 1.7.18, although with a slightly different comment
against it

see pat.c diff at
http://git.gekrumbel.de/vdr.git?p=vdr.git;a=commitdiff;h=f3d9ba8bfd6cd51779aa1d2923903949fbb92f3c

I'm guessing this was removed as part of Rolf's patch to add DigiCipher support?

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Patrick Boettcher
On Monday 09 April 2012 13:39:36 Dominic Evans wrote:
 On 9 April 2012 10:40, Klaus Schmidinger klaus.schmidin...@tvdr.de 
wrote:
  +  //
  http://www.smpte-ra.org/mpegreg/mpegreg.html +
   ...
  +  case 0x44434949: // STREAMTYPE_USER_PRIVATE
  - DigiCipher II VIDEO (ANSI/SCTE 57)
  
  There is no entry for 44-43-49-49 on the given page.

It wasn't me who added this stream-type check, I just re-applied the checks 
how they were done before.

 see pat.c diff at
 http://git.gekrumbel.de/vdr.git?p=vdr.git;a=commitdiff;h=f3d9ba8bfd6cd517
 79aa1d2923903949fbb92f3c

I used exactly this repository to find out that the regression was introduced 
in 1.7.18.
 
 I'm guessing this was removed as part of Rolf's patch to add DigiCipher
 support?

Rolf contacted me off-list and confirmed your assumption. 

I sent the PMT (attached here as well) of the channel to him to see whether 
he has an idea how it can be avoided.

In general I think just brutally replace the VPID with the PID signalled in 
the stream which is user-defined can't be the right way.

--
Patrick 
http://www.kernellabs.com/
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/


SECT-Packet: 0001   PID: 110 (0x006e), Length: 98 (0x0062)
Time received: Mon 2012-04-09  09:51:42.797

  :  02 b0 5f 01 01 ff 00 00  e0 78 f0 00 02 e0 78 f0   .._..xx.
  0010:  03 11 01 ff 03 e0 82 f0  06 0a 04 66 72 61 00 03   ...fra..
  0020:  e0 83 f0 0d 0a 04 71 61  64 00 7f 05 06 85 66 72   ..qad.fr
  0030:  61 06 e0 8c f0 0a 59 08  66 72 61 20 00 01 00 01   a.Y.fra 
  0040:  05 e0 aa f0 05 6f 03 80  10 e0 80 e0 ab f0 00 80   .o..
  0050:  e0 ac f0 00 80 e0 ad f0  00 80 e0 ae f0 00 eb 4a   ...J
  0060:  d3 d2  ..

PID:  110 (0x006e)

Guess table from table id...
PMT-decoding
Table_ID: 2 (0x02)  [= Program Map Table (PMT)]
section_syntax_indicator: 1 (0x01)
(fixed '0'): 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 95 (0x005f)
Program_number: 257 (0x0101)
reserved_2: 3 (0x03)
Version_number: 31 (0x1f)
current_next_indicator: 1 (0x01)  [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)
reserved_3: 7 (0x07)
PCR PID: 120 (0x0078)
reserved_4: 15 (0x0f)
Program_info_length: 0 (0x)

Stream_type loop:

Stream_type: 2 (0x02)  [= ITU-T Rec. H.262 | ISO/IEC 13818-2 Video | 
ISO/IEC 11172-2 constr. parameter video stream]
reserved_1: 7 (0x07)
Elementary_PID: 120 (0x0078)
reserved_2: 15 (0x0f)
ES_info_length: 3 (0x0003)

MPEG-DescriptorTag: 17 (0x11)  [= STD_descriptor]
descriptor_length: 1 (0x01)
reserved_1: 127 (0x7f)
leak_valid_flag: 1 (0x01)


Stream_type: 3 (0x03)  [= ISO/IEC 11172 Audio]
reserved_1: 7 (0x07)
Elementary_PID: 130 (0x0082)
reserved_2: 15 (0x0f)
ES_info_length: 6 (0x0006)

MPEG-DescriptorTag: 10 (0x0a)  [= ISO_639_language_descriptor]
descriptor_length: 4 (0x04)
   ISO639_language_code:  fra
   Audio_type: 0 (0x00)  [= undefined]



Stream_type: 3 (0x03)  [= ISO/IEC 11172 Audio]
reserved_1: 7 (0x07)
Elementary_PID: 131 (0x0083)
reserved_2: 15 (0x0f)
ES_info_length: 13 (0x000d)

MPEG-DescriptorTag: 10 (0x0a)  [= ISO_639_language_descriptor]
descriptor_length: 4 (0x04)
   ISO639_language_code:  qad
   Audio_type: 0 (0x00)  [= undefined]


DVB-DescriptorTag: 127 (0x7f)  [= extension_descriptor]
descriptor_length: 5 (0x05)
descriptor_tag_extension: 6 (0x06)
selector_bytes:
 :  85 66 72 61.fra


Stream_type: 6 (0x06)  [= ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets 
containing private data]
reserved_1: 7 (0x07)
Elementary_PID: 140 (0x008c)
reserved_2: 15 (0x0f)
ES_info_length: 10 (0x000a)

DVB-DescriptorTag: 89 (0x59)  [= subtitling_descriptor]
descriptor_length: 8 (0x08)
 ISO639_language_code:  fra
   Subtitling_type: 32 (0x20)  [= DVB subtitles (for the hard 
hearing) with no monitor aspect ratio critical]
   Composition_page_id: 1 (0x0001)
   Ancillary_page_id: 1 (0x0001)



Stream_type: 5 (0x05)  [= ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private 
sections]
reserved_1: 7 (0x07)
Elementary_PID: 170 (0x00aa)
reserved_2: 15 (0x0f)
ES_info_length: 5 (0x0005)

DVB-DescriptorTag: 111 (0x6f)  [= application_signalling_descriptor]
descriptor_length: 3 (0x03)
Application type: 32784 (0x8010)
reserved: 7 (0x07)
AIT version nr.: 0 (0x00)


Stream_type: 128 (0x80)  [= User 

Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Klaus Schmidinger

On 09.04.2012 17:49, Patrick Boettcher wrote:

On Monday 09 April 2012 13:39:36 Dominic Evans wrote:

On 9 April 2012 10:40, Klaus Schmidingerklaus.schmidin...@tvdr.de

wrote:

+  //
http://www.smpte-ra.org/mpegreg/mpegreg.html +
  ...
+  case 0x44434949: // STREAMTYPE_USER_PRIVATE
- DigiCipher II VIDEO (ANSI/SCTE 57)

There is no entry for 44-43-49-49 on the given page.


It wasn't me who added this stream-type check, I just re-applied the checks
how they were done before.


No big deal, I was just wondering.

I have adopted your patch in the attached form.
Maybe you (and/or Rolf) would like to verify it.

Klaus
--- pat.c	2012/03/02 10:56:45	2.17
+++ pat.c	2012/04/09 11:49:39	2.18
@@ -456,11 +456,28 @@
  }
   }
   break;
-  case 0x80: // STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
-  Vpid = esPid;
-  Ppid = pmt.getPCRPid();
-  Vtype = 0x02; // compression based upon MPEG-2
-  ProcessCaDescriptors = true;
+  // see http://www.smpte-ra.org/mpegreg/mpegreg.html for the codes used below
+  case 0x80: { // STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
+  SI::Descriptor *d;
+  for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) {
+  switch (d-getDescriptorTag()) {
+case SI::RegistrationDescriptorTag: {
+ SI::RegistrationDescriptor *rd = (SI::RegistrationDescriptor *)d;
+ switch (rd-getFormatIdentifier()) {
+   case 0x44434949: // 'DCII' aka. DigiCipher II
+Vpid = esPid;
+Ppid = pmt.getPCRPid();
+Vtype = 0x02; // compression based upon MPEG-2
+ProcessCaDescriptors = true;
+break;
+   default: ;
+   }
+ }
+ break;
+default: ;
+}
+  }
+  }
   break;
   case 0x81: // STREAMTYPE_USER_PRIVATE - ATSC A/53 AUDIO (ANSI/SCTE 57)
   {
@@ -495,7 +512,6 @@
   switch (d-getDescriptorTag()) {
 case SI::RegistrationDescriptorTag: {
  SI::RegistrationDescriptor *rd = (SI::RegistrationDescriptor *)d;
- // http://www.smpte-ra.org/mpegreg/mpegreg.html
  switch (rd-getFormatIdentifier()) {
case 0x41432D33: // 'AC-3'
 IsAc3 = true;
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Patrick Boettcher
On Monday 09 April 2012 17:57:20 Klaus Schmidinger wrote:
 On 09.04.2012 17:49, Patrick Boettcher wrote:
  On Monday 09 April 2012 13:39:36 Dominic Evans wrote:
  On 9 April 2012 10:40, Klaus Schmidingerklaus.schmidin...@tvdr.de
  
  wrote:
  +  //
  http://www.smpte-ra.org/mpegreg/mpegreg.html +
  
...
  
  +  case 0x44434949: //
  STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
  
  There is no entry for 44-43-49-49 on the given page.
  
  It wasn't me who added this stream-type check, I just re-applied the
  checks how they were done before.
 
 No big deal, I was just wondering.
 
 I have adopted your patch in the attached form.
 Maybe you (and/or Rolf) would like to verify it.

The patch looks good to me.

In the meantime Rolf contacted me saying that it be better to move this code 
to a plugin which digicipher users could use if they want (at least that's 
what I understood).

I think he will contact you. For the time being your patch should fix it.

Thanks.

--
Patrick
http://www.kernellabs.com/

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Dominique
Hi

A plugin why not but in our case, DVB-T in France, those channels are FTA 

The real question should be why broadcaster include this ? good question !!

The patch is reported as working and fixing PPID wrong value that's the most 
important

Thanks for this patch 

@+

Le lundi 09 avril 2012 18:23:58, Patrick Boettcher a écrit :
 On Monday 09 April 2012 17:57:20 Klaus Schmidinger wrote:
  On 09.04.2012 17:49, Patrick Boettcher wrote:
   On Monday 09 April 2012 13:39:36 Dominic Evans wrote:
   On 9 April 2012 10:40, Klaus Schmidingerklaus.schmidin...@tvdr.de
   
   wrote:
   +  //
   http://www.smpte-ra.org/mpegreg/mpegreg.html +
   
 ...
   
   +  case 0x44434949: //
   STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
   
   There is no entry for 44-43-49-49 on the given page.
   
   It wasn't me who added this stream-type check, I just re-applied the
   checks how they were done before.
  
  No big deal, I was just wondering.
  
  I have adopted your patch in the attached form.
  Maybe you (and/or Rolf) would like to verify it.
 
 The patch looks good to me.
 
 In the meantime Rolf contacted me saying that it be better to move this
 code to a plugin which digicipher users could use if they want (at least
 that's what I understood).
 
 I think he will contact you. For the time being your patch should fix it.
 
 Thanks.
 
 --
 Patrick
 http://www.kernellabs.com/
 
 ___
 vdr mailing list
 vdr@linuxtv.org
 http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Bug in pat.c (VDR 1.7.27) - possible fix attached

2012-04-09 Thread Klaus Schmidinger

On 09.04.2012 20:05, Dominique wrote:

Hi

A plugin why not but in our case, DVB-T in France, those channels are FTA

The real question should be why broadcaster include this ? good question !!

The patch is reported as working and fixing PPID wrong value that's the most
important


Rolf Ahrenberg has informed me that this patch breaks things for North American
streams, so I'm going to revoke it again.

I wouldn't want to introduce a plugin interface for this, so unless there
is a way to tell these different versions apart from the data stream,
we'll need to introduce some way of making this selectable by the user.
Of course, a way of detecting them automatically would be preferable.

Klaus



Le lundi 09 avril 2012 18:23:58, Patrick Boettcher a écrit :

On Monday 09 April 2012 17:57:20 Klaus Schmidinger wrote:

On 09.04.2012 17:49, Patrick Boettcher wrote:

On Monday 09 April 2012 13:39:36 Dominic Evans wrote:

On 9 April 2012 10:40, Klaus Schmidingerklaus.schmidin...@tvdr.de


wrote:

+  //
http://www.smpte-ra.org/mpegreg/mpegreg.html +

   ...

+  case 0x44434949: //
STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)

There is no entry for 44-43-49-49 on the given page.


It wasn't me who added this stream-type check, I just re-applied the
checks how they were done before.


No big deal, I was just wondering.

I have adopted your patch in the attached form.
Maybe you (and/or Rolf) would like to verify it.


The patch looks good to me.

In the meantime Rolf contacted me saying that it be better to move this
code to a plugin which digicipher users could use if they want (at least
that's what I understood).

I think he will contact you. For the time being your patch should fix it.

Thanks.

--
Patrick


___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr