[vlc-commits] demux: mp4: trigger the packetizer for some AC3 tracks

Thomas Guillem git at videolan.org
Tue Oct 8 08:49:57 CEST 2019


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Thu Oct  3 13:15:28 2019 +0200| [d26aafa2bd64b57da0a686a3286e5a13dc50b47a] | committer: Thomas Guillem

demux: mp4: trigger the packetizer for some AC3 tracks

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

 modules/demux/mp4/essetup.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index 54ba3ff86b..15f37f5390 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -1007,7 +1007,23 @@ int SetupAudioES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
                 };
                 p_track->fmt.i_bitrate = 0;
                 if( BOXDATA(p_dac3)->i_bitrate_code < sizeof(pi_bitrate)/sizeof(*pi_bitrate) )
+                {
                     p_track->fmt.i_bitrate = pi_bitrate[BOXDATA(p_dac3)->i_bitrate_code] * 1000;
+
+                    if (pi_bitrate[BOXDATA(p_dac3)->i_bitrate_code] == 640
+                     && BOXDATA(p_dac3)->i_acmod == 7
+                     && BOXDATA(p_dac3)->i_lfeon == 1)
+                    {
+                        /* DD+ can be an optional codec, and is deployed as an
+                         * extension to a "core" AC-3 5.1 640kbit/s audiotrack.
+                         * In that case, the AC-3 track might have an EAC3
+                         * extension, therefore trigger the A52 packetizer to
+                         * detect it (this is needed for aout passhthrough
+                         * configuration). */
+
+                        p_track->fmt.b_packetized = false;
+                    }
+                }
             }
             break;
         }



More information about the vlc-commits mailing list