Re: [vdr] vdr and aac support

2010-05-23 Thread Jose Alberto Reguero
El Martes, 18 de Mayo de 2010, Jose Alberto Reguero escribió:
> El Martes, 18 de Mayo de 2010, Luca Olivetti escribió:
> > Al 18/05/10 21:43, En/na Luca Olivetti ha escrit:
> > > (i.e. it only adds SI::AACDescriptorTag)
> > > 
> > > I must have missed some patch along the way :-/
> > 
> > Ok, they were in the "Recording DVB-T HD infrance" (sic).
> > It appears that spain is using the same standard.
> > 
> > Bye
> 
> Here is a patch based in Klaus aac pacth that add support for eac3 sound in
> vdr.
> 
> Jose Alberto

Patch for xineliboutput to support eac3. With this patch you don't need to 
patch the latest xine-lib-1.2.

Jose Alberto
Index: xine/ts2es.c
===
RCS file: /cvsroot/xineliboutput/vdr-xineliboutput/xine/ts2es.c,v
retrieving revision 1.11
diff -r1.11 ts2es.c
33a34
>   intnumpreview;
78a80,85
>   if (this->stream_type == STREAM_AUDIO_EAC3) {
> this->xine_buf_type |= BUF_AUDIO_EAC3;
> this->buf->type = this->xine_buf_type;
> return;
>   }
> 
163c170,177
<   this->buf->decoder_flags |= BUF_FLAG_FRAME_END;
---
>   if (this->numpreview<5)
> this->numpreview++;
>   if (this->numpreview == 1)
> this->buf->decoder_flags = BUF_FLAG_HEADER | BUF_FLAG_FRAME_END;
>   else if (this->numpreview < 5)
> this->buf->decoder_flags = BUF_FLAG_PREVIEW;
>   else
> this->buf->decoder_flags |= BUF_FLAG_FRAME_END;
310a325,326
>   data->numpreview=0;
> 
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] vdr and aac support

2010-05-21 Thread Jose Alberto Reguero
El Viernes, 21 de Mayo de 2010, Eric Valette escribió:
> On 18/05/2010 22:00, Jose Alberto Reguero wrote:
> > Here is a patch based in Klaus aac pacth that add support for eac3 sound
> > in vdr.
> 
> Hi,
> 
> I applied manually your patch on my own vdr-1.7.14 source tree. It seems
> to work as far as vdr is concerened but it breaks other plugin such as
> vdr live and vdr streamdev.
> 
> Did I miss something (I will double check, as for some reason I had some
> rejecst ad had to apply part of it manually).
> 
> --eric
> 
> 

I have the attached patch for streamdev.

Jose Alberto
Index: server/livestreamer.c
===
RCS file: /var/cvsroot/streamdev/server/livestreamer.c,v
retrieving revision 1.29
diff -r1.29 livestreamer.c
174a175
> 			case SI::EnhancedAC3DescriptorTag:
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] vdr and aac support

2010-05-20 Thread Eric Valette

On 18/05/2010 22:00, Jose Alberto Reguero wrote:


Here is a patch based in Klaus aac pacth that add support for eac3 sound in
vdr.


Hi,

I applied manually your patch on my own vdr-1.7.14 source tree. It seems 
to work as far as vdr is concerened but it breaks other plugin such as 
vdr live and vdr streamdev.


Did I miss something (I will double check, as for some reason I had some 
rejecst ad had to apply part of it manually).


--eric



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


Re: [vdr] vdr and aac support

2010-05-18 Thread Jose Alberto Reguero
El Martes, 18 de Mayo de 2010, Luca Olivetti escribió:
> Al 18/05/10 21:43, En/na Luca Olivetti ha escrit:
> > (i.e. it only adds SI::AACDescriptorTag)
> > 
> > I must have missed some patch along the way :-/
> 
> Ok, they were in the "Recording DVB-T HD infrance" (sic).
> It appears that spain is using the same standard.
> 
> Bye

Here is a patch based in Klaus aac pacth that add support for eac3 sound in 
vdr.

Jose Alberto
Sólo en vdr-1.7.14.new/: audio.o
diff -ur vdr-1.7.14/channels.c vdr-1.7.14.new/channels.c
--- vdr-1.7.14/channels.c	2010-02-21 14:36:04.0 +0100
+++ vdr-1.7.14.new/channels.c	2010-05-18 18:54:57.0 +0200
@@ -12,6 +12,7 @@
 #include "device.h"
 #include "epg.h"
 #include "timers.h"
+#include "libsi/si.h"
 
 // IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d'
 // format characters in order to allow any number of blanks after a numeric
@@ -270,14 +271,21 @@
   return result;
 }
 
