[vlc-devel] commit: Fixed some AC3 file playback with a52 audio filter. (Laurent Aimar )

git version control git at videolan.org
Mon Apr 13 19:51:50 CEST 2009


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Mon Apr 13 18:33:08 2009 +0200| [995e3479a6751165b90f52f4d9f59ee40269df00] | committer: Laurent Aimar 

Fixed some AC3 file playback with a52 audio filter.

Always increase i_bytes_per_frame to avoid cycling between 2 values with
some files.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=995e3479a6751165b90f52f4d9f59ee40269df00
---

 modules/codec/a52.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/modules/codec/a52.c b/modules/codec/a52.c
index df56752..dc18ea4 100644
--- a/modules/codec/a52.c
+++ b/modules/codec/a52.c
@@ -149,6 +149,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
     p_dec->fmt_out.i_cat = AUDIO_ES;
     p_dec->fmt_out.i_codec = i_codec;
     p_dec->fmt_out.audio.i_rate = 0; /* So end_date gets initialized */
+    p_dec->fmt_out.audio.i_bytes_per_frame = 0;
 
     /* Set callback */
     if( b_packetizer )
@@ -364,7 +365,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
 
     p_dec->fmt_out.audio.i_rate     = p_sys->i_rate;
     p_dec->fmt_out.audio.i_channels = p_sys->i_channels;
-    p_dec->fmt_out.audio.i_bytes_per_frame = p_sys->i_frame_size;
+    if( p_dec->fmt_out.audio.i_bytes_per_frame < p_sys->i_frame_size )
+        p_dec->fmt_out.audio.i_bytes_per_frame = p_sys->i_frame_size;
     p_dec->fmt_out.audio.i_frame_length = A52_FRAME_NB;
 
     p_dec->fmt_out.audio.i_original_channels = p_sys->i_channels_conf;




More information about the vlc-devel mailing list