[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