[vlc-devel] [PATCH 7/9] aout: add HACK to differentiate DTS from DTS-HD

Thomas Guillem thomas at gllm.fr
Wed Dec 20 14:12:43 CET 2017


This HACK need to be replaced in 4.0 by adding a profile to audio_format_t or
by passing it to aout modules.
---
 src/audio_output/output.c | 2 ++
 src/input/decoder.c       | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/src/audio_output/output.c b/src/audio_output/output.c
index 4fb7ab8d7f..ff4eda24c4 100644
--- a/src/audio_output/output.c
+++ b/src/audio_output/output.c
@@ -224,6 +224,8 @@ audio_output_t *aout_New (vlc_object_t *parent)
     var_AddCallback (aout, "mute", var_Copy, parent);
     var_Create (aout, "device", VLC_VAR_STRING);
     var_AddCallback (aout, "device", var_CopyDevice, parent);
+    /* TODO: 3.0 HACK: only way to signal DTS_HD to aout modules. */
+    var_Create (aout, "dtshd", VLC_VAR_BOOL);
 
     aout->event.volume_report = aout_VolumeNotify;
     aout->event.mute_report = aout_MuteNotify;
diff --git a/src/input/decoder.c b/src/input/decoder.c
index 081d81f807..b94d6da169 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -364,6 +364,11 @@ static int aout_update_format( decoder_t *p_dec )
         p_aout = input_resource_GetAout( p_owner->p_resource );
         if( p_aout )
         {
+            /* TODO: 3.0 HACK: we need to put i_profile inside audio_format_t
+             * for 4.0 */
+            if( p_dec->fmt_out.i_codec == VLC_CODEC_DTS )
+                var_SetBool( p_aout, "dtshd", p_dec->fmt_out.i_profile > 0 );
+
             if( aout_DecNew( p_aout, &format,
                              &p_dec->fmt_out.audio_replay_gain,
                              &request_vout ) )
-- 
2.11.0



More information about the vlc-devel mailing list