[vlc-devel] [RFC PATCH 0/6] audio decoder fallback

Thomas Guillem thomas at gllm.fr
Fri Jul 1 18:14:49 CEST 2016

This set of patches is not perfect, it's more a Proof Of Concept.

I didn't fix the ToCToU issue of the decoder state that Remi already mentioned.

The 5/6 commit is the most important.

With this set of patches, I'm able to use A52 passthrough or the avcodec module
to decode AC3.

 - Save and dup blocks until we got a running aout. Re-insert these blocks in
   the input Fifo in case of Decoder Fallback. Is it too overkill ?
 - Fix thread/atomic mess.
 - implement decoder_RequestAudioPassthrough in dts
 - move dts/a52/mpga filters into decoders

Thomas Guillem (6):
  decoder: change error handling
  decoder: update error state when vout creation fails
  decoder: abort decoding in case of error in packetize loop
  decoder: UnloadDecoder: clean fmt_in when requested
  decoder: add audio decoder fallback
  a52: handle new decoder_RequestAudioPassthrough

 include/vlc_codec.h                 |  34 +++++++++-
 modules/codec/a52.c                 |  22 ++++--
 modules/codec/avcodec/video.c       |   4 +-
 modules/codec/gstreamer/gstdecode.c |  16 +++--
 modules/codec/videotoolbox.m        |   2 +-
 src/input/decoder.c                 | 131 +++++++++++++++++++++++++++++++-----
 src/libvlccore.sym                  |   1 +
 7 files changed, 177 insertions(+), 33 deletions(-)


More information about the vlc-devel mailing list