diff gui/interface.c @ 36966:ef9dea4785bc

Detect audio AC3/DTS pass-through S/PDIF.
author ib
date Tue, 25 Mar 2014 12:25:09 +0000
parents 5cac4cf2ef94
children f6bc6cf0fa90
line wrap: on
line diff
--- a/gui/interface.c	Tue Mar 25 00:15:02 2014 +0000
+++ b/gui/interface.c	Tue Mar 25 12:25:09 2014 +0000
@@ -48,6 +48,7 @@
 #include "input/input.h"
 #include "libaf/equalizer.h"
 #include "libavutil/common.h"
+#include "libmpcodecs/ad.h"
 #include "libmpcodecs/dec_audio.h"
 #include "libmpcodecs/dec_video.h"
 #include "libmpcodecs/vd.h"
@@ -328,6 +329,7 @@
     int idata = (intptr_t)data, msg, state;
     stream_t *stream = NULL;
     sh_audio_t *sh_audio;
+    const ad_functions_t *ad;
     mixer_t *mixer;
     float l, r, b;
     plItem *next = NULL;
@@ -702,6 +704,9 @@
 
         sh_audio = data;
 
+        ad = sh_audio->ad_driver;
+        guiInfo.AudioPassthrough = (gstrcmp(ad->info->short_name, "hwac3") == 0);
+
         guiInfo.AudioChannels = sh_audio ? sh_audio->channels : 0;
 
         if (guiInfo.AudioChannels < 2)