The typo was on remux.c  => lost  : and ;

Anyway xine-lib has been updated and your patch don't apply.

Update is for eac3 with mkv

i don't test it yet



corrected remux.c

line 533
case SI::AC3DescriptorTag:
+case SI::EnhancedAC3DescriptorTag:


and in line 191:

-Target[i++] = SI::AC3DescriptorTag;
+Target[i++] = SI::EnhancedAC3DescriptorTag;


Le 24/03/2010 22:58, Jose Alberto Reguero a écrit :
I attached a second version of the first patch. 
I make the same changes that in the second patch, but maintaining the logic of 
the first patch. Also I commented the line:
+//        this->context->request_channels = 2;
because your example has 5 channels. If you have trouble with that you can 
comment the line again.
Which  typo error has the second patch?

Jose Alberto

El Miércoles, 24 de Marzo de 2010, zaverel escribió:
  
i 've patched pat.c and now remux.c
and with use xine-lib-1.2 with your second patch (who has typo error)
and that doesn't work.

corrected remux.c

line 533
case SI::AC3DescriptorTag:
+case SI::EnhancedAC3DescriptorTag:


and in line 191:

-Target[i++] = SI::AC3DescriptorTag;
+Target[i++] = SI::EnhancedAC3DescriptorTag;



with your previously patch and just pat.c patched with
line 402

case SI::AC3DescriptorTag:
+case SI:EnhancedAC3DescriptorTag:

that worked but not stable.

Is your sample eac3 has |"Spectral extension" ?
because in france dvb-t with eac3 has it
and need a ffmpeg patched for that.
And i test with that sound.

Le 24/03/2010 19:41, Jose Alberto Reguero a écrit :
    
It works here with a old sample of tdt with eac3. Have you patch also
remux.c? You need to change in line 533:

case SI::AC3DescriptorTag:
+case SI:EnhancedAC3DescriptorTag:

and in line 191:

-Target[i++] = SI::AC3DescriptorTag;
+Target[i++] = SI::EnhancedAC3DescriptorTag

Jose Alberto

El Miércoles, 24 de Marzo de 2010, dplu escribió:
      
Hi

I have made previous test with the version release by Petri Hintukainen

And I notice this part is not working like it should

-    if((m->descriptor_tag == STREAM_AUDIO_AC3) ||    /* ac3 - raw */
+    if(m->descriptor_tag == HDMV_AUDIO_84_EAC3) {
+      m->content   = p;
+      m->size = packet_len;
+      m->type |= BUF_AUDIO_EAC3;
+      return 1;
+
+    } else if((m->descriptor_tag == STREAM_AUDIO_AC3) ||    /* ac3 -
raw */

unfortunaletly, in AC3 or E-AC3 , the descriptor tag is
STREAM_AUDIO_AC3, so the program never run the first if (installed a
debug printf here)

It seems that your first approach (at least what I understood) by
forcing the decoding of all AC-3 stream by ffmepg instead of internal
lib was nice but generate violent segfault on libavcodec

Hope this help you

Best regards

PS : Sorry to pollute the vdr mailing list (not subscribed to ffmpeg or
xine-lib....)

Le Wednesday 24 March 2010 18:41:14 zaverel, vous avez écrit :
        
hello

 your second patch doesn't work  : no sound on eac3 channel

if you want there is a sample of vdr hd-eac3 recording here:

http://dl.free.fr/ew4rJddM8

 103mo

else , i don't know what mailing-list is the more indicate for debuging

the vdr or xine-dev mailing-list ?

_______________________________________________
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