r9465 - in /packages/unstable/rhythmbox/debian: changelog
patches/96_from-svn-endianess.patch
lool at users.alioth.debian.org
lool at users.alioth.debian.org
Sat Mar 31 14:12:03 UTC 2007
Author: lool
Date: Sat Mar 31 14:12:02 2007
New Revision: 9465
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=9465
Log:
* New patch, 96_from-svn-endianess, fixes missing endianess conversion
preventing playback on big-endian hosts; SVN r4512; GNOME #355611;
closes: #416905.
Added:
packages/unstable/rhythmbox/debian/patches/96_from-svn-endianess.patch
Modified:
packages/unstable/rhythmbox/debian/changelog
Modified: packages/unstable/rhythmbox/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/rhythmbox/debian/changelog?rev=9465&op=diff
==============================================================================
--- packages/unstable/rhythmbox/debian/changelog (original)
+++ packages/unstable/rhythmbox/debian/changelog Sat Mar 31 14:12:02 2007
@@ -1,3 +1,11 @@
+rhythmbox (0.9.6-9) experimental; urgency=high
+
+ * New patch, 96_from-svn-endianess, fixes missing endianess conversion
+ preventing playback on big-endian hosts; SVN r4512; GNOME #355611;
+ closes: #416905.
+
+ -- Loic Minier <lool at dooz.org> Sat, 31 Mar 2007 16:00:25 +0200
+
rhythmbox (0.9.6-8) unstable; urgency=medium
[ Sven Arvidsson ]
Added: packages/unstable/rhythmbox/debian/patches/96_from-svn-endianess.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/unstable/rhythmbox/debian/patches/96_from-svn-endianess.patch?rev=9465&op=file
==============================================================================
--- packages/unstable/rhythmbox/debian/patches/96_from-svn-endianess.patch (added)
+++ packages/unstable/rhythmbox/debian/patches/96_from-svn-endianess.patch Sat Mar 31 14:12:02 2007
@@ -1,0 +1,85 @@
+From SVN r4512; GNOME #355611; Debian #416905; fixes missing endianess
+conversion preventing playback on big-endian hosts.
+
+2006-10-10 Jonathan Matthew <jonathan at kaolin.wh9.net>
+
+ * player/rb-recorder-gst.c: (rb_recorder_construct),
+ (acb_wave_time):
+ Add an extra audioconvert element to allow endianness conversion on
+ big-endian machines, and fix a few endianness issues in the .wav
+ reading code. Fixes #355611.
+
+Index: player/rb-recorder-gst.c
+===================================================================
+--- player/rb-recorder-gst.c (révision 4511)
++++ player/rb-recorder-gst.c (révision 4512)
+@@ -90,6 +90,7 @@ struct _RBRecorderPrivate {
+ guint eos_signal_id;
+ #elif HAVE_GSTREAMER_0_10
+ GstElement *capsfilter;
++ GstElement *audioconvert2;
+ gboolean got_audio_pad;
+ #endif
+
+@@ -529,8 +530,10 @@ rb_recorder_construct (RBRecorder *recor
+ rb_recorder_gst_free_pipeline (recorder);
+
+ /* The recording pipeline looks like:
+- * { src ! decodebin ! audioconvert ! audioscale
+- * ! audio/x-raw-int,rate=44100,width=16,depth=16 ! wavenc ! sink }
++ * { src ! decodebin ! audioconvert ! audioscale ! audioconvert
++ * ! audio/x-raw-int,rate=44100,width=16,depth=16,endian=1234 ! wavenc ! sink }
++ * The second audioconvert is there for endianness conversion
++ * on big-endian machines.
+ */
+
+ recorder->priv->pipeline = gst_pipeline_new ("pipeline");
+@@ -596,6 +599,9 @@ rb_recorder_construct (RBRecorder *recor
+ gst_bin_add (GST_BIN (recorder->priv->pipeline), recorder->priv->audioscale);
+
+ #ifdef HAVE_GSTREAMER_0_10
++ MAKE_ELEMENT_OR_LOSE(audioconvert, audioconvert2);
++ gst_bin_add (GST_BIN (recorder->priv->pipeline), recorder->priv->audioconvert2);
++
+ MAKE_ELEMENT_OR_LOSE(capsfilter, capsfilter);
+ gst_bin_add (GST_BIN (recorder->priv->pipeline), recorder->priv->capsfilter);
+ #endif
+@@ -613,6 +619,7 @@ rb_recorder_construct (RBRecorder *recor
+ "rate", G_TYPE_INT, 44100,
+ "width", G_TYPE_INT, 16,
+ "depth", G_TYPE_INT, 16,
++ "endianness", G_TYPE_INT, G_LITTLE_ENDIAN,
+ NULL);
+ #ifdef HAVE_GSTREAMER_0_8
+ gst_element_link_many (recorder->priv->src,
+@@ -643,6 +650,7 @@ rb_recorder_construct (RBRecorder *recor
+
+ gst_element_link_many (recorder->priv->audioconvert,
+ recorder->priv->audioscale,
++ recorder->priv->audioconvert2,
+ recorder->priv->capsfilter,
+ recorder->priv->encoder,
+ recorder->priv->sink,
+@@ -1479,7 +1487,8 @@ acb_wave_time (const char *filename)
+ return ACB_ERROR_NOT_WAVE_TOO_SMALL;
+ }
+
+- if (GINT_FROM_LE (len) != 16) {
++ len = GINT_FROM_LE (len);
++ if (len != 16) {
+ close (fd);
+ g_print ("file len not defined\n");
+ return ACB_ERROR_NOT_WAVE_FORMAT;
+@@ -1494,9 +1503,9 @@ acb_wave_time (const char *filename)
+
+ close (fd);
+
+- if (wav->nChannels != 2
+- || wav->nSamplesPerSec != 44100
+- || wav->wBitsPerSample != 16) {
++ if (GINT16_FROM_LE (wav->nChannels) != 2
++ || GINT32_FROM_LE (wav->nSamplesPerSec) != 44100
++ || GINT16_FROM_LE (wav->wBitsPerSample) != 16) {
+ g_free (wav);
+ return ACB_ERROR_NOT_WAVE_FORMAT;
+ }
More information about the pkg-gnome-commits
mailing list