diff options
author | William Pitcock <nenolod@dereferenced.org> | 2010-12-28 21:03:53 -0600 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2010-12-28 21:15:44 -0600 |
commit | 73a9ab9db3d08c646663e8ccd4b41fafebbe75e2 (patch) | |
tree | 0c3f4494f50291c173ab6b9c560cb5ebef5708e8 /testing | |
parent | 6bb05082baccd776b01adae1768c010220c8a9aa (diff) | |
download | aports-73a9ab9db3d08c646663e8ccd4b41fafebbe75e2.tar.bz2 aports-73a9ab9db3d08c646663e8ccd4b41fafebbe75e2.tar.xz |
testing/audacious-plugins: enable ffaudio, add ALSA period wait fix from hg
Diffstat (limited to 'testing')
-rw-r--r-- | testing/audacious-plugins/APKBUILD | 19 | ||||
-rw-r--r-- | testing/audacious-plugins/alsa-period-wait.patch | 66 | ||||
-rw-r--r-- | testing/audacious-plugins/ffaudio-linker-fix.patch | 19 |
3 files changed, 99 insertions, 5 deletions
diff --git a/testing/audacious-plugins/APKBUILD b/testing/audacious-plugins/APKBUILD index 84e8910c88..2ce3bc5514 100644 --- a/testing/audacious-plugins/APKBUILD +++ b/testing/audacious-plugins/APKBUILD @@ -2,13 +2,13 @@ # Maintainer: William Pitcock <nenolod@dereferenced.org> pkgname=audacious-plugins pkgver=2.4.2 -pkgrel=3 +pkgrel=6 pkgdesc="playlist-oriented media player with multiple interfaces (plugins)" url="http://audacious-media-player.org/" arch="all" license="ISC" depends=audacious -#_want_ffmpeg="ffmpeg-dev" +_want_ffmpeg="ffmpeg-dev" makedepends="libmowgli-dev libmcs-dev libguess-dev @@ -34,10 +34,14 @@ makedepends="libmowgli-dev curl-dev wavpack-dev lame-dev - flac-dev" + flac-dev + + autoconf" install= subpackages= -source="http://distfiles.atheme.org/$pkgname-$pkgver.tgz" +source="http://distfiles.atheme.org/$pkgname-$pkgver.tgz + alsa-period-wait.patch + ffaudio-linker-fix.patch" _builddir="$srcdir"/$pkgname-$pkgver @@ -53,6 +57,9 @@ prepare() { esac done + msg "Rebuilding configure..." + autoconf + # workaround bug in busybox sed -e "/touch/s/0001010000/200001010000/g" \ -i configure @@ -73,4 +80,6 @@ package() { make DESTDIR="$pkgdir" install } -md5sums="c33d0ea67e8fb8d6ed3891d464d5009b audacious-plugins-2.4.2.tgz" +md5sums="c33d0ea67e8fb8d6ed3891d464d5009b audacious-plugins-2.4.2.tgz +d52abb4b11b1b29ef1f75a2e5b03d3e6 alsa-period-wait.patch +ce7f401fce3904e81ac8c190c92fb641 ffaudio-linker-fix.patch" diff --git a/testing/audacious-plugins/alsa-period-wait.patch b/testing/audacious-plugins/alsa-period-wait.patch new file mode 100644 index 0000000000..68527d9a83 --- /dev/null +++ b/testing/audacious-plugins/alsa-period-wait.patch @@ -0,0 +1,66 @@ +# HG changeset patch +# User John Lindgren <john.lindgren@tds.net> +# Date 1292029591 18000 +# Node ID 21ec3fe20e6fdffb5758aa847310944021dda67d +# Parent eb47af70d029335ac12b4eb7e02d5664069439fa +alsa: Make delay time for poll() workaround depend on period size. +alsa: Fix thread logic. + +diff -r eb47af70d029 -r 21ec3fe20e6f src/alsa/alsa.c +--- a/src/alsa/alsa.c Fri Dec 10 11:47:49 2010 -0500 ++++ b/src/alsa/alsa.c Fri Dec 10 20:06:31 2010 -0500 +@@ -79,6 +79,7 @@ + + static void * alsa_buffer; + static int alsa_buffer_length, alsa_buffer_data_start, alsa_buffer_data_length; ++static int alsa_period; /* milliseconds */ + + static int64_t alsa_written; /* frames */ + static char alsa_prebuffer, alsa_paused; +@@ -195,6 +196,9 @@ + continue; + } + ++ if (! snd_pcm_bytes_to_frames (alsa_handle, alsa_buffer_data_length)) ++ continue; ++ + WAIT: + pthread_mutex_unlock (& alsa_mutex); + +@@ -215,7 +219,8 @@ + + if (workaround && slept) + { +- const struct timespec delay = {.tv_sec = 00, .tv_nsec = 100000000}; ++ const struct timespec delay = {.tv_sec = 0, .tv_nsec = 600000 * ++ alsa_period}; + nanosleep (& delay, NULL); + } + else +@@ -380,14 +385,14 @@ + direction = 0; + CHECK_NOISY (snd_pcm_hw_params_set_period_time_near, alsa_handle, params, + & useconds, & direction); +- int period = useconds / 1000; ++ alsa_period = useconds / 1000; + + CHECK_NOISY (snd_pcm_hw_params, alsa_handle, params); + + int soft_buffer = MAX (aud_cfg->output_buffer_size / 2, + aud_cfg->output_buffer_size - hard_buffer); + AUDDBG ("Buffer: hardware %d ms, software %d ms, period %d ms.\n", +- hard_buffer, soft_buffer, period); ++ hard_buffer, soft_buffer, alsa_period); + + alsa_buffer_length = snd_pcm_frames_to_bytes (alsa_handle, (int64_t) + soft_buffer * rate / 1000); +@@ -468,6 +473,9 @@ + alsa_buffer_data_length += length; + alsa_written += snd_pcm_bytes_to_frames (alsa_handle, length); + ++ if (! alsa_paused) ++ pthread_cond_broadcast (& alsa_cond); ++ + pthread_mutex_unlock (& alsa_mutex); + } + diff --git a/testing/audacious-plugins/ffaudio-linker-fix.patch b/testing/audacious-plugins/ffaudio-linker-fix.patch new file mode 100644 index 0000000000..06f670c1d0 --- /dev/null +++ b/testing/audacious-plugins/ffaudio-linker-fix.patch @@ -0,0 +1,19 @@ +# HG changeset patch +# User William Pitcock <nenolod@atheme.org> +# Date 1293589809 21600 +# Node ID c770e450d8d504772b4144ca489f0025d4b61501 +# Parent 531718a9e02f0568e5e774d9c05ae764f1a49197 +ffaudio: Fix linking order when linked on non-GNU operating systems. + +diff -r 531718a9e02f -r c770e450d8d5 configure.ac +--- a/configure.ac Tue Dec 28 17:43:07 2010 -0500 ++++ b/configure.ac Tue Dec 28 20:30:09 2010 -0600 +@@ -843,7 +843,7 @@ + ) + + if test "x$enable_ffaudio" = "xyes"; then +- PKG_CHECK_MODULES(FFMPEG, [libavformat >= 52.31.0 libavcodec >= 52.20.0 libavutil >= 49.15.0], ++ PKG_CHECK_MODULES(FFMPEG, [libavcodec >= 52.20.0 libavutil >= 49.15.0 libavformat >= 52.31.0], + [have_ffaudio="yes"], [have_ffaudio="no"]) + fi + |