[oe-commits] org.oe.dev packages/gstreamer/gst-plugins-ugly_0.10.6.bb : add patch to make mp3->codec

xora commit openembedded-commits at lists.openembedded.org
Thu Oct 18 12:06:05 UTC 2007


packages/gstreamer/gst-plugins-ugly_0.10.6.bb : add patch to make mp3->codec
16bit all the way through. Increase openmoko-player2 svnrev to match
the patch

Author: xora at openembedded.org
Branch: org.openembedded.dev
Revision: ada400c152f3d86308fbd602f1ddf750e4f21570
ViewMTN: http://monotone.openembedded.org/revision/info/ada400c152f3d86308fbd602f1ddf750e4f21570
Files:
1
packages/gstreamer/gst-plugins-ugly/gstmad_16bit.patch
conf/distro/include/sane-srcrevs.inc
packages/gstreamer/gst-plugins-ugly_0.10.6.bb
Diffs:

#
# mt diff -r5bc88c35c6a1a9506332f5b6f0f633c5b81ae4cd -rada400c152f3d86308fbd602f1ddf750e4f21570
#
# 
# 
# add_file "packages/gstreamer/gst-plugins-ugly/gstmad_16bit.patch"
#  content [8f08d4ff350ac0e64ecbd5238a9a8e1327106932]
# 
# patch "conf/distro/include/sane-srcrevs.inc"
#  from [094e6ff87045ec722ce3d1558347fe856bcf813c]
#    to [e872d5cafbecf63d079a2ffaafcf06f792aa5288]
# 
# patch "packages/gstreamer/gst-plugins-ugly_0.10.6.bb"
#  from [4abb994fb91c9f798af210780f9db761ea010eb5]
#    to [a797c052361775643172a8cb270f3ea30d3da281]
# 
============================================================
--- packages/gstreamer/gst-plugins-ugly/gstmad_16bit.patch	8f08d4ff350ac0e64ecbd5238a9a8e1327106932
+++ packages/gstreamer/gst-plugins-ugly/gstmad_16bit.patch	8f08d4ff350ac0e64ecbd5238a9a8e1327106932
@@ -0,0 +1,109 @@
+--- gst-plugins-ugly-0.10.6/ext/mad/gstmad.c.orig	2007-06-13 11:21:25.000000000 +0200
++++ gst-plugins-ugly-0.10.6/ext/mad/gstmad.c	2007-09-16 22:45:04.000000000 +0200
+@@ -119,8 +119,8 @@
+     GST_STATIC_CAPS ("audio/x-raw-int, "
+         "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
+         "signed = (boolean) true, "
+-        "width = (int) 32, "
+-        "depth = (int) 32, "
++        "width = (int) 16, "
++        "depth = (int) 16, "
+         "rate = (int) { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, "
+         "channels = (int) [ 1, 2 ]")
+     );
+@@ -458,7 +458,7 @@
+ 
+   mad = GST_MAD (GST_PAD_PARENT (pad));
+ 
+-  bytes_per_sample = MAD_NCHANNELS (&mad->frame.header) * 4;
++  bytes_per_sample = MAD_NCHANNELS (&mad->frame.header) << 1;
+ 
+   switch (src_format) {
+     case GST_FORMAT_BYTES:
+@@ -870,13 +870,11 @@
+   return res;
+ }
+ 
+-static inline gint32
++static inline gint16
+ scale (mad_fixed_t sample)
+ {
+-#if MAD_F_FRACBITS < 28
+   /* round */
+-  sample += (1L << (28 - MAD_F_FRACBITS - 1));
+-#endif
++  sample += (1L << (MAD_F_FRACBITS - 16));
+ 
+   /* clip */
+   if (sample >= MAD_F_ONE)
+@@ -884,13 +882,8 @@
+   else if (sample < -MAD_F_ONE)
+     sample = -MAD_F_ONE;
+ 
+-#if MAD_F_FRACBITS < 28
+   /* quantize */
+-  sample >>= (28 - MAD_F_FRACBITS);
+-#endif
+-
+-  /* convert from 29 bits to 32 bits */
+-  return (gint32) (sample << 3);
++  return sample >> (MAD_F_FRACBITS + 1 - 16);
+ }
+ 
+ /* do we need this function? */
+@@ -1277,8 +1270,8 @@
+     caps = gst_caps_new_simple ("audio/x-raw-int",
+         "endianness", G_TYPE_INT, G_BYTE_ORDER,
+         "signed", G_TYPE_BOOLEAN, TRUE,
+-        "width", G_TYPE_INT, 32,
+-        "depth", G_TYPE_INT, 32,
++        "width", G_TYPE_INT, 16,
++        "depth", G_TYPE_INT, 16,
+         "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, nchannels, NULL);
+ 
+     gst_pad_set_caps (mad->srcpad, caps);
+@@ -1576,7 +1569,7 @@
+            to skip and send the remaining pcm samples */
+ 
+         GstBuffer *outbuffer = NULL;
+-        gint32 *outdata;
++        gint16 *outdata;
+         mad_fixed_t const *left_ch, *right_ch;
+ 
+         if (mad->need_newsegment) {
+@@ -1594,7 +1587,7 @@
+         /* will attach the caps to the buffer */
+         result =
+             gst_pad_alloc_buffer_and_set_caps (mad->srcpad, 0,
+-            nsamples * mad->channels * 4, GST_PAD_CAPS (mad->srcpad),
++            nsamples * mad->channels * 2, GST_PAD_CAPS (mad->srcpad),
+             &outbuffer);
+         if (result != GST_FLOW_OK) {
+           /* Head for the exit, dropping samples as we go */
+@@ -1607,7 +1600,7 @@
+         left_ch = mad->synth.pcm.samples[0];
+         right_ch = mad->synth.pcm.samples[1];
+ 
+-        outdata = (gint32 *) GST_BUFFER_DATA (outbuffer);
++        outdata = (gint16 *) GST_BUFFER_DATA (outbuffer);
+ 
+         GST_DEBUG ("mad out timestamp %" GST_TIME_FORMAT,
+             GST_TIME_ARGS (time_offset));
+@@ -1621,14 +1614,14 @@
+           gint count = nsamples;
+ 
+           while (count--) {
+-            *outdata++ = scale (*left_ch++) & 0xffffffff;
++            *outdata++ = scale (*left_ch++) & 0xffff;
+           }
+         } else {
+           gint count = nsamples;
+ 
+           while (count--) {
+-            *outdata++ = scale (*left_ch++) & 0xffffffff;
+-            *outdata++ = scale (*right_ch++) & 0xffffffff;
++            *outdata++ = scale (*left_ch++) & 0xffff;
++            *outdata++ = scale (*right_ch++) & 0xffff;
+           }
+         }
+ 
============================================================
--- conf/distro/include/sane-srcrevs.inc	094e6ff87045ec722ce3d1558347fe856bcf813c
+++ conf/distro/include/sane-srcrevs.inc	e872d5cafbecf63d079a2ffaafcf06f792aa5288
@@ -64,7 +64,7 @@ SRCREV_pn-openmoko-libs ?= "2367"
 SRCREV_pn-openmoko-icon-theme-standard2-qvga ?= "3066"
 SRCREV_pn-openmoko-keyboard ?= "1631"
 SRCREV_pn-openmoko-libs ?= "2367"
-SRCREV_pn-openmoko-mediaplayer2 ?= "3057"
+SRCREV_pn-openmoko-mediaplayer2 ?= "3208"
 SRCREV_pn-openmoko-messages ?= "2276"
 SRCREV_pn-openmoko-panel-battery ?= "2897"
 SRCREV_pn-openmoko-panel-bt ?= "2896"
============================================================
--- packages/gstreamer/gst-plugins-ugly_0.10.6.bb	4abb994fb91c9f798af210780f9db761ea010eb5
+++ packages/gstreamer/gst-plugins-ugly_0.10.6.bb	a797c052361775643172a8cb270f3ea30d3da281
@@ -1,6 +1,7 @@ DEPENDS += "gst-plugins-base"
 require gst-plugins.inc
 
 DEPENDS += "gst-plugins-base"
-SRC_URI += "file://cross-compile.patch;patch=1"
+SRC_URI += "file://cross-compile.patch;patch=1 \
+            file://gstmad_16bit.patch;patch=1"
 
+PR = "r1"
-PR = "r0"






More information about the Openembedded-commits mailing list