-static int IntArrayToString(char *s, const int *a, int Base = 10, const char n[][MAXLANGCODE2] = NULL)
+static int IntArrayToString(char *s, const int *a, int Base = 10, const char n[][MAXLANGCODE2] = NULL, const int *t = NULL)
 {
   char *q = s;
   int i = 0;
   while (a[i] || i == 0) {
 q += sprintf(q, Base == 16 ? "%s%X" : "%s%d", i ? "," : "", a[i]);
-if (a[i] && n && *n[i])
-   q += sprintf(q, "=%s", n[i]);
+const char *Delim = "=";
+if (a[i]) {
+   if (n && *n[i]) {
+  q += sprintf(q, "%s%s", Delim, n[i]);
+  Delim = "";
+  }
+   if (t && t[i])
+  q += sprintf(q, "%...@%d", Delim, t[i]);
+   }
 if (!a[i])
break;
 i++;
@@ -286,32 +294,32 @@
   return q - s;
 }
 
-void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
+void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
 {
   int mod = CHANNELMOD_NONE;
   if (vpid != Vpid || ppid != Ppid || vtype != Vtype || tpid != Tpid)
  mod |= CHANNELMOD_PIDS;
-  int m = IntArraysDiffer(apids, Apids, alangs, ALangs) | IntArraysDiffer(dpids, Dpids, dlangs, DLangs) | IntArraysDiffer(spids, Spids, slangs, SLangs);
+  int m = IntArraysDiffer(apids, Apids, alangs, ALangs) | IntArraysDiffer(dpids, Dpids, dlangs, DLangs) | IntArraysDiffer(dtypes, Dtypes) | IntArraysDiffer(spids, Spids, slangs, SLangs);
   if (m & STRDIFF)
  mod |= CHANNELMOD_LANGS;
   if (m & VALDIFF)
  mod |= CHANNELMOD_PIDS;
   if (mod) {
- const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia
+ const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2 + 5) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+...@type', +10: paranoia
  char OldApidsBuf[BufferSize];
  char NewApidsBuf[BufferSize];
  char *q = OldApidsBuf;
  q += IntArrayToString(q, apids, 10, alangs);
  if (dpids[0]) {
 *q++ = ';';
-q += IntArrayToString(q, dpids, 10, dlangs);
+q += IntArrayToString(q, dpids, 10, dlangs, dtypes);
 }
  *q = 0;
  q = NewApidsBuf;
  q += IntArrayToString(q, Apids, 10, ALangs);
  if (Dpids[0]) {
 *q++ = ';';
-q += IntArrayToString(q, Dpids, 10, DLangs);
+q += IntArrayToString(q, Dpids, 10, DLangs, Dtypes);
 }
  *q = 0;
  const int SBufferSize = MAXSPIDS * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod', +10: paranoia
@@ -335,6 +343,7 @@
  apids[MAXAPIDS] = 0;
  for (int i = 0; i < MAXDPIDS; i++) {
  dpids[i] = Dpids[i];
+ dtypes[i] = Dtypes[i];
  strn0cpy(dlangs[i], DLangs[i], MAXLANGCODE2);
  }
  dpids[MAXDPIDS] = 0;
@@ -484,13 +493,13 @@
  if (Channel->vpid && Channel->vtype)
 q += snprintf(q, sizeof(vpidbuf) - (q - vpidbuf), "=%d", Channel->vtype);
  *q = 0;
- const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia
+ const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2 + 5) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+...@type', +10: paranoia
  char apidbuf[BufferSize];
  q = apidbuf;
  q += IntArrayToString(q, Channel->apids, 10, Channel->alangs);
  if (Channel->dpids[0]) {
 *q++ = ';';
-q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs);
+q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
 }
  *q = 0;
  char caidbuf[MAXCAIDS * 5 + 10]; // 5: 4 digits plus delimiting ',', 10: para

Re: [vdr] vdr and aac support

2010-05-18 Thread Luca Olivetti

Al 18/05/10 21:43, En/na Luca Olivetti ha escrit:



(i.e. it only adds SI::AACDescriptorTag)

I must have missed some patch along the way :-/


Ok, they were in the "Recording DVB-T HD infrance" (sic).
It appears that spain is using the same standard.

Bye
--
Luca

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


Re: [vdr] vdr and aac support

2010-05-18 Thread Luca Olivetti

Al 18/05/10 21:20, En/na Luca Olivetti ha escrit:

Al 16/05/10 14:28, En/na Klaus Schmidinger ha escrit:



Ok, here's a complete patch that attempts to handle audio types.
It is untested, so please use it with care.
Please let me know whether this works with your audio types in
live mode and with replaying recordings.


As of yesterday I can tune to a dvb-t hd channel where vdr doesn't pick
the audio pid, my tv picks it and identifies it as "dolby digital plus".
I tried this patch but vdr still doesn't pick the audio pid.


Unsurprising, since in pat.c it doesn't check for 
SI::EnhancedAC3DescriptorTag while it should according to your patch 
posted  on 14-05-2010:


