From: Akihiro Tsukada <atsukada@xxxxxxxxxxxxxxxxxxxxx> --- src/pavucontrol.glade | 19 ++++++++++++++++--- src/pavucontrol.h | 1 + src/sinkwidget.cc | 10 ++++++++++ src/sinkwidget.h | 2 +- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/pavucontrol.glade b/src/pavucontrol.glade index 6defb3d..4b3dd01 100644 --- a/src/pavucontrol.glade +++ b/src/pavucontrol.glade @@ -427,9 +427,6 @@ <property name="n_rows">2</property> <property name="n_columns">3</property> <child> - <placeholder/> - </child> - <child> <object class="GtkCheckButton" id="encodingFormatPCM"> <property name="label" translatable="yes">PCM</property> <property name="use_action_appearance">False</property> @@ -499,6 +496,22 @@ <property name="bottom_attach">2</property> </packing> </child> + <child> + <object class="GtkCheckButton" id="encodingFormatAAC"> + <property name="label" translatable="yes">AAC</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> diff --git a/src/pavucontrol.h b/src/pavucontrol.h index 65cb913..affaa89 100644 --- a/src/pavucontrol.h +++ b/src/pavucontrol.h @@ -41,6 +41,7 @@ #define HAVE_SOURCE_OUTPUT_VOLUMES PA_CHECK_VERSION(0,99,0) #define HAVE_EXT_DEVICE_RESTORE_API PA_CHECK_VERSION(0,99,0) +#define HAVE_MPEG2_AAC_PASSTHROUGH PA_CHECK_VERSION(3,99,0) enum SinkInputType { SINK_INPUT_ALL, diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc index 1726550..35b0aa7 100644 --- a/src/sinkwidget.cc +++ b/src/sinkwidget.cc @@ -62,6 +62,16 @@ SinkWidget::SinkWidget(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder> encodings[i].encoding = PA_ENCODING_DTS_IEC61937; x->get_widget("encodingFormatDTS", encodings[i].widget); encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange)); + + ++i; + x->get_widget("encodingFormatAAC", encodings[i].widget); +#if HAVE_MPEG2_AAC_PASSTHROUGH + encodings[i].encoding = PA_ENCODING_MPEG2_AAC_IEC61937; + encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange)); +#else + encodings[i].encoding = PA_ENCODING_INVALID; + encodings[i].widget->set_sensitive(false); +#endif #endif } diff --git a/src/sinkwidget.h b/src/sinkwidget.h index a2fbab9..0044ffc 100644 --- a/src/sinkwidget.h +++ b/src/sinkwidget.h @@ -27,7 +27,7 @@ #if HAVE_EXT_DEVICE_RESTORE_API # include <pulse/format.h> -# define PAVU_NUM_ENCODINGS 5 +# define PAVU_NUM_ENCODINGS 6 typedef struct { pa_encoding encoding; -- 1.8.1.2