rpms/gstreamer-plugins-base/devel gstreamer-0.10.19-alsasink-mixed-record-playback-tracks.patch, NONE, 1.1 gstreamer-plugins-base.spec, 1.51, 1.52
Bastien Nocera (hadess)
fedora-extras-commits at redhat.com
Fri Apr 18 13:15:11 UTC 2008
Author: hadess
Update of /cvs/pkgs/rpms/gstreamer-plugins-base/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17774
Modified Files:
gstreamer-plugins-base.spec
Added Files:
gstreamer-0.10.19-alsasink-mixed-record-playback-tracks.patch
Log Message:
* Fri Apr 18 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.19-2
- Add patch to avoid sync problems in the ALSA sink when a specific
track has both playback and record flags
gstreamer-0.10.19-alsasink-mixed-record-playback-tracks.patch:
--- NEW FILE gstreamer-0.10.19-alsasink-mixed-record-playback-tracks.patch ---
diff -Nur -x '*.orig' -x '*~' gst-plugins-base0.10-0.10.18/ext/alsa/gstalsamixertrack.c gst-plugins-base0.10-0.10.18.new/ext/alsa/gstalsamixertrack.c
--- gst-plugins-base0.10-0.10.18/ext/alsa/gstalsamixertrack.c 2008-03-03 22:29:49.000000000 +0000
+++ gst-plugins-base0.10-0.10.18.new/ext/alsa/gstalsamixertrack.c 2008-04-10 15:15:15.000000000 +0100
@@ -75,28 +75,40 @@
alsa_track->alsa_flags = 0;
alsa_track->capture_group = -1;
+ /* common flags */
if (snd_mixer_selem_has_common_volume (alsa_track->element))
alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_VOLUME;
- if (snd_mixer_selem_has_playback_volume (alsa_track->element))
- alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_PVOLUME;
-
- if (snd_mixer_selem_has_capture_volume (alsa_track->element))
- alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CVOLUME;
-
if (snd_mixer_selem_has_common_switch (alsa_track->element))
alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_SWITCH;
- if (snd_mixer_selem_has_playback_switch (alsa_track->element))
- alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_PSWITCH;
-
- if (snd_mixer_selem_has_capture_switch (alsa_track->element)) {
- alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CSWITCH;
-
- if (snd_mixer_selem_has_capture_switch_exclusive (alsa_track->element)) {
- alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CSWITCH_EXCL;
- alsa_track->capture_group =
- snd_mixer_selem_get_capture_group (alsa_track->element);
+ /* Since we create two separate mixer track objects for alsa elements that
+ * support both playback and capture, we're going to 'hide' the alsa flags
+ * that don't pertain to this mixer track from alsa_flags, otherwise
+ * gst_alsa_mixer_track_update() is going to do things we don't want */
+
+ /* playback flags */
+ if ((GST_MIXER_TRACK (alsa_track)->flags & GST_MIXER_TRACK_OUTPUT)) {
+ if (snd_mixer_selem_has_playback_volume (alsa_track->element))
+ alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_PVOLUME;
+
+ if (snd_mixer_selem_has_playback_switch (alsa_track->element))
+ alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_PSWITCH;
+ }
+
+ /* capture flags */
+ if ((GST_MIXER_TRACK (alsa_track)->flags & GST_MIXER_TRACK_INPUT)) {
+ if (snd_mixer_selem_has_capture_volume (alsa_track->element))
+ alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CVOLUME;
+
+ if (snd_mixer_selem_has_capture_switch (alsa_track->element)) {
+ alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CSWITCH;
+
+ if (snd_mixer_selem_has_capture_switch_exclusive (alsa_track->element)) {
+ alsa_track->alsa_flags |= GST_ALSA_MIXER_TRACK_CSWITCH_EXCL;
+ alsa_track->capture_group =
+ snd_mixer_selem_get_capture_group (alsa_track->element);
+ }
}
}
Index: gstreamer-plugins-base.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-base/devel/gstreamer-plugins-base.spec,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- gstreamer-plugins-base.spec 4 Apr 2008 10:45:40 -0000 1.51
+++ gstreamer-plugins-base.spec 18 Apr 2008 13:14:31 -0000 1.52
@@ -5,7 +5,7 @@
Name: %{gstreamer}-plugins-base
Version: 0.10.19
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GStreamer streaming media framework base plug-ins
Group: Applications/Multimedia
@@ -15,6 +15,8 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: gstpb-0.10.15-cd-speed.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=518082
+Patch1: gstreamer-0.10.19-alsasink-mixed-record-playback-tracks.patch
Requires: %{gstreamer} >= %{_gst}
Requires: liboil >= 0.3.12-9
@@ -52,6 +54,7 @@
%prep
%setup -q -n gst-plugins-base-%{version}
%patch0 -p1 -b .cd-speed
+%patch1 -p1 -b .alsasink
%build
%configure \
@@ -246,6 +249,10 @@
%doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor}
%changelog
+* Fri Apr 18 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.19-2
+- Add patch to avoid sync problems in the ALSA sink when a specific
+ track has both playback and record flags
+
* Fri Apr 04 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.19-1
- Update to 0.10.19
More information about the fedora-extras-commits
mailing list