diff --git a/src/pavucontrol.glade b/src/pavucontrol.glade
index 253534e..d081e8a 100644
--- a/src/pavucontrol.glade
+++ b/src/pavucontrol.glade
@@ -581,6 +581,32 @@
1
+
+
+
+ 0
+ 2
+
+
+
+
+
+ 1
+ 2
+
+
False
diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
index b9002dd..f30bd37 100644
--- a/src/sinkwidget.cc
+++ b/src/sinkwidget.cc
@@ -73,6 +73,28 @@ SinkWidget::SinkWidget(BaseObjectType* cobject, const Glib::RefPtr
encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange));
encodings[i].widget->set_sensitive(true);
}
+#endif
+ ++i;
+ encodings[i].encoding = PA_ENCODING_INVALID;
+ x->get_widget("encodingFormatTRUEHD", encodings[i].widget);
+ encodings[i].widget->set_sensitive(false);
+#ifdef PA_ENCODING_TRUEHD_IEC61937
+ if (pa_context_get_server_protocol_version(get_context()) >= 33) {
+ encodings[i].encoding = PA_ENCODING_TRUEHD_IEC61937;
+ encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange));
+ encodings[i].widget->set_sensitive(true);
+ }
+#endif
+ ++i;
+ encodings[i].encoding = PA_ENCODING_INVALID;
+ x->get_widget("encodingFormatDTSHD", encodings[i].widget);
+ encodings[i].widget->set_sensitive(false);
+#ifdef PA_ENCODING_DTSHD_IEC61937
+ if (pa_context_get_server_protocol_version(get_context()) >= 33) {
+ encodings[i].encoding = PA_ENCODING_DTSHD_IEC61937;
+ encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange));
+ encodings[i].widget->set_sensitive(true);
+ }
#endif
#endif
}
diff --git a/src/sinkwidget.h b/src/sinkwidget.h
index 924fca0..207d115 100644
--- a/src/sinkwidget.h
+++ b/src/sinkwidget.h
@@ -27,7 +27,7 @@
#if HAVE_EXT_DEVICE_RESTORE_API
# include
-# define PAVU_NUM_ENCODINGS 6
+# define PAVU_NUM_ENCODINGS 8
typedef struct {
pa_encoding encoding;