[vlc-devel] [PATCH 0/9] Handle (AC-3 core + EAC3 Ext) -> AC3 fallback

Thomas Guillem thomas at gllm.fr
Thu Oct 3 16:33:50 CEST 2019


Hello,

cf. my gitlab branch here: https://code.videolan.org/tguillem/vlc/tree/eac3-fix/2

The EAC3 codec can be packetized in two different ways. Bluray Discs use an
AC-3 Core + an EAC3 Extension whereas the broadcast world use indivisible EAC3
streams.

VLC 3.0 (and 4.0) handle both case, but the fallback from EAC3 to AC3 was never
handled in case of AC-3 Core + EAC3 Extension. This is the main goal of this
patch set.

The extended attribute was added to the audio_format_t structure to differente
the A52 from A52+EAC3 Ext. I used this same attribute to remove the old VLC 3.0
"dtshd" hack.

If accepted, I will handle the EAC3->AC3 fallback on all remaining aouts.

Best,

Thomas Guillem (9):
  audio_format: add extended attribute
  es_format: also check extended difference
  aout: replace "dtshd" var hack with fmt->extended
  tospidf: handle fmt->extended
  tospdif: A52: fix buffer size check
  packetizer: detect AC-3 core + EAC3 extension
  pulse: use an intermediate fmt variable
  pulse: handle AC-3 core + EAC3 ext
  demux: mp4: trigger the packetizer for some AC3 tracks

 include/vlc_es.h                         |   5 ++
 modules/audio_filter/converter/tospdif.c |  17 ++--
 modules/audio_output/audiotrack.c        |  10 +--
 modules/audio_output/mmdevice.c          |   2 +-
 modules/audio_output/pulse.c             | 101 ++++++++++++++---------
 modules/audio_output/wasapi.c            |   4 +-
 modules/demux/mp4/essetup.c              |  16 ++++
 modules/packetizer/a52.c                 |   4 +
 src/input/decoder.c                      |   4 +-
 src/misc/es_format.c                     |   3 +-
 10 files changed, 108 insertions(+), 58 deletions(-)

-- 
2.20.1



More information about the vlc-devel mailing list