[pavucontrol] Added support for AAC passthrough

belegdol belegdol at fedoraproject.org
Tue Nov 12 21:46:10 UTC 2013


commit 2891858b6d42338640175d67789b966b0dbea5fe
Author: Julian Sikorski <belegdol at fedoraproject.org>
Date:   Tue Nov 12 22:45:37 2013 +0100

    Added support for AAC passthrough

 ...nkwidget-add-support-for-AAC-pass-through.patch |   87 ++++++++++++++++++++
 pavucontrol.spec                                   |    7 ++-
 2 files changed, 93 insertions(+), 1 deletions(-)
---
diff --git a/0001-sinkwidget-add-support-for-AAC-pass-through.patch b/0001-sinkwidget-add-support-for-AAC-pass-through.patch
new file mode 100644
index 0000000..90104de
--- /dev/null
+++ b/0001-sinkwidget-add-support-for-AAC-pass-through.patch
@@ -0,0 +1,87 @@
+From cbf3acb54379f3334cf5d7844888536bb54d1c5e Mon Sep 17 00:00:00 2001
+From: Akihiro Tsukada <atsukada at users.sourceforge.net>
+Date: Mon, 25 Feb 2013 01:03:31 +0900
+Subject: [PATCH 1/2] sinkwidget: add support for AAC pass-through
+
+---
+ src/pavucontrol.glade | 19 ++++++++++++++++---
+ src/sinkwidget.cc     | 12 ++++++++++++
+ src/sinkwidget.h      |  2 +-
+ 3 files changed, 29 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/sinkwidget.cc b/src/sinkwidget.cc
+index 1726550..7f4902c 100644
+--- a/src/sinkwidget.cc
++++ b/src/sinkwidget.cc
+@@ -62,6 +62,18 @@ 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;
++    encodings[i].encoding = PA_ENCODING_INVALID;
++    x->get_widget("encodingFormatAAC", encodings[i].widget);
++    encodings[i].widget->set_sensitive(false);
++#ifdef PA_ENCODING_MPEG2_AAC_IEC61937
++    if (pa_context_get_server_protocol_version(get_context()) >= 28) {
++        encodings[i].encoding = PA_ENCODING_MPEG2_AAC_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 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.4.2
+
diff --git a/pavucontrol.spec b/pavucontrol.spec
index 0f2e400..7d9a892 100644
--- a/pavucontrol.spec
+++ b/pavucontrol.spec
@@ -1,12 +1,13 @@
 Name:           pavucontrol
 Version:        2.0
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Volume control for PulseAudio
 
 Group:          Applications/Multimedia
 License:        GPLv2+
 URL:            http://freedesktop.org/software/pulseaudio/%{name}
 Source0:        http://freedesktop.org/software/pulseaudio/%{name}/%{name}-%{version}.tar.xz
+Patch0:         0001-sinkwidget-add-support-for-AAC-pass-through.patch
 
 BuildRequires:  pulseaudio-libs-devel >= 3.0
 BuildRequires:  gtkmm30-devel libglademm24-devel
@@ -23,6 +24,7 @@ of each playback stream separately.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %configure
@@ -50,6 +52,9 @@ desktop-file-install \
 %{_datadir}/applications/pavucontrol.desktop
 
 %changelog
+* Tue Nov 12 2013 Julian Sikorski <belegdol at fedoraproject.org> - 2.0-4
+- Added support for AAC passthrough
+
 * Wed Oct 23 2013 Bruno Wolff III <bruno at wolff.to> - 2.0-3
 - Rebuild seems to fix segfaulting issue (bz 1021118)
 


More information about the scm-commits mailing list