vdr xine-lib eac3

Message ID 3545862.xoiJqr5IEM@jar7.dominio
State New
Headers

Commit Message

Jose Alberto Reguero July 10, 2012, 10:43 p.m. UTC
  On Martes, 10 de julio de 2012 22:53:44 Karim Afifi escribió:
> Up please :-)
> 
> Karim
> 
> -----Message d'origine-----
> De : vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] De la part de
> Karim Afifi
> Envoyé : vendredi 18 mai 2012 21:32
> À : 'VDR Mailing List'
> Objet : Re: [vdr] vdr xine-lib eac3
> 
> Hello,
> 
> I am using vdr-1.7.27 and xineliboutput (with xine-lib from january 2012 and
> José Alberto's patch). All HD dvb-t french channels are deliver "eac3", but
> vdr delivers only stereo pcm on the spdif output (instead of 5.1).
> 
> Is it the normal behaviour, or did I miss something ?
> Is there a way to convert eac3 => ac3 for delivering 5.1 stream through the
> spdif output ?
> 
> Regards.
> Karim
> 

You can try latest vdr and latest xine-lib-1.2 without patches. I use also a 
patch(attached) for xine-lib-1.2 but perhaps you don't need it. But I don't 
know if spdif works because decoding eac3 is done via ffmpeg.

Jose Alberto

  
> 
> -----Message d'origine-----
> De : vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] De la part de
> Jose Alberto Reguero Envoyé : dimanche 3 octobre 2010 23:56 À : VDR Mailing
> List Objet : Re: [vdr] vdr xine-lib eac3
> 
> Attached is a patch to fix xine-lib ts work with eac3. With this patch you
> can use xine-ui to play the records.
> 
> Jose Alberto
> 
> El Domingo 03 Octubre 2010, Jose Alberto Reguero escribió:
> > Playing with xine-ui and demux ts don't work well. You must play it
> > with
> > vdr- xine.
> > 
> > Jose Alberto
> 
> _______________________________________________
> 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
  

Patch

diff -r 748c5603d2df src/combined/ffmpeg/ff_audio_decoder.c
--- a/src/combined/ffmpeg/ff_audio_decoder.c	Wed Feb 29 08:35:12 2012 +0200
+++ b/src/combined/ffmpeg/ff_audio_decoder.c	Mon Jun 18 17:17:58 2012 +0200
@@ -448,7 +448,8 @@ 
       /* pad input data */
       memset(&this->buf[this->size], 0, FF_INPUT_BUFFER_PADDING_SIZE);
 
-      while (this->size>0) {
+      bytes_consumed = 0;
+      while (this->size>bytes_consumed) {
         decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
 
 	bytes_consumed =
@@ -555,8 +556,8 @@ 
         offset += bytes_consumed;
       }
 
-      /* reset internal accumulation buffer */
-      this->size = 0;
+      if (offset)
+        memmove(this->buf, &this->buf[offset], this->size);
     }
   }
 }