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