rpms/gstreamer-plugins-base/F-8 gst-plugins-base-alsa-mixer-thinkpad.patch, NONE, 1.1 gstreamer-plugins-base.spec, 1.38, 1.39

Bastien Nocera (hadess) fedora-extras-commits at redhat.com
Mon Jan 7 14:47:28 UTC 2008


Author: hadess

Update of /cvs/pkgs/rpms/gstreamer-plugins-base/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10353

Modified Files:
	gstreamer-plugins-base.spec 
Added Files:
	gst-plugins-base-alsa-mixer-thinkpad.patch 
Log Message:
* Mon Jan 07 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.15-2
- Add upstream patch to fix default track selection on Thinkpads
  (#344911)


gst-plugins-base-alsa-mixer-thinkpad.patch:

--- NEW FILE gst-plugins-base-alsa-mixer-thinkpad.patch ---
--- gstalsamixer.c	2008/01/07 13:19:50	1.40
+++ gstalsamixer.c	2008/01/07 13:59:43	1.41
@@ -591,6 +591,22 @@
   }
 }
 
+static gboolean
+check_if_volumes_are_the_same (guint num_channels, gint * volumes)
+{
+  guint i;
+
+  if (num_channels <= 1)
+    return TRUE;
+
+  for (i = 1; i < num_channels; i++) {
+    if (volumes[i] != volumes[0])
+      return FALSE;
+  }
+
+  return TRUE;
+}
+
 void
 gst_alsa_mixer_set_volume (GstAlsaMixer * mixer, GstMixerTrack * track,
     gint * volumes)
@@ -610,10 +626,17 @@
       for (i = 0; i < track->num_channels; i++)
         alsa_track->volumes[i] = volumes[i];
     } else {
-      for (i = 0; i < track->num_channels; i++) {
-        alsa_track->volumes[i] = volumes[i];
-        snd_mixer_selem_set_playback_volume (alsa_track->element, i,
-            volumes[i]);
+      if (check_if_volumes_are_the_same (track->num_channels, volumes)) {
+        snd_mixer_selem_set_playback_volume_all (alsa_track->element,
+            volumes[0]);
+        for (i = 0; i < track->num_channels; i++)
+          alsa_track->volumes[i] = volumes[0];
+      } else {
+        for (i = 0; i < track->num_channels; i++) {
+          alsa_track->volumes[i] = volumes[i];
+          snd_mixer_selem_set_playback_volume (alsa_track->element, i,
+              volumes[i]);
+        }
       }
     }
 
@@ -622,9 +645,17 @@
     /* Is emulated record flag activated? */
     if (track->flags & GST_MIXER_TRACK_RECORD ||
         alsa_track->alsa_flags & GST_ALSA_MIXER_TRACK_CSWITCH) {
-      for (i = 0; i < track->num_channels; i++) {
-        alsa_track->volumes[i] = volumes[i];
-        snd_mixer_selem_set_capture_volume (alsa_track->element, i, volumes[i]);
+      if (check_if_volumes_are_the_same (track->num_channels, volumes)) {
+        snd_mixer_selem_set_capture_volume_all (alsa_track->element,
+            volumes[0]);
+        for (i = 0; i < track->num_channels; i++)
+          alsa_track->volumes[i] = volumes[0];
+      } else {
+        for (i = 0; i < track->num_channels; i++) {
+          alsa_track->volumes[i] = volumes[i];
+          snd_mixer_selem_set_capture_volume (alsa_track->element, i,
+              volumes[i]);
+        }
       }
     } else {
       for (i = 0; i < track->num_channels; i++)


Index: gstreamer-plugins-base.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-base/F-8/gstreamer-plugins-base.spec,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- gstreamer-plugins-base.spec	13 Dec 2007 17:09:11 -0000	1.38
+++ gstreamer-plugins-base.spec	7 Jan 2008 14:46:30 -0000	1.39
@@ -5,7 +5,7 @@
 
 Name: 		%{gstreamer}-plugins-base
 Version: 	0.10.15
-Release:  	1%{?dist}	
+Release:  	2%{?dist}	
 Summary: 	GStreamer streaming media framework base plug-ins
 
 Group: 		Applications/Multimedia
@@ -37,6 +37,8 @@
 BuildRequires:  gtk-doc >= 1.3
 BuildRequires:  PyXML
 
+Patch0:         gst-plugins-base-alsa-mixer-thinkpad.patch
+
 %description
 GStreamer is a streaming media framework, based on graphs of filters which
 operate on media data. Applications using this library can do anything
@@ -49,6 +51,9 @@
 
 %prep
 %setup -q -n gst-plugins-base-%{version}
+pushd ext/alsa/
+%patch0 -p0 -b .mixer-thinkpad
+popd
 
 %build
 %configure \
@@ -240,6 +245,10 @@
 %doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor}
 
 %changelog
+* Mon Jan 07 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.15-2
+- Add upstream patch to fix default track selection on Thinkpads
+  (#344911)
+
 * Sat Nov 17 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.15-1
 - Update to 0.10.15
 




More information about the fedora-extras-commits mailing list