diff options
Diffstat (limited to 'src/rhd_dig.c')
-rw-r--r-- | src/rhd_dig.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/rhd_dig.c b/src/rhd_dig.c index 6e75fd0..782c8db 100644 --- a/src/rhd_dig.c +++ b/src/rhd_dig.c @@ -262,6 +262,7 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output, switch (Property) { case RHD_OUTPUT_COHERENT: case RHD_OUTPUT_HDMI: + case RHD_OUTPUT_AUDIO_WORKAROUND: return TRUE; default: return FALSE; @@ -274,6 +275,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output, case RHD_OUTPUT_HDMI: val->Bool = Private->EncoderMode == TMDS_HDMI; return TRUE; + case RHD_OUTPUT_AUDIO_WORKAROUND: + val->Bool = RHDHdmiGetAudioWorkaround(Private->Hdmi); + return TRUE; default: return FALSE; } @@ -286,6 +290,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output, case RHD_OUTPUT_HDMI: Private->EncoderMode = val->Bool ? TMDS_HDMI : TMDS_DVI; break; + case RHD_OUTPUT_AUDIO_WORKAROUND: + RHDHdmiSetAudioWorkaround(Private->Hdmi, val->Bool); + break; default: return FALSE; } @@ -297,6 +304,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output, Output->Mode(Output, Private->Mode); Output->Power(Output, RHD_POWER_ON); break; + case RHD_OUTPUT_AUDIO_WORKAROUND: + RHDHdmiCommitAudioWorkaround(Private->Hdmi); + break; default: return FALSE; } @@ -1472,6 +1482,7 @@ DigPropertyControl(struct rhdOutput *Output, case RHD_OUTPUT_COHERENT: case RHD_OUTPUT_BACKLIGHT: case RHD_OUTPUT_HDMI: + case RHD_OUTPUT_AUDIO_WORKAROUND: { if (!Private->Transmitter.Property) return FALSE; |