--- pat.c   2010/03/27 15:17:46 2.9
+++ pat.c   2010/05/14 14:12:31
@@ -401,6 +401,7 @@
   switch (d->getDescriptorTag()) {
 case SI::AC3DescriptorTag:
 case SI::EnhancedAC3DescriptorTag:
+case SI::AACDescriptorTag:
  dpid = esPid;
  ProcessCaDescriptors = true;
  break;



(i.e. it only adds SI::AACDescriptorTag)

I must have missed some patch along the way :-/

Bye
--
Luca

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


Re: [vdr] vdr and aac support

2010-05-18 Thread Luca Olivetti

Al 16/05/10 14:28, En/na Klaus Schmidinger ha escrit:



Ok, here's a complete patch that attempts to handle audio types.
It is untested, so please use it with care.
Please let me know whether this works with your audio types in
live mode and with replaying recordings.


As of yesterday I can tune to a dvb-t hd channel where vdr doesn't pick 
the audio pid, my tv picks it and identifies it as "dolby digital plus".

I tried this patch but vdr still doesn't pick the audio pid.
If I disable channel updating and manually introduce the pid, I cannot 
decode the audio with xine.
vlc (through streamdev) doesn't decode it either but it tells me that 
it's of type eac3.


This is the output of dvbsnoop:

$ dvbsnoop -adapter 1 0
dvbsnoop V1.4.00 -- http://dvbsnoop.sourceforge.net/


SECT-Packet: 0001   PID: 0 (0x), Length: 36 (0x0024)
Time received: Tue 2010-05-18  21:17:20.758

  :  00 b0 21 9c 40 cd 00 00  00 00 e0 10 9c 41 e3 e8 
@a..
  0010:  9c 42 e7 d0 9c 43 eb b8  9c 45 e7 e4 9c 46 eb cc 
.B...C...E...F..
  0020:  9e 44 56 b1.DV. 



PID:  0 (0x)  [= assigned for: ISO 13818-1 Program Association Table 
(PAT)]
Guess table from table id... 

PAT-decoding 

Table_ID: 0 (0x00)  [= Program Association Table (PAT)] 

section_syntax_indicator: 1 (0x01) 

(fixed): 0 (0x00) 

reserved_1: 3 (0x03) 

Section_length: 33 (0x0021) 

Transport_Stream_ID: 4 (0x9c40) 

reserved_2: 3 (0x03) 

Version_number: 6 (0x06) 

current_next_indicator: 1 (0x01)  [= valid now] 

Section_number: 0 (0x00) 

Last_Section_number: 0 (0x00) 



Program_number: 0 (0x)
reserved: 7 (0x07)
Network_PID: 16 (0x0010)

Program_number: 40001 (0x9c41)
reserved: 7 (0x07)
Program_map_PID: 1000 (0x03e8)

Program_number: 40002 (0x9c42)
reserved: 7 (0x07)
Program_map_PID: 2000 (0x07d0)

Program_number: 40003 (0x9c43)
reserved: 7 (0x07)
Program_map_PID: 3000 (0x0bb8)

Program_number: 40005 (0x9c45)
reserved: 7 (0x07)
Program_map_PID: 2020 (0x07e4)

Program_number: 40006 (0x9c46)
reserved: 7 (0x07)
Program_map_PID: 3020 (0x0bcc)

CRC: 2655278769 (0x9e4456b1)
==

The channel is the one with pmt pid 1000

$ dvbsnoop -adapter 1 1000
dvbsnoop V1.4.00 -- http://dvbsnoop.sourceforge.net/


SECT-Packet: 0001   PID: 1000 (0x03e8), Length: 46 (0x002e)
Time received: Tue 2010-05-18  21:18:11.126

  :  02 b0 2b 9c 41 d7 00 00  e3 e9 f0 00 1b e3 e9 f0 
..+.A...
  0010:  0a 28 04 64 00 28 3f 2a  02 fe ef 06 e4 4c f0 0a 
.(.d.(?*.L..
  0020:  7a 02 80 c2 0a 04 73 70  61 00 e4 8e 54 ed 
z.spa...T.


PID:  1000 (0x03e8)
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: 43 (0x002b)
Program_number: 40001 (0x9c41)
reserved_2: 3 (0x03)
Version_number: 11 (0x0b)
current_next_indicator: 1 (0x01)  [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)
reserved_3: 7 (0x07)
PCR PID: 1001 (0x03e9)
reserved_4: 15 (0x0f)
Program_info_length: 0 (0x)

Stream_type loop:

Stream_type: 27 (0x1b)  [= AVC video stream as defined in ITU-T 
Rec. H.264 | ISO/IEC 14496-10 Video]
reserved_1: 7 (0x07) 

Elementary_PID: 1001 (0x03e9) 

reserved_2: 15 (0x0f) 

ES_info_length: 10 (0x000a) 



MPEG-DescriptorTag: 40 (0x28)  [= AVC_video_descriptor]
Descriptor_length: 4 (0x04)
 :  64 00 28 3f 
d.(?


MPEG-DescriptorTag: 42 (0x2a)  [= 
AVC_timing_and_HRD_descriptor]
Descriptor_length: 2 (0x02) 

 :  fe ef 
..



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: 1100 (0x044c) 

reserved_2: 15 (0x0f) 

ES_info_length: 10 (0x000a) 



DVB-DescriptorTag: 122 (0x7a)  [= reserved_descriptor]
Descriptor_length: 2 (0x02)
  > ERROR: unimplemented descriptor (dvb context), Report!
Descriptor-data:
 :  80 c2 
..


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


CRC: 3834533101 (0xe48e54ed)
==


Bye
--
Luca

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


Re: [vdr] vdr and aac support

2010-05-17 Thread Luis Fernandes
Only to report, the patch works well in both live TV and recordings
with xineliboutput.
This patch is expected to:
* DVB-T in Norway
* DVB-T in New Zealand
* DVB-T and DVBS2 in Portugal

Thank you very much Klaus

2010/5/17 Newsy Paper :
> funny, today sound works with xine, yesterday it didn't although I had sound 
> on all other channels with mpeg2 audio. Even recorings work fine, so aac 
> support is perfect here :)
>
>
> kind regards
>
> Newspaperman
>
> --- Newsy Paper  schrieb am So, 16.5.2010:
>
>> Von: Newsy Paper 
>> Betreff: Re: [vdr] vdr and aac support
>> An: "VDR Mailing List" 
>> Datum: Sonntag, 16. Mai, 2010 23:52 Uhr
>> Hi Klaus,
>>
>> just tested your aac patch. I would say your patch is
>> working fine. AAC pid is found + added automatically, femon
>> plugin shows HE-AAC as codec. If I connect to xineliboutput
>> with vlc I get correct audio, but with xine there's no
>> audio, perhaps there are some more modifications necessary
>> in xine but your part is complete. Thank you very much for
>> that.
>>
>> kind regards
>>
>>
>> Newspaperman
>>
>> --- Klaus Schmidinger 
>> schrieb am So, 16.5.2010:
>>
>> > Von: Klaus Schmidinger 
>> > Betreff: Re: [vdr] vdr and aac support
>> > An: vdr@linuxtv.org
>> > Datum: Sonntag, 16. Mai, 2010 14:28 Uhr
>> > On 16.05.2010 12:55, Klaus
>> > Schmidinger wrote:
>> > > On 15.05.2010 20:00, Newsy Paper wrote:
>> > >> hi Luis,
>> > >>
>> > >> seems like an ugly hack. Channel I'm
>> receiving
>> > here has:
>> > >> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7
>> > Audio with ADTS transport sytax]
>> > >
>> > > If you do this instead:
>> > >
>> > > --- pat.c       2010/03/27
>> > 15:17:46     2.9
>> > > +++ pat.c       2010/05/16
>> > 10:53:46
>> > > @@ -358,6 +358,8 @@
>> > >
>> >         break;
>> > >
>> > case 3: // STREAMTYPE_11172_AUDIO
>> > >
>> > case 4: // STREAMTYPE_13818_AUDIO
>> > > +              case
>> > 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport
>> sytax
>> > > +              case
>> > 0x11: // ISO/IEC 14496-3 Audio with LATM transport
>> syntax
>> > >
>> >         {
>> > >
>> >         if (NumApids < MAXAPIDS) {
>> > >
>> >
>> >    Apids[NumApids] = esPid;
>> > >
>> > >
>> > > does this put the proper PID into the APID
>> section?
>> > > This may still not work with recordings, but I
>> first
>> > want to know
>> > > whether a proper PID is detected that way.
>> >
>> > Ok, here's a complete patch that attempts to handle
>> audio
>> > types.
>> > It is untested, so please use it with care.
>> > Please let me know whether this works with your audio
>> types
>> > in
>> > live mode and with replaying recordings.
>> >
>> > Klaus
>> >
>> > -Integrierter Anhang folgt-
>> >
>> >
>> > -Integrierter Anhang folgt-
>> >
>> > ___
>> > 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
>>
>
>
>
> ___
> 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] vdr and aac support

2010-05-16 Thread Newsy Paper
funny, today sound works with xine, yesterday it didn't although I had sound on 
all other channels with mpeg2 audio. Even recorings work fine, so aac support 
is perfect here :)


kind regards

Newspaperman

--- Newsy Paper  schrieb am So, 16.5.2010:

> Von: Newsy Paper 
> Betreff: Re: [vdr] vdr and aac support
> An: "VDR Mailing List" 
> Datum: Sonntag, 16. Mai, 2010 23:52 Uhr
> Hi Klaus,
> 
> just tested your aac patch. I would say your patch is
> working fine. AAC pid is found + added automatically, femon
> plugin shows HE-AAC as codec. If I connect to xineliboutput
> with vlc I get correct audio, but with xine there's no
> audio, perhaps there are some more modifications necessary
> in xine but your part is complete. Thank you very much for
> that.
> 
> kind regards
> 
> 
> Newspaperman
> 
> --- Klaus Schmidinger 
> schrieb am So, 16.5.2010:
> 
> > Von: Klaus Schmidinger 
> > Betreff: Re: [vdr] vdr and aac support
> > An: vdr@linuxtv.org
> > Datum: Sonntag, 16. Mai, 2010 14:28 Uhr
> > On 16.05.2010 12:55, Klaus
> > Schmidinger wrote:
> > > On 15.05.2010 20:00, Newsy Paper wrote:
> > >> hi Luis,
> > >>
> > >> seems like an ugly hack. Channel I'm
> receiving
> > here has:
> > >> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7
> > Audio with ADTS transport sytax]
> > > 
> > > If you do this instead:
> > > 
> > > --- pat.c       2010/03/27
> > 15:17:46     2.9
> > > +++ pat.c       2010/05/16
> > 10:53:46
> > > @@ -358,6 +358,8 @@
> > >               
> >         break;
> > >               
> > case 3: // STREAMTYPE_11172_AUDIO
> > >               
> > case 4: // STREAMTYPE_13818_AUDIO
> > > +              case
> > 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport
> sytax
> > > +              case
> > 0x11: // ISO/IEC 14496-3 Audio with LATM transport
> syntax
> > >               
> >         {
> > >               
> >         if (NumApids < MAXAPIDS) {
> > >               
> >        
> >    Apids[NumApids] = esPid;
> > > 
> > > 
> > > does this put the proper PID into the APID
> section?
> > > This may still not work with recordings, but I
> first
> > want to know
> > > whether a proper PID is detected that way.
> > 
> > Ok, here's a complete patch that attempts to handle
> audio
> > types.
> > It is untested, so please use it with care.
> > Please let me know whether this works with your audio
> types
> > in
> > live mode and with replaying recordings.
> > 
> > Klaus
> > 
> > -Integrierter Anhang folgt-
> > 
> > 
> > -Integrierter Anhang folgt-
> > 
> > ___
> > 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
> 



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


Re: [vdr] vdr and aac support

2010-05-16 Thread Newsy Paper
Hi Klaus,

just tested your aac patch. I would say your patch is working fine. AAC pid is 
found + added automatically, femon plugin shows HE-AAC as codec. If I connect 
to xineliboutput with vlc I get correct audio, but with xine there's no audio, 
perhaps there are some more modifications necessary in xine but your part is 
complete. Thank you very much for that.

kind regards


Newspaperman

--- Klaus Schmidinger  schrieb am So, 16.5.2010:

> Von: Klaus Schmidinger 
> Betreff: Re: [vdr] vdr and aac support
> An: vdr@linuxtv.org
> Datum: Sonntag, 16. Mai, 2010 14:28 Uhr
> On 16.05.2010 12:55, Klaus
> Schmidinger wrote:
> > On 15.05.2010 20:00, Newsy Paper wrote:
> >> hi Luis,
> >>
> >> seems like an ugly hack. Channel I'm receiving
> here has:
> >> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7
> Audio with ADTS transport sytax]
> > 
> > If you do this instead:
> > 
> > --- pat.c       2010/03/27
> 15:17:46     2.9
> > +++ pat.c       2010/05/16
> 10:53:46
> > @@ -358,6 +358,8 @@
> >               
>         break;
> >               
> case 3: // STREAMTYPE_11172_AUDIO
> >               
> case 4: // STREAMTYPE_13818_AUDIO
> > +              case
> 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport sytax
> > +              case
> 0x11: // ISO/IEC 14496-3 Audio with LATM transport syntax
> >               
>         {
> >               
>         if (NumApids < MAXAPIDS) {
> >               
>        
>    Apids[NumApids] = esPid;
> > 
> > 
> > does this put the proper PID into the APID section?
> > This may still not work with recordings, but I first
> want to know
> > whether a proper PID is detected that way.
> 
> Ok, here's a complete patch that attempts to handle audio
> types.
> It is untested, so please use it with care.
> Please let me know whether this works with your audio types
> in
> live mode and with replaying recordings.
> 
> Klaus
> 
> -Integrierter Anhang folgt-
> 
> 
> -Integrierter Anhang folgt-
> 
> ___
> 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] vdr and aac support

2010-05-16 Thread Klaus Schmidinger
On 16.05.2010 12:55, Klaus Schmidinger wrote:
> On 15.05.2010 20:00, Newsy Paper wrote:
>> hi Luis,
>>
>> seems like an ugly hack. Channel I'm receiving here has:
>> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7 Audio with ADTS transport sytax]
> 
> If you do this instead:
> 
> --- pat.c   2010/03/27 15:17:46 2.9
> +++ pat.c   2010/05/16 10:53:46
> @@ -358,6 +358,8 @@
>break;
>case 3: // STREAMTYPE_11172_AUDIO
>case 4: // STREAMTYPE_13818_AUDIO
> +  case 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport sytax
> +  case 0x11: // ISO/IEC 14496-3 Audio with LATM transport syntax
>{
>if (NumApids < MAXAPIDS) {
>   Apids[NumApids] = esPid;
> 
> 
> does this put the proper PID into the APID section?
> This may still not work with recordings, but I first want to know
> whether a proper PID is detected that way.

Ok, here's a complete patch that attempts to handle audio types.
It is untested, so please use it with care.
Please let me know whether this works with your audio types in
live mode and with replaying recordings.

Klaus
--- ./channels.c	2010/05/02 15:07:38	2.14
+++ ./channels.c	2010/05/16 11:44:31
@@ -271,14 +271,21 @@
   return result;
 }
 
-static int IntArrayToString(char *s, const int *a, int Base = 10, const char n[][MAXLANGCODE2] = NULL)
+static int IntArrayToString(char *s, const int *a, int Base = 10, const char n[][MAXLANGCODE2] = NULL, const int *t = NULL)
 {
   char *q = s;
   int i = 0;
   while (a[i] || i == 0) {
 q += sprintf(q, Base == 16 ? "%s%X" : "%s%d", i ? "," : "", a[i]);
-if (a[i] && n && *n[i])
-   q += sprintf(q, "=%s", n[i]);
+const char *Delim = "=";
+if (a[i]) {
+   if (n && *n[i]) {
+  q += sprintf(q, "%s%s", Delim, n[i]);
+  Delim = "";
+  }
+   if (t && t[i])
+  q += sprintf(q, "%...@%d", Delim, t[i]);
+   }
 if (!a[i])
break;
 i++;
@@ -287,29 +294,29 @@
   return q - s;
 }
 
-void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
+void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
 {
   int mod = CHANNELMOD_NONE;
   if (vpid != Vpid || ppid != Ppid || vtype != Vtype || tpid != Tpid)
  mod |= CHANNELMOD_PIDS;
-  int m = IntArraysDiffer(apids, Apids, alangs, ALangs) | IntArraysDiffer(dpids, Dpids, dlangs, DLangs) | IntArraysDiffer(spids, Spids, slangs, SLangs);
+  int m = IntArraysDiffer(apids, Apids, alangs, ALangs) | IntArraysDiffer(atypes, Atypes) | IntArraysDiffer(dpids, Dpids, dlangs, DLangs) | IntArraysDiffer(spids, Spids, slangs, SLangs);
   if (m & STRDIFF)
  mod |= CHANNELMOD_LANGS;
   if (m & VALDIFF)
  mod |= CHANNELMOD_PIDS;
   if (mod) {
- const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia
+ const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2 + 5) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+...@type', +10: paranoia
  char OldApidsBuf[BufferSize];
  char NewApidsBuf[BufferSize];
  char *q = OldApidsBuf;
- q += IntArrayToString(q, apids, 10, alangs);
+ q += IntArrayToString(q, apids, 10, alangs, atypes);
  if (dpids[0]) {
 *q++ = ';';
 q += IntArrayToString(q, dpids, 10, dlangs);
 }
  *q = 0;
  q = NewApidsBuf;
- q += IntArrayToString(q, Apids, 10, ALangs);
+ q += IntArrayToString(q, Apids, 10, ALangs, Atypes);
  if (Dpids[0]) {
 *q++ = ';';
 q += IntArrayToString(q, Dpids, 10, DLangs);
@@ -331,6 +338,7 @@
  vtype = Vtype;
  for (int i = 0; i < MAXAPIDS; i++) {
  apids[i] = Apids[i];
+ atypes[i] = Atypes[i];
  strn0cpy(alangs[i], ALangs[i], MAXLANGCODE2);
  }
  apids[MAXAPIDS] = 0;
@@ -485,10 +493,10 @@
  if (Channel->vpid && Channel->vtype)
 q += snprintf(q, sizeof(vpidbuf) - (q - vpidbuf), "=%d", Channel->vtype);
  *q = 0;
- const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia
+ const int BufferSize = (MAXAPIDS + MAXDPIDS) * (5 + 1 + MAXLANGCODE2 + 5) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+...@type', +10: paranoia
  char apidbuf[BufferSize];
  q = apidbuf;
- q += IntArrayToString(q, Channel->apids, 10, Channel->alangs);
+ q += IntArrayToString(q, Channel->apids, 10, Channel->alangs, Channel->atypes);
  if (Channel->dpids[0]) {
 *q+

Re: [vdr] vdr and aac support

2010-05-16 Thread Klaus Schmidinger
On 15.05.2010 20:00, Newsy Paper wrote:
> hi Luis,
> 
> seems like an ugly hack. Channel I'm receiving here has:
> Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7 Audio with ADTS transport sytax]

If you do this instead:

--- pat.c   2010/03/27 15:17:46 2.9
+++ pat.c   2010/05/16 10:53:46
@@ -358,6 +358,8 @@
   break;
   case 3: // STREAMTYPE_11172_AUDIO
   case 4: // STREAMTYPE_13818_AUDIO
+  case 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport sytax
+  case 0x11: // ISO/IEC 14496-3 Audio with LATM transport syntax
   {
   if (NumApids < MAXAPIDS) {
  Apids[NumApids] = esPid;


does this put the proper PID into the APID section?
This may still not work with recordings, but I first want to know
whether a proper PID is detected that way.

Klaus

> --- Luis Fernandes  schrieb am Sa, 15.5.2010:
> 
>> Von: Luis Fernandes 
>> Betreff: Re: [vdr] vdr and aac support
>> An: "VDR Mailing List" 
>> Datum: Samstag, 15. Mai, 2010 17:40 Uhr
>> hello everybody, in my case of he-aac
>> streamtype 0x11 coming in, if
>> you want to record or listen to xineliboutput i have to
>> change in
>> remux.c and pat.c in the following lines,
>>
>> pat.c
>>
>>   case 0x04: / / STREAMTYPE_13818_AUDIO
>> + case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport
>> syntax
>>
>>
>> thus adds the audio pid correctly
>>
>> remux.c
>>
>> for (int n = 0; Channel->Apid(n); n++) {
>> - i += MakeStream(buf
>> + i, 0x04, Channel->Apid(n));
>> +   i += MakeStream(buf + i,
>> 0x11, Channel->Apid(n));
>>  const char *Alang =
>> Channel->Alang(n);
>>
>>   case 0x04: / / STREAMTYPE_13818_AUDIO
>> + case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport
>> syntax
>>
>>
>> but this way I can not hear sound from other channels, only
>> the
>> channels with streamtype 0x11
>> is there any way to identify the audio streamtype in this
>> line so that
>> the MakeStream (buf + i, streamaudiotype, Channel-> APID
>> (n));
>>
>> Excuse my English
>> Best regards
>>
>> 2010/5/15 Newsy Paper :
>>> thx Klaus for your patch, but seems like there's
>> something missing. Perhaps in remux.c?
>>> DDpid and Apid are both 0
>>> If I enter aac pid in ddpid field it's set back to 0
>> again.
>>> kind regards
>>>
>>> Newspaperman
>>>
>>> --- Klaus Schmidinger 
>> schrieb am Fr, 14.5.2010:
>>>> Von: Klaus Schmidinger 
>>>> Betreff: Re: [vdr] vdr and aac support
>>>> An: vdr@linuxtv.org
>>>> Datum: Freitag, 14. Mai, 2010 16:13 Uhr
>>>> On 07.05.2010 09:53, Newsy Paper
>>>> wrote:
>>>>> Hi!
>>>>>
>>>>> there are some channels using aac for audio.
>> I.e.
>>>> SABC1 at 23.5°East 10758 V 22000 8/9 DVB-S2
>>>>> Seems vdr doesn't support aac as no pid is
>> entered
>>>> neither for apid nor for ddpid. I think xine
>> should support
>>>> acc or doesn't it? So it should be no big deal do
>> extend vdr
>>>> to support aac.
>>>>
>>>> Please try this and see if it makes any
>> difference:
>>>> --- pat.c   2010/03/27
>>>> 15:17:46 2.9
>>>> +++ pat.c   2010/05/14
>>>> 14:12:31
>>>> @@ -401,6 +401,7 @@
>>>>
>>>>switch
>>>> (d->getDescriptorTag()) {
>>>>
>>>>  case
>>>> SI::AC3DescriptorTag:
>>>>
>>>>  case
>>>> SI::EnhancedAC3DescriptorTag:
>>>> +
>>>> case
>>>> SI::AACDescriptorTag:
>>>>
>>>>
>>>>   dpid = esPid;
>>>>
>>>>
>>>>   ProcessCaDescriptors = true;
>>>>
>>>>
>>>>   break;
>>>>
>>>> --- eit.c   2010/01/08
>>>> 15:17:09 2.11
>>>> +++ eit.c   2010/05/14
>>>> 14:06:55
>>>> @@ -257,7 +257,7 @@
>>>>
>>>>   SI::ComponentDescriptor *cd =
>>>> (SI::ComponentDescriptor *)d;
>>>>
>>>>   uchar Stream = cd->getStreamContent();
>>>>
>>>>   uchar Type = cd->getComponentType();
>>>> -
>>>>if (1 <= Stream && Stream <=
>>>> 4 && Type != 0) { // 1=video, 2=audio,
>> 3=subtitles,
>>>> 4=AC3
>>>> +
>>>>if (1 <= Stream && Stream <=
>>>> 6 && Type != 0) { // 1=MPEG2-video,
>> 2=MPEG1-audio,
>>>> 3=subtitles, 4=AC3-audio, 5=H.264-video,
>> 6=HEAAC-audio
>>>>  if (!Components)
>>>>
>>>> Components = new cComponents;
>>>>
>>>>  char buffer[Utf8BufSize(256)];
>>>>
>>>>
>>>> Klaus

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


Re: [vdr] vdr and aac support

2010-05-15 Thread Newsy Paper
hi Luis,

seems like an ugly hack. Channel I'm receiving here has:
Stream_type: 15 (0x0f)  [= ISO/IEC 13818-7 Audio with ADTS transport sytax]

kind regards

Newspaperman


--- Luis Fernandes  schrieb am Sa, 15.5.2010:

> Von: Luis Fernandes 
> Betreff: Re: [vdr] vdr and aac support
> An: "VDR Mailing List" 
> Datum: Samstag, 15. Mai, 2010 17:40 Uhr
> hello everybody, in my case of he-aac
> streamtype 0x11 coming in, if
> you want to record or listen to xineliboutput i have to
> change in
> remux.c and pat.c in the following lines,
> 
> pat.c
> 
>   case 0x04: / / STREAMTYPE_13818_AUDIO
> + case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport
> syntax
> 
> 
> thus adds the audio pid correctly
> 
> remux.c
> 
> for (int n = 0; Channel->Apid(n); n++) {
> -         i += MakeStream(buf
> + i, 0x04, Channel->Apid(n));
> +       i += MakeStream(buf + i,
> 0x11, Channel->Apid(n));
>          const char *Alang =
> Channel->Alang(n);
> 
>   case 0x04: / / STREAMTYPE_13818_AUDIO
> + case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport
> syntax
> 
> 
> but this way I can not hear sound from other channels, only
> the
> channels with streamtype 0x11
> is there any way to identify the audio streamtype in this
> line so that
> the MakeStream (buf + i, streamaudiotype, Channel-> APID
> (n));
> 
> Excuse my English
> Best regards
> 
> 2010/5/15 Newsy Paper :
> > thx Klaus for your patch, but seems like there's
> something missing. Perhaps in remux.c?
> >
> > DDpid and Apid are both 0
> > If I enter aac pid in ddpid field it's set back to 0
> again.
> >
> > kind regards
> >
> > Newspaperman
> >
> > --- Klaus Schmidinger 
> schrieb am Fr, 14.5.2010:
> >
> >> Von: Klaus Schmidinger 
> >> Betreff: Re: [vdr] vdr and aac support
> >> An: vdr@linuxtv.org
> >> Datum: Freitag, 14. Mai, 2010 16:13 Uhr
> >> On 07.05.2010 09:53, Newsy Paper
> >> wrote:
> >> > Hi!
> >> >
> >> > there are some channels using aac for audio.
> I.e.
> >> SABC1 at 23.5°East 10758 V 22000 8/9 DVB-S2
> >> > Seems vdr doesn't support aac as no pid is
> entered
> >> neither for apid nor for ddpid. I think xine
> should support
> >> acc or doesn't it? So it should be no big deal do
> extend vdr
> >> to support aac.
> >>
> >> Please try this and see if it makes any
> difference:
> >>
> >> --- pat.c       2010/03/27
> >> 15:17:46     2.9
> >> +++ pat.c       2010/05/14
> >> 14:12:31
> >> @@ -401,6 +401,7 @@
> >>
> >>            switch
> >> (d->getDescriptorTag()) {
> >>
> >>              case
> >> SI::AC3DescriptorTag:
> >>
> >>              case
> >> SI::EnhancedAC3DescriptorTag:
> >> +
> >>             case
> >> SI::AACDescriptorTag:
> >>
> >>
> >>   dpid = esPid;
> >>
> >>
> >>   ProcessCaDescriptors = true;
> >>
> >>
> >>   break;
> >>
> >> --- eit.c       2010/01/08
> >> 15:17:09     2.11
> >> +++ eit.c       2010/05/14
> >> 14:06:55
> >> @@ -257,7 +257,7 @@
> >>
> >>   SI::ComponentDescriptor *cd =
> >> (SI::ComponentDescriptor *)d;
> >>
> >>   uchar Stream = cd->getStreamContent();
> >>
> >>   uchar Type = cd->getComponentType();
> >> -
> >>    if (1 <= Stream && Stream <=
> >> 4 && Type != 0) { // 1=video, 2=audio,
> 3=subtitles,
> >> 4=AC3
> >> +
> >>    if (1 <= Stream && Stream <=
> >> 6 && Type != 0) { // 1=MPEG2-video,
> 2=MPEG1-audio,
> >> 3=subtitles, 4=AC3-audio, 5=H.264-video,
> 6=HEAAC-audio
> >>
> >>      if (!Components)
> >>
> >>         Components = new cComponents;
> >>
> >>      char buffer[Utf8BufSize(256)];
> >>
> >>
> >> Klaus
> >>
> >> ___
> >> 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
> >
> 
> ___
> 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] vdr and aac support

2010-05-15 Thread Luis Fernandes
hello everybody, in my case of he-aac streamtype 0x11 coming in, if
you want to record or listen to xineliboutput i have to change in
remux.c and pat.c in the following lines,

pat.c

  case 0x04: / / STREAMTYPE_13818_AUDIO
+ case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport syntax


thus adds the audio pid correctly

remux.c

for (int n = 0; Channel->Apid(n); n++) {
- i += MakeStream(buf + i, 0x04, Channel->Apid(n));
+   i += MakeStream(buf + i, 0x11, Channel->Apid(n));
 const char *Alang = Channel->Alang(n);

  case 0x04: / / STREAMTYPE_13818_AUDIO
+ case 0x11: / / ISO/IEC 14496-3 Audio with LATM transport syntax


but this way I can not hear sound from other channels, only the
channels with streamtype 0x11
is there any way to identify the audio streamtype in this line so that
the MakeStream (buf + i, streamaudiotype, Channel-> APID (n));

Excuse my English
Best regards

2010/5/15 Newsy Paper :
> thx Klaus for your patch, but seems like there's something missing. Perhaps 
> in remux.c?
>
> DDpid and Apid are both 0
> If I enter aac pid in ddpid field it's set back to 0 again.
>
> kind regards
>
> Newspaperman
>
> --- Klaus Schmidinger  schrieb am Fr, 14.5.2010:
>
>> Von: Klaus Schmidinger 
>> Betreff: Re: [vdr] vdr and aac support
>> An: vdr@linuxtv.org
>> Datum: Freitag, 14. Mai, 2010 16:13 Uhr
>> On 07.05.2010 09:53, Newsy Paper
>> wrote:
>> > Hi!
>> >
>> > there are some channels using aac for audio. I.e.
>> SABC1 at 23.5°East 10758 V 22000 8/9 DVB-S2
>> > Seems vdr doesn't support aac as no pid is entered
>> neither for apid nor for ddpid. I think xine should support
>> acc or doesn't it? So it should be no big deal do extend vdr
>> to support aac.
>>
>> Please try this and see if it makes any difference:
>>
>> --- pat.c       2010/03/27
>> 15:17:46     2.9
>> +++ pat.c       2010/05/14
>> 14:12:31
>> @@ -401,6 +401,7 @@
>>
>>            switch
>> (d->getDescriptorTag()) {
>>
>>              case
>> SI::AC3DescriptorTag:
>>
>>              case
>> SI::EnhancedAC3DescriptorTag:
>> +
>>             case
>> SI::AACDescriptorTag:
>>
>>
>>   dpid = esPid;
>>
>>
>>   ProcessCaDescriptors = true;
>>
>>
>>   break;
>>
>> --- eit.c       2010/01/08
>> 15:17:09     2.11
>> +++ eit.c       2010/05/14
>> 14:06:55
>> @@ -257,7 +257,7 @@
>>
>>   SI::ComponentDescriptor *cd =
>> (SI::ComponentDescriptor *)d;
>>
>>   uchar Stream = cd->getStreamContent();
>>
>>   uchar Type = cd->getComponentType();
>> -
>>    if (1 <= Stream && Stream <=
>> 4 && Type != 0) { // 1=video, 2=audio, 3=subtitles,
>> 4=AC3
>> +
>>    if (1 <= Stream && Stream <=
>> 6 && Type != 0) { // 1=MPEG2-video, 2=MPEG1-audio,
>> 3=subtitles, 4=AC3-audio, 5=H.264-video, 6=HEAAC-audio
>>
>>      if (!Components)
>>
>>         Components = new cComponents;
>>
>>      char buffer[Utf8BufSize(256)];
>>
>>
>> Klaus
>>
>> ___
>> 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
>

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


Re: [vdr] vdr and aac support

2010-05-15 Thread Steffen Barszus
On Fri, 14 May 2010 16:13:36 +0200
Klaus Schmidinger  wrote:

> On 07.05.2010 09:53, Newsy Paper wrote:
> > Hi!
> > 
> > there are some channels using aac for audio. I.e. SABC1 at
> > 23.5°East 10758 V 22000 8/9 DVB-S2 Seems vdr doesn't support aac as
> > no pid is entered neither for apid nor for ddpid. I think xine
> > should support acc or doesn't it? So it should be no big deal do
> > extend vdr to support aac.
> 
> Please try this and see if it makes any difference:
> 
> --- pat.c   2010/03/27 15:17:46 2.9
> +++ pat.c   2010/05/14 14:12:31
> @@ -401,6 +401,7 @@
>switch (d->getDescriptorTag()) {
>  case SI::AC3DescriptorTag:
>  case SI::EnhancedAC3DescriptorTag:
> +case SI::AACDescriptorTag:
>   dpid = esPid;
>   ProcessCaDescriptors = true;
>   break;
> 
> --- eit.c   2010/01/08 15:17:09 2.11
> +++ eit.c   2010/05/14 14:06:55
> @@ -257,7 +257,7 @@
>   SI::ComponentDescriptor *cd =
> (SI::ComponentDescriptor *)d; uchar Stream = cd->getStreamContent();
>   uchar Type = cd->getComponentType();
> - if (1 <= Stream && Stream <= 4 && Type != 0) { //
> 1=video, 2=audio, 3=subtitles, 4=AC3
> + if (1 <= Stream && Stream <= 6 && Type != 0) { //
> 1=MPEG2-video, 2=MPEG1-audio, 3=subtitles, 4=AC3-audio,
> 5=H.264-video, 6=HEAAC-audio if (!Components) Components = new
> cComponents; char buffer[Utf8BufSize(256)];
>

The second change marks at least the HD Recordings as such - usefull
for applications needing to know this w/o analyzing files :) 

Thanks !


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


Re: [vdr] vdr and aac support

2010-05-15 Thread Newsy Paper
thx Klaus for your patch, but seems like there's something missing. Perhaps in 
remux.c?

DDpid and Apid are both 0
If I enter aac pid in ddpid field it's set back to 0 again.

kind regards

Newspaperman

--- Klaus Schmidinger  schrieb am Fr, 14.5.2010:

> Von: Klaus Schmidinger 
> Betreff: Re: [vdr] vdr and aac support
> An: vdr@linuxtv.org
> Datum: Freitag, 14. Mai, 2010 16:13 Uhr
> On 07.05.2010 09:53, Newsy Paper
> wrote:
> > Hi!
> > 
> > there are some channels using aac for audio. I.e.
> SABC1 at 23.5°East 10758 V 22000 8/9 DVB-S2
> > Seems vdr doesn't support aac as no pid is entered
> neither for apid nor for ddpid. I think xine should support
> acc or doesn't it? So it should be no big deal do extend vdr
> to support aac.
> 
> Please try this and see if it makes any difference:
> 
> --- pat.c       2010/03/27
> 15:17:46     2.9
> +++ pat.c       2010/05/14
> 14:12:31
> @@ -401,6 +401,7 @@
>                
>            switch
> (d->getDescriptorTag()) {
>                
>              case
> SI::AC3DescriptorTag:
>                
>              case
> SI::EnhancedAC3DescriptorTag:
> +               
>             case
> SI::AACDescriptorTag:
>                
>                
>   dpid = esPid;
>                
>                
>   ProcessCaDescriptors = true;
>                
>                
>   break;
> 
> --- eit.c       2010/01/08
> 15:17:09     2.11
> +++ eit.c       2010/05/14
> 14:06:55
> @@ -257,7 +257,7 @@
>                
>   SI::ComponentDescriptor *cd =
> (SI::ComponentDescriptor *)d;
>                
>   uchar Stream = cd->getStreamContent();
>                
>   uchar Type = cd->getComponentType();
> -             
>    if (1 <= Stream && Stream <=
> 4 && Type != 0) { // 1=video, 2=audio, 3=subtitles,
> 4=AC3
> +             
>    if (1 <= Stream && Stream <=
> 6 && Type != 0) { // 1=MPEG2-video, 2=MPEG1-audio,
> 3=subtitles, 4=AC3-audio, 5=H.264-video, 6=HEAAC-audio
>                
>      if (!Components)
>                
>         Components = new cComponents;
>                
>      char buffer[Utf8BufSize(256)];
> 
> 
> Klaus
> 
> ___
> 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] vdr and aac support

2010-05-14 Thread Klaus Schmidinger
On 07.05.2010 09:53, Newsy Paper wrote:
> Hi!
> 
> there are some channels using aac for audio. I.e. SABC1 at 23.5°East 10758 V 
> 22000 8/9 DVB-S2
> Seems vdr doesn't support aac as no pid is entered neither for apid nor for 
> ddpid. I think xine should support acc or doesn't it? So it should be no big 
> deal do extend vdr to support aac.

Please try this and see if it makes any difference:

--- pat.c   2010/03/27 15:17:46 2.9
+++ pat.c   2010/05/14 14:12:31
@@ -401,6 +401,7 @@
   switch (d->getDescriptorTag()) {
 case SI::AC3DescriptorTag:
 case SI::EnhancedAC3DescriptorTag:
+case SI::AACDescriptorTag:
  dpid = esPid;
  ProcessCaDescriptors = true;
  break;

--- eit.c   2010/01/08 15:17:09 2.11
+++ eit.c   2010/05/14 14:06:55
@@ -257,7 +257,7 @@
  SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d;
  uchar Stream = cd->getStreamContent();
  uchar Type = cd->getComponentType();
- if (1 <= Stream && Stream <= 4 && Type != 0) { // 1=video, 
2=audio, 3=subtitles, 4=AC3
+ if (1 <= Stream && Stream <= 6 && Type != 0) { // 
1=MPEG2-video, 2=MPEG1-audio, 3=subtitles, 4=AC3-audio, 5=H.264-video, 
6=HEAAC-audio
 if (!Components)
Components = new cComponents;
 char buffer[Utf8BufSize(256)];


Klaus

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