diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2020-02-20 16:42:05 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2020-02-20 16:49:32 +0100 |
commit | a33c9086ce400e80dba0944c142460fda822f640 (patch) | |
tree | 5d23cebe5f3ed7dbe605ec22f68ddac747a02ac7 /media-plugins | |
parent | media-libs/alsa-ucm-conf: Removed old (diff) | |
download | gentoo-a33c9086ce400e80dba0944c142460fda822f640.tar.gz gentoo-a33c9086ce400e80dba0944c142460fda822f640.tar.bz2 gentoo-a33c9086ce400e80dba0944c142460fda822f640.zip |
media-plugins/alsa-plugins: Removed old
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-plugins')
5 files changed, 0 insertions, 554 deletions
diff --git a/media-plugins/alsa-plugins/Manifest b/media-plugins/alsa-plugins/Manifest index f307fab40303..9d8379446d62 100644 --- a/media-plugins/alsa-plugins/Manifest +++ b/media-plugins/alsa-plugins/Manifest @@ -1,4 +1,3 @@ -DIST alsa-plugins-1.1.1.tar.bz2 366193 BLAKE2B 02892b0c241cf34d3bfce6cf580dbb6bedbce9253c3e57f04d3093a6cbb1d5b5e9b92566945962b875de20ba3e556e9c1fc4bb4e970502e3c03fc821e5e264fe SHA512 9dd277cb5cce144ce4e5e0010cebcba0f8634c783e7bcd80ce6d04b198d6de5150a2764df3087a39a468b5fb7c4578de2e252095568e811dedaa5e7ffdbeb7c9 DIST alsa-plugins-1.1.8.tar.bz2 375346 BLAKE2B 65c161ee375e7aed85dbe918a39bc2aa4818bbcfbaadf405f5f0170d9944ff55b5a9da3690e3cd78bd7ffff74ecf235f49cfc3a5dfe18b627c5a9cb0dc1eb207 SHA512 bb1a4411921ec332f47b43515f6d3b4c03a01568854950b9b5c3f0d8172d9a0c4a5b3652bc64c62eae5ea3aaa5d95fe3d32c0a213fe99adf490a9807bcb58ecd DIST alsa-plugins-1.1.9.tar.bz2 406127 BLAKE2B 10bf3e96289a88edabfa3018d33ab4666982fe409eb41c486e6b9eee0dde87e926f3241c31e240b3bab114c8ab2c6d6bab92dd6192bceb467a01fcb6adc44b8e SHA512 1969dfe8f2bb4283e81a18da73d2f7f86d8788d1a8764d7195b4830b2f4704c208eacb50a1e26e20c9fe57e7d5bb06a004112d84cc86b4682b4180d2fec4d5d9 DIST alsa-plugins-1.2.1.tar.bz2 406309 BLAKE2B 2ac26ad87fcdcc4452ec32b2b437d3be4308f13ce2a8e24150f319805b6d684edc6be9e51654f27c1a5bbc01a7caa9eb70250be405dc6921ecd93ee417f24cdf SHA512 a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.1.1-r1.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.1.1-r1.ebuild deleted file mode 100644 index ea2912e9c1b1..000000000000 --- a/media-plugins/alsa-plugins/alsa-plugins-1.1.1-r1.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit autotools eutils flag-o-matic ltprune multilib multilib-minimal - -DESCRIPTION="ALSA extra plugins" -HOMEPAGE="http://www.alsa-project.org/" -SRC_URI="https://www.alsa-project.org/files/pub/plugins/${P}.tar.bz2" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-linux" -IUSE="debug ffmpeg jack libav libsamplerate pulseaudio speex" - -RDEPEND=" - >=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}] - ffmpeg? ( - libav? ( media-video/libav:= ) - !libav? ( media-video/ffmpeg:0= ) - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - speex? ( - >=media-libs/speex-1.2.0:=[${MULTILIB_USEDEP}] - media-libs/speexdsp[${MULTILIB_USEDEP}] - ) -" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${PN}-1.0.23-automagic.patch" - "${FILESDIR}/${PN}-1.0.28-libav10.patch" -) - -src_prepare() { - default - - # For some reasons the polyp/pulse plugin does fail with alsaplayer with a - # failed assert. As the code works just fine with asserts disabled, for now - # disable them waiting for a better solution. - sed -i \ - -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \ - pulse/Makefile.am || die - - eautoreconf -} - -multilib_src_configure() { - use debug || append-cppflags -DNDEBUG - - local myspeex=no - use speex && myspeex=lib - - ECONF_SOURCE=${S} \ - econf \ - $(use_enable ffmpeg avcodec) \ - $(use_enable jack) \ - $(use_enable libsamplerate samplerate) \ - $(use_enable pulseaudio) \ - --with-speex=${myspeex} -} - -multilib_src_install_all() { - einstalldocs - - cd doc || die - dodoc upmix.txt vdownmix.txt README-pcm-oss - use jack && dodoc README-jack - use libsamplerate && dodoc samplerate.txt - use ffmpeg && dodoc lavcrate.txt a52.txt - - if use pulseaudio; then - dodoc README-pulse - # install ALSA configuration files - # making PA to be used by alsa clients - insinto /usr/share/alsa - doins "${FILESDIR}"/pulse-default.conf - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/51-pulseaudio-probe.conf - # bug #410261, comment 5+ - # seems to work fine without any path - sed -i \ - -e "s:/usr/lib/alsa-lib/::" \ - "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261 - fi - - prune_libtool_files --all -} - -pkg_postinst() { - if use pulseaudio; then - einfo "The PulseAudio device is now set as the default device if the" - einfo "PulseAudio server is found to be running. Any custom" - einfo "configuration in /etc/asound.conf or ~/.asoundrc for this" - einfo "purpose should now be unnecessary." - fi -} diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.1.9-r1.ebuild b/media-plugins/alsa-plugins/alsa-plugins-1.1.9-r1.ebuild deleted file mode 100644 index fba448266fcc..000000000000 --- a/media-plugins/alsa-plugins/alsa-plugins-1.1.9-r1.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools flag-o-matic multilib multilib-minimal - -DESCRIPTION="ALSA extra plugins" -HOMEPAGE="http://www.alsa-project.org/" -SRC_URI="https://www.alsa-project.org/files/pub/plugins/${P}.tar.bz2" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux" -IUSE="arcam_av debug ffmpeg jack libav libsamplerate +mix oss pulseaudio speex +usb_stream" - -RDEPEND=" - >=media-libs/alsa-lib-${PV}:=[${MULTILIB_USEDEP}] - ffmpeg? ( - libav? ( media-video/libav:= ) - !libav? ( media-video/ffmpeg:0= ) - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - libsamplerate? ( >=media-libs/libsamplerate-0.1.8-r1:=[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - speex? ( - >=media-libs/speex-1.2.0:=[${MULTILIB_USEDEP}] - media-libs/speexdsp[${MULTILIB_USEDEP}] - ) -" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -src_prepare() { - default - - # For some reasons the polyp/pulse plugin does fail with alsaplayer with a - # failed assert. As the code works just fine with asserts disabled, for now - # disable them waiting for a better solution. - sed -i \ - -e '/AM_CFLAGS/s:-Wall:-DNDEBUG -Wall:' \ - pulse/Makefile.am || die - - eautoreconf -} - -multilib_src_configure() { - use debug || append-cppflags -DNDEBUG - - local myeconfargs=( - # default does not contain $prefix: bug #673464 - --with-alsalconfdir="${EPREFIX}"/etc/alsa/conf.d - - --with-speex="$(usex speex lib no)" - $(use_enable arcam_av arcamav) - $(use_enable ffmpeg libav) - $(use_enable jack) - $(use_enable libsamplerate samplerate) - $(use_enable mix) - $(use_enable oss) - $(use_enable pulseaudio) - $(use_enable speex speexdsp) - $(use_enable usb_stream usbstream) - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - einstalldocs - - cd doc || die - dodoc upmix.txt vdownmix.txt README-pcm-oss - use jack && dodoc README-jack - use libsamplerate && dodoc samplerate.txt - use ffmpeg && dodoc lavrate.txt a52.txt - - if use pulseaudio; then - dodoc README-pulse - # install ALSA configuration files - # making PA to be used by alsa clients - insinto /usr/share/alsa - doins "${FILESDIR}"/pulse-default.conf - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/51-pulseaudio-probe.conf - # bug #410261, comment 5+ - # seems to work fine without any path - sed -i \ - -e "s:/usr/lib/alsa-lib/::" \ - "${ED}"/usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf || die #410261 - dosym ../../../usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf \ - /etc/alsa/conf.d/51-pulseaudio-probe.conf #670960 - fi - - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_postinst() { - if use pulseaudio; then - einfo "The PulseAudio device is now set as the default device if the" - einfo "PulseAudio server is found to be running. Any custom" - einfo "configuration in /etc/asound.conf or ~/.asoundrc for this" - einfo "purpose should now be unnecessary." - fi -} diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch deleted file mode 100644 index 8e62f20a143d..000000000000 --- a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.23-automagic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr alsa-plugins-1.0.23.ORIg//Makefile.am alsa-plugins-1.0.23/Makefile.am ---- alsa-plugins-1.0.23.ORIg//Makefile.am 2010-04-16 23:38:58.546243512 +0100 -+++ alsa-plugins-1.0.23/Makefile.am 2010-04-16 23:39:20.049278487 +0100 -@@ -17,7 +17,7 @@ - if HAVE_PPH - SUBDIRS += pph - endif --if HAVE_SPEEXDSP -+if USE_LIBSPEEX - SUBDIRS += speex - endif - diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch deleted file mode 100644 index 9718369782b3..000000000000 --- a/media-plugins/alsa-plugins/files/alsa-plugins-1.0.28-libav10.patch +++ /dev/null @@ -1,338 +0,0 @@ -https://bugs.gentoo.org/539680 - -From: Luca Barbato <lu_zero@gentoo.org> -Description: lavr: Add a libavresample based rate plugin -Date: Mon, 14 Apr 2014 10:01:07 +0200 - -Provide lavcrate compatibility. - -Index: alsa-plugins-1.0.28/configure.ac -=================================================================== ---- alsa-plugins-1.0.28.orig/configure.ac -+++ alsa-plugins-1.0.28/configure.ac -@@ -66,7 +66,7 @@ if test "$use_maemo_rm" = "yes"; then - fi - - AC_ARG_ENABLE([avcodec], -- AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)])) -+ AS_HELP_STRING([--disable-avcodec], [Do not build plugins depending on avcodec (a52)])) - - if test "x$enable_avcodec" != "xno"; then - PKG_CHECK_MODULES(AVCODEC, [libavcodec libavutil], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no]) -@@ -101,6 +101,10 @@ if test $HAVE_AVCODEC = yes; then - if test -z "$AVCODEC_HEADER"; then - HAVE_AVCODEC=no - fi -+ SAVE_LIBS=$LIBS -+ LIBS="$LIBS $AVCODEC_LIBS" -+ AC_CHECK_FUNCS([av_resample_init]) -+ LIBS=$SAVE_LIBS - fi - - AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes) -@@ -108,6 +112,18 @@ AC_SUBST(AVCODEC_CFLAGS) - AC_SUBST(AVCODEC_LIBS) - AC_SUBST(AVCODEC_HEADER) - -+AC_ARG_ENABLE([avresample], -+ AS_HELP_STRING([--disable-avresample], [Do not build plugins depending on avcodec (lavrate)])) -+ -+if test "x$enable_avresample" != "xno"; then -+ PKG_CHECK_MODULES(AVRESAMPLE, [libavresample libavutil], [HAVE_AVRESAMPLE=yes], [HAVE_AVRESAMPLE=no]) -+fi -+ -+AM_CONDITIONAL(HAVE_AVRESAMPLE, test x$HAVE_AVCODEC = xyes) -+AC_SUBST(AVRESAMPLE_CFLAGS) -+AC_SUBST(AVRESAMPLE_LIBS) -+AC_SUBST(AVRESAMPLE_HEADER) -+ - PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""]) - AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes") - -@@ -181,7 +197,7 @@ AC_OUTPUT([ - mix/Makefile - rate/Makefile - a52/Makefile -- rate-lavc/Makefile -+ rate-lavr/Makefile - maemo/Makefile - doc/Makefile - usb_stream/Makefile -Index: alsa-plugins-1.0.28/Makefile.am -=================================================================== ---- alsa-plugins-1.0.28.orig/Makefile.am -+++ alsa-plugins-1.0.28/Makefile.am -@@ -9,8 +9,14 @@ if HAVE_SAMPLERATE - SUBDIRS += rate - endif - if HAVE_AVCODEC -+SUBDIRS += a52 -+if !HAVE_AVRESAMPLE - SUBDIRS += a52 rate-lavc - endif -+endif -+if HAVE_AVRESAMPLE -+SUBDIRS += rate-lavr -+endif - if HAVE_MAEMO_PLUGIN - SUBDIRS += maemo - endif -Index: alsa-plugins-1.0.28/rate-lavr/Makefile.am -=================================================================== ---- /dev/null -+++ alsa-plugins-1.0.28/rate-lavr/Makefile.am -@@ -0,0 +1,22 @@ -+asound_module_rate_lavr_LTLIBRARIES = libasound_module_rate_lavr.la -+ -+asound_module_rate_lavrdir = @ALSA_PLUGIN_DIR@ -+ -+AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVRESAMPLE_CFLAGS@ -+AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) -+ -+libasound_module_rate_lavr_la_SOURCES = rate_lavr.c -+libasound_module_rate_lavr_la_LIBADD = @ALSA_LIBS@ @AVRESAMPLE_LIBS@ -+ -+ -+install-exec-hook: -+ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate*.so -+ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate.so -+ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_higher.so -+ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_high.so -+ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_fast.so -+ $(LN_S) libasound_module_rate_lavr.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_faster.so -+ -+uninstall-hook: -+ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate*.so -+ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavr*.so -Index: alsa-plugins-1.0.28/rate-lavr/rate_lavr.c -=================================================================== ---- /dev/null -+++ alsa-plugins-1.0.28/rate-lavr/rate_lavr.c -@@ -0,0 +1,227 @@ -+/* -+ * Rate converter plugin using libavresample -+ * Copyright (c) 2014 by Anton Khirnov -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ */ -+ -+#include <stdio.h> -+#include <alsa/asoundlib.h> -+#include <alsa/pcm_rate.h> -+ -+#include <libavresample/avresample.h> -+#include <libavutil/channel_layout.h> -+#include <libavutil/opt.h> -+#include <libavutil/mathematics.h> -+#include <libavutil/samplefmt.h> -+ -+ -+static int filter_size = 16; -+static int phase_shift = 10; /* auto-adjusts */ -+static double cutoff = 0; /* auto-adjusts */ -+ -+struct rate_src { -+ AVAudioResampleContext *avr; -+ -+ int in_rate; -+ int out_rate; -+ unsigned int channels; -+}; -+ -+static snd_pcm_uframes_t input_frames(void *obj, snd_pcm_uframes_t frames) -+{ -+ return frames; -+} -+ -+static snd_pcm_uframes_t output_frames(void *obj, snd_pcm_uframes_t frames) -+{ -+ return frames; -+} -+ -+static void pcm_src_free(void *obj) -+{ -+ struct rate_src *rate = obj; -+ avresample_free(&rate->avr); -+} -+ -+static int pcm_src_init(void *obj, snd_pcm_rate_info_t *info) -+{ -+ struct rate_src *rate = obj; -+ int i, ir, or; -+ -+ if (!rate->avr || rate->channels != info->channels) { -+ int ret; -+ -+ pcm_src_free(rate); -+ rate->channels = info->channels; -+ ir = rate->in_rate = info->in.rate; -+ or = rate->out_rate = info->out.rate; -+ i = av_gcd(or, ir); -+ if (or > ir) { -+ phase_shift = or/i; -+ } else { -+ phase_shift = ir/i; -+ } -+ if (cutoff <= 0.0) { -+ cutoff = 1.0 - 1.0/filter_size; -+ if (cutoff < 0.80) -+ cutoff = 0.80; -+ } -+ -+ rate->avr = avresample_alloc_context(); -+ if (!rate->avr) -+ return -ENOMEM; -+ -+ av_opt_set_int(rate->avr, "in_sample_rate", info->in.rate, 0); -+ av_opt_set_int(rate->avr, "out_sample_rate", info->out.rate, 0); -+ av_opt_set_int(rate->avr, "in_sample_format", AV_SAMPLE_FMT_S16, 0); -+ av_opt_set_int(rate->avr, "out_sample_format", AV_SAMPLE_FMT_S16, 0); -+ av_opt_set_int(rate->avr, "in_channel_layout", av_get_default_channel_layout(rate->channels), 0); -+ av_opt_set_int(rate->avr, "out_channel_layout", av_get_default_channel_layout(rate->channels), 0); -+ -+ av_opt_set_int(rate->avr, "filter_size", filter_size, 0); -+ av_opt_set_int(rate->avr, "phase_shift", phase_shift, 0); -+ av_opt_set_double(rate->avr, "cutoff", cutoff, 0); -+ -+ ret = avresample_open(rate->avr); -+ if (ret < 0) { -+ avresample_free(&rate->avr); -+ return -EINVAL; -+ } -+ } -+ -+ return 0; -+} -+ -+static int pcm_src_adjust_pitch(void *obj, snd_pcm_rate_info_t *info) -+{ -+ struct rate_src *rate = obj; -+ -+ if (info->out.rate != rate->out_rate || info->in.rate != rate->in_rate) -+ pcm_src_init(obj, info); -+ return 0; -+} -+ -+static void pcm_src_reset(void *obj) -+{ -+ struct rate_src *rate = obj; -+ -+ if (rate->avr) { -+ avresample_close(rate->avr); -+ avresample_open(rate->avr); -+ } -+} -+ -+static void pcm_src_convert_s16(void *obj, int16_t *dst, unsigned int -+ dst_frames, const int16_t *src, unsigned int src_frames) -+{ -+ struct rate_src *rate = obj; -+ int consumed = 0, chans=rate->channels, ret=0, i; -+ int total_in = avresample_get_delay(rate->avr) + src_frames; -+ -+ ret = avresample_convert(rate->avr, &dst, dst_frames * chans * 2, dst_frames, -+ &src, src_frames * chans * 2, src_frames); -+ -+ avresample_set_compensation(rate->avr, -+ total_in - src_frames > filter_size ? 0 : 1, src_frames); -+} -+ -+static void pcm_src_close(void *obj) -+{ -+ pcm_src_free(obj); -+} -+ -+#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 -+static int get_supported_rates(void *obj, unsigned int *rate_min, -+ unsigned int *rate_max) -+{ -+ *rate_min = *rate_max = 0; /* both unlimited */ -+ return 0; -+} -+ -+static void dump(void *obj, snd_output_t *out) -+{ -+ snd_output_printf(out, "Converter: libavr\n"); -+} -+#endif -+ -+static snd_pcm_rate_ops_t pcm_src_ops = { -+ .close = pcm_src_close, -+ .init = pcm_src_init, -+ .free = pcm_src_free, -+ .adjust_pitch = pcm_src_adjust_pitch, -+ .convert_s16 = pcm_src_convert_s16, -+ .input_frames = input_frames, -+ .output_frames = output_frames, -+#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 -+ .version = SND_PCM_RATE_PLUGIN_VERSION, -+ .get_supported_rates = get_supported_rates, -+ .dump = dump, -+#endif -+}; -+ -+int pcm_src_open(unsigned int version, void **objp, snd_pcm_rate_ops_t *ops) -+ -+{ -+ struct rate_src *rate; -+ -+#if SND_PCM_RATE_PLUGIN_VERSION < 0x010002 -+ if (version != SND_PCM_RATE_PLUGIN_VERSION) { -+ fprintf(stderr, "Invalid rate plugin version %x\n", version); -+ return -EINVAL; -+ } -+#endif -+ rate = calloc(1, sizeof(*rate)); -+ if (!rate) -+ return -ENOMEM; -+ -+ *objp = rate; -+ rate->avr = NULL; -+#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 -+ if (version == 0x010001) -+ memcpy(ops, &pcm_src_ops, sizeof(snd_pcm_rate_old_ops_t)); -+ else -+#endif -+ *ops = pcm_src_ops; -+ return 0; -+} -+ -+int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate)(unsigned int version, void **objp, -+ snd_pcm_rate_ops_t *ops) -+{ -+ return pcm_src_open(version, objp, ops); -+} -+int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_higher)(unsigned int version, -+ void **objp, snd_pcm_rate_ops_t *ops) -+{ -+ filter_size = 64; -+ return pcm_src_open(version, objp, ops); -+} -+int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_high)(unsigned int version, -+ void **objp, snd_pcm_rate_ops_t *ops) -+{ -+ filter_size = 32; -+ return pcm_src_open(version, objp, ops); -+} -+int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_fast)(unsigned int version, -+ void **objp, snd_pcm_rate_ops_t *ops) -+{ -+ filter_size = 8; -+ return pcm_src_open(version, objp, ops); -+} -+int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_faster)(unsigned int version, -+ void **objp, snd_pcm_rate_ops_t *ops) -+{ -+ filter_size = 4; -+ return pcm_src_open(version, objp, ops); -+} -+ -+ |