Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=4d8c8e4afdbcd6ac7ad27f55a89bdffb15fc805c

commit 4d8c8e4afdbcd6ac7ad27f55a89bdffb15fc805c
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Mon Jan 26 19:37:32 2009 +0100

snack-2.2.10-3-i686

- add snack2.2.10-newALSA.patch
- closes #3587

diff --git a/source/xmultimedia-extra/snack/FrugalBuild 
b/source/xmultimedia-extra/snack/FrugalBuild
index f3b1427..52b62c2 100644
--- a/source/xmultimedia-extra/snack/FrugalBuild
+++ b/source/xmultimedia-extra/snack/FrugalBuild
@@ -4,15 +4,16 @@

pkgname=snack
pkgver=2.2.10
-pkgrel=2
+pkgrel=3
pkgdesc="Snack Sound Toolkit (Tcl)"
depends=('alsa-lib' 'tk' 'python' 'libxscrnsaver' 'libvorbis')
groups=('xmultimedia-extra')
archs=('i686' 'x86_64')
url="http://www.speech.kth.se";
-source=($url/$pkgname/dist/$pkgname$pkgver.tar.gz)
+source=($url/$pkgname/dist/$pkgname$pkgver.tar.gz snack2.2.10-newALSA.patch)
up2date="lynx -dump $url/$pkgname/download.html |grep 'Version '|cut -d ' ' -f 
6 | sed -n '1p'"
-sha1sums=('2c333fde061cf1cb7d5932c9cff4eb968c7d095a')
+sha1sums=('2c333fde061cf1cb7d5932c9cff4eb968c7d095a' \
+          '67b8b9be7cc9be58f4c306797ea5276df805d089')

build()
{
diff --git a/source/xmultimedia-extra/snack/snack2.2.10-newALSA.patch 
b/source/xmultimedia-extra/snack/snack2.2.10-newALSA.patch
new file mode 100644
index 0000000..85ea3c2
--- /dev/null
+++ b/source/xmultimedia-extra/snack/snack2.2.10-newALSA.patch
@@ -0,0 +1,49 @@
+--- unix.orig/jkAudIO_alsa.c   2008-09-22 14:19:55.000000000 -0400
++++ unix/jkAudIO_alsa.c        2008-09-22 14:21:44.000000000 -0400
+@@ -49,6 +49,8 @@ static int littleEndian = 0;
+
+ static int minNumChan = 1;
+
++static snd_pcm_uframes_t hw_bufsize = 0;
++
+ int
+ SnackAudioOpen(ADesc *A, Tcl_Interp *interp, char *device, int mode, int freq,
+              int nchannels, int encoding)
+@@ -135,6 +137,9 @@ SnackAudioOpen(ADesc *A, Tcl_Interp *int
+     Tcl_AppendResult(interp, "Failed setting HW params.", NULL);
+     return TCL_ERROR;
+   }
++
++  snd_pcm_hw_params_get_buffer_size (hw_params, &hw_bufsize);
++
+   snd_pcm_hw_params_free(hw_params);
+   snd_pcm_prepare(A->handle);
+   if (A->mode == RECORD) {
+@@ -202,6 +207,8 @@ SnackAudioPost(ADesc *A)
+   int i;
+   static char buf[64];
+
++  return;
++
+   if (A->debug > 1) Snack_WriteLog("  Enter SnackAudioPost\n");
+
+   for (i = 0; i < 1000; i++) {
+@@ -267,12 +274,14 @@ SnackAudioWriteable(ADesc *A)
+ long
+ SnackAudioPlayed(ADesc *A)
+ {
+-  long avail = _snd_pcm_mmap_hw_ptr(A->handle);
++  // FIX Here, _snd_pcm_mmap_hw_ptr is deprecated in new alsalib
++  long played = A->nWritten - (hw_bufsize - SnackAudioWriteable(A));
++  // long avail = _snd_pcm_mmap_hw_ptr(A->handle);
+
+-  if (avail < 0)
+-    avail = 0;
++  if (played < 0)
++    return 0;
+
+-  return (avail+A->nPlayed);
++  return (played);
+ }
+
+ void
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to