rpms/desmume/F-18 .cvsignore, 1.10, 1.11 desmume.spec, 1.19, 1.20 sources, 1.10, 1.11
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/desmume/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv18007
Modified Files:
.cvsignore desmume.spec sources
Log Message:
* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
- Updated to upstream version 0.9.9
- Dropped obsolete Group, Buildroot, %clean and %defattr
- Dropped desktop vendor tag for F19+
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/desmume/F-18/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore 27 Apr 2012 13:11:54 -0000 1.10
+++ .cvsignore 4 May 2013 16:58:34 -0000 1.11
@@ -1 +1 @@
-desmume-0.9.8.tar.gz
+desmume-0.9.9.tar.gz
Index: desmume.spec
===================================================================
RCS file: /cvs/free/rpms/desmume/F-18/desmume.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- desmume.spec 27 Apr 2012 13:11:54 -0000 1.19
+++ desmume.spec 4 May 2013 16:58:35 -0000 1.20
@@ -1,15 +1,17 @@
+%if (0%{?fedora} && 0%{?fedora}) < 19
+%global with_desktop_vendor_tag 1
+%endif
+
Name: desmume
-Version: 0.9.8
+Version: 0.9.9
Release: 1%{?dist}
Summary: A Nintendo DS emulator
-Group: Applications/Emulators
License: GPLv2+
URL: http://desmume.org/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# Do not look into builddir
Patch0: %{name}-0.9-dontlookinbuilddir.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtkglext-devel
BuildRequires: libglade2-devel
@@ -77,7 +79,9 @@
%build
-%configure --enable-openal
+%configure \
+ --enable-openal \
+ --enable-glade
make %{?_smp_mflags}
@@ -97,7 +101,9 @@
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -106,7 +112,9 @@
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -116,10 +124,6 @@
%find_lang %{name}-glade
-%clean
-rm -rf %{buildroot}
-
-
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -151,32 +155,45 @@
%files
-%defattr(-,root,root,-)
%{_bindir}/%{name}
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}.desktop
+%else
+%{_datadir}/applications/%{name}.desktop
+%endif
%{_mandir}/man1/%{name}.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files glade -f %{name}-glade.lang
-%defattr(-,root,root,-)
%{_bindir}/%{name}-glade
%{_datadir}/%{name}-glade
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME-glade.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}-glade.desktop
+%else
+%{_datadir}/applications/%{name}-glade.desktop
+%endif
%{_mandir}/man1/%{name}-glade.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files cli
-%defattr(-,root,root,-)
%{_bindir}/%{name}-cli
%{_mandir}/man1/%{name}-cli.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%changelog
+* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
+- Updated to upstream version 0.9.9
+- Dropped obsolete Group, Buildroot, %%clean and %%defattr
+- Dropped desktop vendor tag for F19+
+
+* Sun Mar 03 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 0.9.8-2
+- Mass rebuilt for Fedora 19 Features
+
* Thu Apr 26 2012 Andrea Musuruane <musuruan(a)gmail.com> 0.9.8-1
- Updated to upstream version 0.9.8
Index: sources
===================================================================
RCS file: /cvs/free/rpms/desmume/F-18/sources,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- sources 27 Apr 2012 13:11:54 -0000 1.10
+++ sources 4 May 2013 16:58:35 -0000 1.11
@@ -1 +1 @@
-fb7c984c924087888b9eaaad8cb1875e desmume-0.9.8.tar.gz
+458b5f8b3dbb38a47e6d0518f97aa82a desmume-0.9.9.tar.gz
11 years, 6 months
rpms/desmume/F-19 .cvsignore, 1.10, 1.11 desmume.spec, 1.20, 1.21 sources, 1.10, 1.11
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/desmume/F-19
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv17859
Modified Files:
.cvsignore desmume.spec sources
Log Message:
* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
- Updated to upstream version 0.9.9
- Dropped obsolete Group, Buildroot, %clean and %defattr
- Dropped desktop vendor tag for F19+
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/desmume/F-19/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore 27 Apr 2012 13:11:54 -0000 1.10
+++ .cvsignore 4 May 2013 16:57:57 -0000 1.11
@@ -1 +1 @@
-desmume-0.9.8.tar.gz
+desmume-0.9.9.tar.gz
Index: desmume.spec
===================================================================
RCS file: /cvs/free/rpms/desmume/F-19/desmume.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- desmume.spec 3 Mar 2013 21:35:51 -0000 1.20
+++ desmume.spec 4 May 2013 16:57:57 -0000 1.21
@@ -1,15 +1,17 @@
+%if (0%{?fedora} && 0%{?fedora}) < 19
+%global with_desktop_vendor_tag 1
+%endif
+
Name: desmume
-Version: 0.9.8
-Release: 2%{?dist}
+Version: 0.9.9
+Release: 1%{?dist}
Summary: A Nintendo DS emulator
-Group: Applications/Emulators
License: GPLv2+
URL: http://desmume.org/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# Do not look into builddir
Patch0: %{name}-0.9-dontlookinbuilddir.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtkglext-devel
BuildRequires: libglade2-devel
@@ -77,7 +79,9 @@
%build
-%configure --enable-openal
+%configure \
+ --enable-openal \
+ --enable-glade
make %{?_smp_mflags}
@@ -97,7 +101,9 @@
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -106,7 +112,9 @@
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -116,10 +124,6 @@
%find_lang %{name}-glade
-%clean
-rm -rf %{buildroot}
-
-
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -151,32 +155,42 @@
%files
-%defattr(-,root,root,-)
%{_bindir}/%{name}
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}.desktop
+%else
+%{_datadir}/applications/%{name}.desktop
+%endif
%{_mandir}/man1/%{name}.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files glade -f %{name}-glade.lang
-%defattr(-,root,root,-)
%{_bindir}/%{name}-glade
%{_datadir}/%{name}-glade
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME-glade.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}-glade.desktop
+%else
+%{_datadir}/applications/%{name}-glade.desktop
+%endif
%{_mandir}/man1/%{name}-glade.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files cli
-%defattr(-,root,root,-)
%{_bindir}/%{name}-cli
%{_mandir}/man1/%{name}-cli.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%changelog
+* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
+- Updated to upstream version 0.9.9
+- Dropped obsolete Group, Buildroot, %%clean and %%defattr
+- Dropped desktop vendor tag for F19+
+
* Sun Mar 03 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 0.9.8-2
- Mass rebuilt for Fedora 19 Features
Index: sources
===================================================================
RCS file: /cvs/free/rpms/desmume/F-19/sources,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- sources 27 Apr 2012 13:11:54 -0000 1.10
+++ sources 4 May 2013 16:57:57 -0000 1.11
@@ -1 +1 @@
-fb7c984c924087888b9eaaad8cb1875e desmume-0.9.8.tar.gz
+458b5f8b3dbb38a47e6d0518f97aa82a desmume-0.9.9.tar.gz
11 years, 6 months
rpms/desmume/devel .cvsignore, 1.10, 1.11 desmume.spec, 1.20, 1.21 sources, 1.10, 1.11
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/desmume/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv16792
Modified Files:
.cvsignore desmume.spec sources
Log Message:
* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
- Updated to upstream version 0.9.9
- Dropped obsolete Group, Buildroot, %clean and %defattr
- Dropped desktop vendor tag for F19+
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/desmume/devel/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore 27 Apr 2012 13:11:54 -0000 1.10
+++ .cvsignore 4 May 2013 16:34:56 -0000 1.11
@@ -1 +1 @@
-desmume-0.9.8.tar.gz
+desmume-0.9.9.tar.gz
Index: desmume.spec
===================================================================
RCS file: /cvs/free/rpms/desmume/devel/desmume.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- desmume.spec 3 Mar 2013 21:35:51 -0000 1.20
+++ desmume.spec 4 May 2013 16:34:56 -0000 1.21
@@ -1,15 +1,17 @@
+%if (0%{?fedora} && 0%{?fedora}) < 19
+%global with_desktop_vendor_tag 1
+%endif
+
Name: desmume
-Version: 0.9.8
-Release: 2%{?dist}
+Version: 0.9.9
+Release: 1%{?dist}
Summary: A Nintendo DS emulator
-Group: Applications/Emulators
License: GPLv2+
URL: http://desmume.org/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# Do not look into builddir
Patch0: %{name}-0.9-dontlookinbuilddir.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtkglext-devel
BuildRequires: libglade2-devel
@@ -77,7 +79,9 @@
%build
-%configure --enable-openal
+%configure \
+ --enable-openal \
+ --enable-glade
make %{?_smp_mflags}
@@ -97,7 +101,9 @@
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -106,7 +112,9 @@
desktop-file-install \
--delete-original \
+%if %{with_desktop_vendor_tag}
--vendor dribble \
+%endif
--remove-key Version \
--remove-category GNOME \
--remove-category GTK \
@@ -116,10 +124,6 @@
%find_lang %{name}-glade
-%clean
-rm -rf %{buildroot}
-
-
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -151,32 +155,42 @@
%files
-%defattr(-,root,root,-)
%{_bindir}/%{name}
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}.desktop
+%else
+%{_datadir}/applications/%{name}.desktop
+%endif
%{_mandir}/man1/%{name}.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files glade -f %{name}-glade.lang
-%defattr(-,root,root,-)
%{_bindir}/%{name}-glade
%{_datadir}/%{name}-glade
%{_datadir}/icons/hicolor/32x32/apps/DeSmuME-glade.xpm
+%if %{with_desktop_vendor_tag}
%{_datadir}/applications/dribble-%{name}-glade.desktop
+%else
+%{_datadir}/applications/%{name}-glade.desktop
+%endif
%{_mandir}/man1/%{name}-glade.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%files cli
-%defattr(-,root,root,-)
%{_bindir}/%{name}-cli
%{_mandir}/man1/%{name}-cli.1*
%doc AUTHORS ChangeLog COPYING README README.LIN
%changelog
+* Wed May 01 2013 Andrea Musuruane <musuruan(a)gmail.com> - 0.9.9-1
+- Updated to upstream version 0.9.9
+- Dropped obsolete Group, Buildroot, %%clean and %%defattr
+- Dropped desktop vendor tag for F19+
+
* Sun Mar 03 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 0.9.8-2
- Mass rebuilt for Fedora 19 Features
Index: sources
===================================================================
RCS file: /cvs/free/rpms/desmume/devel/sources,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- sources 27 Apr 2012 13:11:54 -0000 1.10
+++ sources 4 May 2013 16:34:56 -0000 1.11
@@ -1 +1 @@
-fb7c984c924087888b9eaaad8cb1875e desmume-0.9.8.tar.gz
+458b5f8b3dbb38a47e6d0518f97aa82a desmume-0.9.9.tar.gz
11 years, 6 months
rpms/alsa-plugins-freeworld/devel alsa-plugins-1.0.26-recent-libavcodec-1.patch, NONE, 1.1 alsa-plugins-1.0.26-recent-libavcodec-2.patch, NONE, 1.1 alsa-plugins-freeworld.spec, 1.14, 1.15
by Daniel Ziemba
Author: zman0900
Update of /cvs/free/rpms/alsa-plugins-freeworld/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv4101
Modified Files:
alsa-plugins-freeworld.spec
Added Files:
alsa-plugins-1.0.26-recent-libavcodec-1.patch
alsa-plugins-1.0.26-recent-libavcodec-2.patch
Log Message:
* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
- Fix compatibility with libavcodec - rfbz#2648
alsa-plugins-1.0.26-recent-libavcodec-1.patch:
pcm_a52.c | 242 +++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 195 insertions(+), 47 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-1.patch ---
>From b8e71427704d22446f570e6f7c258c309b016799 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:15:44 +0100
Subject: [PATCH] a52: Add the support of recent libavcodec / libavutil
The recent avcodec requires the planar support, which is essentially
non-interleaved formats. We need to limit the accepted access types
depending on it.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 195 insertions(+), 46 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 00c7c59..1acf446 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -27,12 +27,44 @@
#include <alsa/pcm_plugin.h>
#include AVCODEC_HEADER
+#if LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MINOR >= 34
+#include <libavutil/audioconvert.h>
+#include <libavutil/mem.h>
+#define USE_AVCODEC_FRAME
+#endif
+
+/* some compatibility wrappers */
+#ifndef AV_VERSION_INT
+#define AV_VERSION_INT(a, b, c) (((a) << 16) | ((b) << 8) | (c))
+#endif
+#ifndef LIBAVCODEC_VERSION_INT
+#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
+ LIBAVCODEC_VERSION_MINOR, \
+ LIBAVCODEC_VERSION_MICRO)
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 0, 0)
+#ifndef AV_CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_STEREO CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_QUAD CH_LAYOUT_QUAD
+#define AV_CH_LAYOUT_5POINT1 CH_LAYOUT_5POINT1
+#endif
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 95, 0)
+#ifndef AV_SAMPLE_FMT_S16
+#define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
+#endif
+#endif
+
+
struct a52_ctx {
snd_pcm_ioplug_t io;
snd_pcm_t *slave;
AVCodec *codec;
AVCodecContext *avctx;
snd_pcm_format_t format;
+ int av_format;
unsigned int channels;
unsigned int rate;
unsigned int bitrate;
@@ -45,16 +77,44 @@ struct a52_ctx {
unsigned int slave_period_size;
unsigned int slave_buffer_size;
snd_pcm_hw_params_t *hw_params;
+#ifdef USE_AVCODEC_FRAME
+ AVFrame *frame;
+ int is_planar;
+#endif
};
+#ifdef USE_AVCODEC_FRAME
+#define use_planar(rec) (rec)->is_planar
+#else
+#define use_planar(rec) 0
+#endif
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 34, 0)
+static int do_encode(struct a52_ctx *rec)
+{
+ AVPacket pkt = {
+ .data = rec->outbuf + 8,
+ .size = rec->outbuf_size - 8
+ };
+ int got_frame;
+
+ avcodec_encode_audio2(rec->avctx, &pkt, rec->frame, &got_frame);
+ return pkt.size;
+}
+#else
+static int do_encode(struct a52_ctx *rec)
+{
+ return avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
+ rec->outbuf_size - 8,
+ rec->inbuf);
+}
+#endif
+
/* convert the PCM data to A52 stream in IEC958 */
static void convert_data(struct a52_ctx *rec)
{
- int out_bytes;
+ int out_bytes = do_encode(rec);
- out_bytes = avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
- rec->outbuf_size - 8,
- rec->inbuf);
rec->outbuf[0] = 0xf8; /* sync words */
rec->outbuf[1] = 0x72;
rec->outbuf[2] = 0x4e;
@@ -100,6 +160,20 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
/*
* drain callback
*/
+#ifdef USE_AVCODEC_FRAME
+static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+ int i;
+
+ for (i = 0; i < io->channels; i++)
+ memset(rec->frame->data[i] + rec->filled * 2, 0,
+ (rec->avctx->frame_size - rec->filled) * 2);
+}
+#else
+#define clear_remaining_planar_data(io) /*NOP*/
+#endif
+
static int a52_drain(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
@@ -109,8 +183,12 @@ static int a52_drain(snd_pcm_ioplug_t *io)
if ((err = write_out_pending(io, rec)) < 0)
return err;
/* remaining data must be converted and sent out */
- memset(rec->inbuf + rec->filled * io->channels, 0,
- (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ if (use_planar(rec))
+ clear_remaining_planar_data(io);
+ else {
+ memset(rec->inbuf + rec->filled * io->channels, 0,
+ (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ }
convert_data(rec);
}
err = write_out_pending(io, rec);
@@ -153,6 +231,17 @@ static int fill_data(snd_pcm_ioplug_t *io,
short *src, *dst;
unsigned int src_step;
int err;
+ static unsigned int ch_index[3][6] = {
+ { 0, 1 },
+ { 0, 1, 2, 3 },
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 26, 0)
+ /* current libavcodec expects SMPTE order */
+ { 0, 1, 4, 5, 2, 3 },
+#else
+ /* libavcodec older than r18540 expects A52 order */
+ { 0, 4, 1, 2, 3, 5 },
+#endif
+ };
if ((err = write_out_pending(io, rec)) < 0)
return err;
@@ -161,31 +250,28 @@ static int fill_data(snd_pcm_ioplug_t *io,
size = len;
dst = rec->inbuf + rec->filled * io->channels;
- if (interleaved) {
+ if (!use_planar(rec) && interleaved) {
memcpy(dst, areas->addr + offset * io->channels * 2,
size * io->channels * 2);
} else {
unsigned int i, ch, dst_step;
short *dst1;
- static unsigned int ch_index[3][6] = {
- { 0, 1 },
- { 0, 1, 2, 3 },
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 26)
- /* current libavcodec expects SMPTE order */
- { 0, 1, 4, 5, 2, 3 },
-#else
- /* libavcodec older than r18540 expects A52 order */
- { 0, 4, 1, 2, 3, 5 },
-#endif
- };
+
/* flatten copy to n-channel interleaved */
dst_step = io->channels;
for (ch = 0; ch < io->channels; ch++, dst++) {
const snd_pcm_channel_area_t *ap;
ap = &areas[ch_index[io->channels / 2 - 1][ch]];
- dst1 = dst;
src = (short *)(ap->addr +
(ap->first + offset * ap->step) / 8);
+
+#ifdef USE_AVCODEC_FRAME
+ if (use_planar(rec)) {
+ memcpy(rec->frame->data[i], src, size * 2);
+ continue;
+ }
+#endif
+ dst1 = dst;
src_step = ap->step / 16; /* in word */
for (i = 0; i < size; i++) {
*dst1 = *src;
@@ -412,6 +498,19 @@ static void a52_free(struct a52_ctx *rec)
av_free(rec->avctx);
rec->avctx = NULL;
}
+
+#ifdef USE_AVCODEC_FRAME
+ if (rec->frame) {
+ av_freep(&rec->frame->data[0]);
+ rec->inbuf = NULL;
+ }
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&rec->frame);
+#else
+ av_freep(&rec->frame);
+#endif
+#endif
+
free(rec->inbuf);
rec->inbuf = NULL;
free(rec->outbuf);
@@ -423,51 +522,80 @@ static void a52_free(struct a52_ctx *rec)
*
* Allocate internal buffers and set up libavcodec
*/
-static int a52_prepare(snd_pcm_ioplug_t *io)
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 3, 0)
+static void set_channel_layout(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
- a52_free(rec);
-
- rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
- return -ENOMEM;
-
- rec->avctx->bit_rate = rec->bitrate * 1000;
- rec->avctx->sample_rate = io->rate;
- rec->avctx->channels = io->channels;
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 95)
- rec->avctx->sample_fmt = AV_SAMPLE_FMT_S16;
-#else
- rec->avctx->sample_fmt = SAMPLE_FMT_S16;
-#endif
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 3)
switch (io->channels) {
case 2:
- rec->avctx->channel_layout = CH_LAYOUT_STEREO;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
break;
case 4:
- rec->avctx->channel_layout = CH_LAYOUT_QUAD;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_QUAD;
break;
case 6:
- rec->avctx->channel_layout = CH_LAYOUT_5POINT1;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_5POINT1;
break;
default:
break;
}
+}
+#else
+#define set_channel_layout(io) /* NOP */
#endif
- if (avcodec_open(rec->avctx, rec->codec) < 0)
- return -EINVAL;
+static int alloc_input_buffer(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+#ifdef USE_AVCODEC_FRAME
+ rec->frame = avcodec_alloc_frame();
+ if (!rec->frame)
+ return -ENOMEM;
+ err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 32);
+ if (err < 0)
+ return -ENOMEM;
+ rec->frame->nb_samples = rec->avctx->frame_size;
+ rec->inbuf = (short *)rec->frame->data[0];
+#else
rec->inbuf = malloc(rec->avctx->frame_size * 2 * io->channels);
- if (! rec->inbuf)
+#endif
+ if (!rec->inbuf)
return -ENOMEM;
+ return 0;
+}
+
+static int a52_prepare(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+
+ a52_free(rec);
+
+ rec->avctx = avcodec_alloc_context();
+ if (! rec->avctx)
+ return -ENOMEM;
+
+ rec->avctx->bit_rate = rec->bitrate * 1000;
+ rec->avctx->sample_rate = io->rate;
+ rec->avctx->channels = io->channels;
+ rec->avctx->sample_fmt = rec->av_format;
+
+ set_channel_layout(io);
+
+ if (avcodec_open(rec->avctx, rec->codec) < 0)
+ return -EINVAL;
+
rec->outbuf_size = rec->avctx->frame_size * 4;
rec->outbuf = malloc(rec->outbuf_size);
if (! rec->outbuf)
return -ENOMEM;
+ if (alloc_input_buffer(io))
+ return -ENOMEM;
+
rec->transfer = 0;
rec->remain = 0;
rec->filled = 0;
@@ -544,20 +672,35 @@ static snd_pcm_ioplug_callback_t a52_ops = {
static int a52_set_hw_constraint(struct a52_ctx *rec)
{
- unsigned int accesses[] = {
+ static unsigned int accesses[] = {
SND_PCM_ACCESS_MMAP_INTERLEAVED,
SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
SND_PCM_ACCESS_RW_INTERLEAVED,
SND_PCM_ACCESS_RW_NONINTERLEAVED
};
+ static unsigned int accesses_planar[] = {
+ SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
+ SND_PCM_ACCESS_RW_NONINTERLEAVED
+ };
unsigned int formats[] = { SND_PCM_FORMAT_S16 };
int err;
snd_pcm_uframes_t buffer_max;
unsigned int period_bytes, max_periods;
- if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_ACCESS,
- ARRAY_SIZE(accesses), accesses)) < 0 ||
- (err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
+ if (use_planar(rec))
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses_planar),
+ accesses_planar);
+ else
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses),
+ accesses);
+ if (err < 0)
+ return err;
+
+ if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
ARRAY_SIZE(formats), formats)) < 0 ||
(err = snd_pcm_ioplug_set_param_minmax(&rec->io, SND_PCM_IOPLUG_HW_CHANNELS,
rec->channels, rec->channels)) < 0 ||
@@ -744,6 +887,12 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->io.mmap_rw = 0;
rec->io.callback = &a52_ops;
rec->io.private_data = rec;
+#ifdef USE_AVCODEC_FRAME
+ rec->av_format = rec->codec->sample_fmts[0];
+ rec->is_planar = av_sample_fmt_is_planar(rec->av_format);
+#else
+ rec->av_format = AV_SAMPLE_FMT_S16;
+#endif
err = snd_pcm_ioplug_create(&rec->io, name, stream, mode);
if (err < 0)
--
1.7.11.4
alsa-plugins-1.0.26-recent-libavcodec-2.patch:
pcm_a52.c | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-2.patch ---
>From f8c1a88b57ac06fe32325d3dbb81c8468c2940b9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:45:31 +0100
Subject: [PATCH] a52: Fix build errors
I merged somehow a half-baked patch mistakenly. Fixed now.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 1acf446..c40aadc 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -164,7 +164,7 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
- int i;
+ unsigned int i;
for (i = 0; i < io->channels; i++)
memset(rec->frame->data[i] + rec->filled * 2, 0,
@@ -267,7 +267,7 @@ static int fill_data(snd_pcm_ioplug_t *io,
#ifdef USE_AVCODEC_FRAME
if (use_planar(rec)) {
- memcpy(rec->frame->data[i], src, size * 2);
+ memcpy(rec->frame->data[ch], src, size * 2);
continue;
}
#endif
@@ -548,15 +548,13 @@ static void set_channel_layout(snd_pcm_ioplug_t *io)
static int alloc_input_buffer(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
#ifdef USE_AVCODEC_FRAME
rec->frame = avcodec_alloc_frame();
if (!rec->frame)
return -ENOMEM;
- err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
- io->channels, rec->avctx->frame_size,
- rec->avctx->sample_fmt, 32);
- if (err < 0)
+ if (av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 0) < 0)
return -ENOMEM;
rec->frame->nb_samples = rec->avctx->frame_size;
rec->inbuf = (short *)rec->frame->data[0];
@@ -571,11 +569,16 @@ static int alloc_input_buffer(snd_pcm_ioplug_t *io)
static int a52_prepare(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
+ int err;
a52_free(rec);
+#ifdef USE_AVCODEC_FRAME
+ rec->avctx = avcodec_alloc_context3(rec->codec);
+#else
rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
+#endif
+ if (!rec->avctx)
return -ENOMEM;
rec->avctx->bit_rate = rec->bitrate * 1000;
@@ -585,7 +588,13 @@ static int a52_prepare(snd_pcm_ioplug_t *io)
set_channel_layout(io);
- if (avcodec_open(rec->avctx, rec->codec) < 0)
+
+#ifdef USE_AVCODEC_FRAME
+ err = avcodec_open2(rec->avctx, rec->codec, NULL);
+#else
+ err = avcodec_open(rec->avctx, rec->codec);
+#endif
+ if (err < 0)
return -EINVAL;
rec->outbuf_size = rec->avctx->frame_size * 4;
@@ -845,7 +854,9 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->channels = channels;
rec->format = format;
+#ifndef USE_AVCODEC_FRAME
avcodec_init();
+#endif
avcodec_register_all();
rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
--
1.7.11.4
Index: alsa-plugins-freeworld.spec
===================================================================
RCS file: /cvs/free/rpms/alsa-plugins-freeworld/devel/alsa-plugins-freeworld.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- alsa-plugins-freeworld.spec 24 Nov 2012 14:54:05 -0000 1.14
+++ alsa-plugins-freeworld.spec 3 May 2013 20:57:19 -0000 1.15
@@ -1,6 +1,6 @@
Name: alsa-plugins-freeworld
Version: 1.0.26
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: The ALSA Plugins - freeworld version
# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+
License: LGPLv2+
@@ -9,7 +9,8 @@
Source0: ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{version}.tar.bz2
Source1: a52.conf
Source2: lavcrate.conf
-Patch1: alsa-plugins-1.0.25-ffmpeg54.patch
+Patch1: alsa-plugins-1.0.26-recent-libavcodec-1.patch
+Patch2: alsa-plugins-1.0.26-recent-libavcodec-2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: alsa-lib-devel >= 1.0.24
@@ -47,9 +48,8 @@
%prep
%setup -q -n alsa-plugins-%{version}%{?prever}
-%if 0%{?fedora} > 17
-%patch1 -p1 -b .ffmpeg54
-%endif
+%patch1 -p1 -b .patch1
+%patch2 -p1 -b .patch2
%build
@@ -110,6 +110,9 @@
%changelog
+* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
+- Fix compatibility with libavcodec - rfbz#2648
+
* Sat Nov 24 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 1.0.26-2
- Rebuilt for FFmpeg 1.0
11 years, 6 months
rpms/alsa-plugins-freeworld/F-19 alsa-plugins-1.0.26-recent-libavcodec-1.patch, NONE, 1.1 alsa-plugins-1.0.26-recent-libavcodec-2.patch, NONE, 1.1 alsa-plugins-freeworld.spec, 1.14, 1.15
by Daniel Ziemba
Author: zman0900
Update of /cvs/free/rpms/alsa-plugins-freeworld/F-19
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv4056
Modified Files:
alsa-plugins-freeworld.spec
Added Files:
alsa-plugins-1.0.26-recent-libavcodec-1.patch
alsa-plugins-1.0.26-recent-libavcodec-2.patch
Log Message:
* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
- Fix compatibility with libavcodec - rfbz#2648
alsa-plugins-1.0.26-recent-libavcodec-1.patch:
pcm_a52.c | 242 +++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 195 insertions(+), 47 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-1.patch ---
>From b8e71427704d22446f570e6f7c258c309b016799 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:15:44 +0100
Subject: [PATCH] a52: Add the support of recent libavcodec / libavutil
The recent avcodec requires the planar support, which is essentially
non-interleaved formats. We need to limit the accepted access types
depending on it.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 195 insertions(+), 46 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 00c7c59..1acf446 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -27,12 +27,44 @@
#include <alsa/pcm_plugin.h>
#include AVCODEC_HEADER
+#if LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MINOR >= 34
+#include <libavutil/audioconvert.h>
+#include <libavutil/mem.h>
+#define USE_AVCODEC_FRAME
+#endif
+
+/* some compatibility wrappers */
+#ifndef AV_VERSION_INT
+#define AV_VERSION_INT(a, b, c) (((a) << 16) | ((b) << 8) | (c))
+#endif
+#ifndef LIBAVCODEC_VERSION_INT
+#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
+ LIBAVCODEC_VERSION_MINOR, \
+ LIBAVCODEC_VERSION_MICRO)
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 0, 0)
+#ifndef AV_CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_STEREO CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_QUAD CH_LAYOUT_QUAD
+#define AV_CH_LAYOUT_5POINT1 CH_LAYOUT_5POINT1
+#endif
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 95, 0)
+#ifndef AV_SAMPLE_FMT_S16
+#define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
+#endif
+#endif
+
+
struct a52_ctx {
snd_pcm_ioplug_t io;
snd_pcm_t *slave;
AVCodec *codec;
AVCodecContext *avctx;
snd_pcm_format_t format;
+ int av_format;
unsigned int channels;
unsigned int rate;
unsigned int bitrate;
@@ -45,16 +77,44 @@ struct a52_ctx {
unsigned int slave_period_size;
unsigned int slave_buffer_size;
snd_pcm_hw_params_t *hw_params;
+#ifdef USE_AVCODEC_FRAME
+ AVFrame *frame;
+ int is_planar;
+#endif
};
+#ifdef USE_AVCODEC_FRAME
+#define use_planar(rec) (rec)->is_planar
+#else
+#define use_planar(rec) 0
+#endif
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 34, 0)
+static int do_encode(struct a52_ctx *rec)
+{
+ AVPacket pkt = {
+ .data = rec->outbuf + 8,
+ .size = rec->outbuf_size - 8
+ };
+ int got_frame;
+
+ avcodec_encode_audio2(rec->avctx, &pkt, rec->frame, &got_frame);
+ return pkt.size;
+}
+#else
+static int do_encode(struct a52_ctx *rec)
+{
+ return avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
+ rec->outbuf_size - 8,
+ rec->inbuf);
+}
+#endif
+
/* convert the PCM data to A52 stream in IEC958 */
static void convert_data(struct a52_ctx *rec)
{
- int out_bytes;
+ int out_bytes = do_encode(rec);
- out_bytes = avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
- rec->outbuf_size - 8,
- rec->inbuf);
rec->outbuf[0] = 0xf8; /* sync words */
rec->outbuf[1] = 0x72;
rec->outbuf[2] = 0x4e;
@@ -100,6 +160,20 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
/*
* drain callback
*/
+#ifdef USE_AVCODEC_FRAME
+static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+ int i;
+
+ for (i = 0; i < io->channels; i++)
+ memset(rec->frame->data[i] + rec->filled * 2, 0,
+ (rec->avctx->frame_size - rec->filled) * 2);
+}
+#else
+#define clear_remaining_planar_data(io) /*NOP*/
+#endif
+
static int a52_drain(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
@@ -109,8 +183,12 @@ static int a52_drain(snd_pcm_ioplug_t *io)
if ((err = write_out_pending(io, rec)) < 0)
return err;
/* remaining data must be converted and sent out */
- memset(rec->inbuf + rec->filled * io->channels, 0,
- (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ if (use_planar(rec))
+ clear_remaining_planar_data(io);
+ else {
+ memset(rec->inbuf + rec->filled * io->channels, 0,
+ (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ }
convert_data(rec);
}
err = write_out_pending(io, rec);
@@ -153,6 +231,17 @@ static int fill_data(snd_pcm_ioplug_t *io,
short *src, *dst;
unsigned int src_step;
int err;
+ static unsigned int ch_index[3][6] = {
+ { 0, 1 },
+ { 0, 1, 2, 3 },
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 26, 0)
+ /* current libavcodec expects SMPTE order */
+ { 0, 1, 4, 5, 2, 3 },
+#else
+ /* libavcodec older than r18540 expects A52 order */
+ { 0, 4, 1, 2, 3, 5 },
+#endif
+ };
if ((err = write_out_pending(io, rec)) < 0)
return err;
@@ -161,31 +250,28 @@ static int fill_data(snd_pcm_ioplug_t *io,
size = len;
dst = rec->inbuf + rec->filled * io->channels;
- if (interleaved) {
+ if (!use_planar(rec) && interleaved) {
memcpy(dst, areas->addr + offset * io->channels * 2,
size * io->channels * 2);
} else {
unsigned int i, ch, dst_step;
short *dst1;
- static unsigned int ch_index[3][6] = {
- { 0, 1 },
- { 0, 1, 2, 3 },
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 26)
- /* current libavcodec expects SMPTE order */
- { 0, 1, 4, 5, 2, 3 },
-#else
- /* libavcodec older than r18540 expects A52 order */
- { 0, 4, 1, 2, 3, 5 },
-#endif
- };
+
/* flatten copy to n-channel interleaved */
dst_step = io->channels;
for (ch = 0; ch < io->channels; ch++, dst++) {
const snd_pcm_channel_area_t *ap;
ap = &areas[ch_index[io->channels / 2 - 1][ch]];
- dst1 = dst;
src = (short *)(ap->addr +
(ap->first + offset * ap->step) / 8);
+
+#ifdef USE_AVCODEC_FRAME
+ if (use_planar(rec)) {
+ memcpy(rec->frame->data[i], src, size * 2);
+ continue;
+ }
+#endif
+ dst1 = dst;
src_step = ap->step / 16; /* in word */
for (i = 0; i < size; i++) {
*dst1 = *src;
@@ -412,6 +498,19 @@ static void a52_free(struct a52_ctx *rec)
av_free(rec->avctx);
rec->avctx = NULL;
}
+
+#ifdef USE_AVCODEC_FRAME
+ if (rec->frame) {
+ av_freep(&rec->frame->data[0]);
+ rec->inbuf = NULL;
+ }
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&rec->frame);
+#else
+ av_freep(&rec->frame);
+#endif
+#endif
+
free(rec->inbuf);
rec->inbuf = NULL;
free(rec->outbuf);
@@ -423,51 +522,80 @@ static void a52_free(struct a52_ctx *rec)
*
* Allocate internal buffers and set up libavcodec
*/
-static int a52_prepare(snd_pcm_ioplug_t *io)
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 3, 0)
+static void set_channel_layout(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
- a52_free(rec);
-
- rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
- return -ENOMEM;
-
- rec->avctx->bit_rate = rec->bitrate * 1000;
- rec->avctx->sample_rate = io->rate;
- rec->avctx->channels = io->channels;
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 95)
- rec->avctx->sample_fmt = AV_SAMPLE_FMT_S16;
-#else
- rec->avctx->sample_fmt = SAMPLE_FMT_S16;
-#endif
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 3)
switch (io->channels) {
case 2:
- rec->avctx->channel_layout = CH_LAYOUT_STEREO;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
break;
case 4:
- rec->avctx->channel_layout = CH_LAYOUT_QUAD;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_QUAD;
break;
case 6:
- rec->avctx->channel_layout = CH_LAYOUT_5POINT1;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_5POINT1;
break;
default:
break;
}
+}
+#else
+#define set_channel_layout(io) /* NOP */
#endif
- if (avcodec_open(rec->avctx, rec->codec) < 0)
- return -EINVAL;
+static int alloc_input_buffer(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+#ifdef USE_AVCODEC_FRAME
+ rec->frame = avcodec_alloc_frame();
+ if (!rec->frame)
+ return -ENOMEM;
+ err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 32);
+ if (err < 0)
+ return -ENOMEM;
+ rec->frame->nb_samples = rec->avctx->frame_size;
+ rec->inbuf = (short *)rec->frame->data[0];
+#else
rec->inbuf = malloc(rec->avctx->frame_size * 2 * io->channels);
- if (! rec->inbuf)
+#endif
+ if (!rec->inbuf)
return -ENOMEM;
+ return 0;
+}
+
+static int a52_prepare(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+
+ a52_free(rec);
+
+ rec->avctx = avcodec_alloc_context();
+ if (! rec->avctx)
+ return -ENOMEM;
+
+ rec->avctx->bit_rate = rec->bitrate * 1000;
+ rec->avctx->sample_rate = io->rate;
+ rec->avctx->channels = io->channels;
+ rec->avctx->sample_fmt = rec->av_format;
+
+ set_channel_layout(io);
+
+ if (avcodec_open(rec->avctx, rec->codec) < 0)
+ return -EINVAL;
+
rec->outbuf_size = rec->avctx->frame_size * 4;
rec->outbuf = malloc(rec->outbuf_size);
if (! rec->outbuf)
return -ENOMEM;
+ if (alloc_input_buffer(io))
+ return -ENOMEM;
+
rec->transfer = 0;
rec->remain = 0;
rec->filled = 0;
@@ -544,20 +672,35 @@ static snd_pcm_ioplug_callback_t a52_ops = {
static int a52_set_hw_constraint(struct a52_ctx *rec)
{
- unsigned int accesses[] = {
+ static unsigned int accesses[] = {
SND_PCM_ACCESS_MMAP_INTERLEAVED,
SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
SND_PCM_ACCESS_RW_INTERLEAVED,
SND_PCM_ACCESS_RW_NONINTERLEAVED
};
+ static unsigned int accesses_planar[] = {
+ SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
+ SND_PCM_ACCESS_RW_NONINTERLEAVED
+ };
unsigned int formats[] = { SND_PCM_FORMAT_S16 };
int err;
snd_pcm_uframes_t buffer_max;
unsigned int period_bytes, max_periods;
- if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_ACCESS,
- ARRAY_SIZE(accesses), accesses)) < 0 ||
- (err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
+ if (use_planar(rec))
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses_planar),
+ accesses_planar);
+ else
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses),
+ accesses);
+ if (err < 0)
+ return err;
+
+ if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
ARRAY_SIZE(formats), formats)) < 0 ||
(err = snd_pcm_ioplug_set_param_minmax(&rec->io, SND_PCM_IOPLUG_HW_CHANNELS,
rec->channels, rec->channels)) < 0 ||
@@ -744,6 +887,12 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->io.mmap_rw = 0;
rec->io.callback = &a52_ops;
rec->io.private_data = rec;
+#ifdef USE_AVCODEC_FRAME
+ rec->av_format = rec->codec->sample_fmts[0];
+ rec->is_planar = av_sample_fmt_is_planar(rec->av_format);
+#else
+ rec->av_format = AV_SAMPLE_FMT_S16;
+#endif
err = snd_pcm_ioplug_create(&rec->io, name, stream, mode);
if (err < 0)
--
1.7.11.4
alsa-plugins-1.0.26-recent-libavcodec-2.patch:
pcm_a52.c | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-2.patch ---
>From f8c1a88b57ac06fe32325d3dbb81c8468c2940b9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:45:31 +0100
Subject: [PATCH] a52: Fix build errors
I merged somehow a half-baked patch mistakenly. Fixed now.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 1acf446..c40aadc 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -164,7 +164,7 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
- int i;
+ unsigned int i;
for (i = 0; i < io->channels; i++)
memset(rec->frame->data[i] + rec->filled * 2, 0,
@@ -267,7 +267,7 @@ static int fill_data(snd_pcm_ioplug_t *io,
#ifdef USE_AVCODEC_FRAME
if (use_planar(rec)) {
- memcpy(rec->frame->data[i], src, size * 2);
+ memcpy(rec->frame->data[ch], src, size * 2);
continue;
}
#endif
@@ -548,15 +548,13 @@ static void set_channel_layout(snd_pcm_ioplug_t *io)
static int alloc_input_buffer(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
#ifdef USE_AVCODEC_FRAME
rec->frame = avcodec_alloc_frame();
if (!rec->frame)
return -ENOMEM;
- err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
- io->channels, rec->avctx->frame_size,
- rec->avctx->sample_fmt, 32);
- if (err < 0)
+ if (av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 0) < 0)
return -ENOMEM;
rec->frame->nb_samples = rec->avctx->frame_size;
rec->inbuf = (short *)rec->frame->data[0];
@@ -571,11 +569,16 @@ static int alloc_input_buffer(snd_pcm_ioplug_t *io)
static int a52_prepare(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
+ int err;
a52_free(rec);
+#ifdef USE_AVCODEC_FRAME
+ rec->avctx = avcodec_alloc_context3(rec->codec);
+#else
rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
+#endif
+ if (!rec->avctx)
return -ENOMEM;
rec->avctx->bit_rate = rec->bitrate * 1000;
@@ -585,7 +588,13 @@ static int a52_prepare(snd_pcm_ioplug_t *io)
set_channel_layout(io);
- if (avcodec_open(rec->avctx, rec->codec) < 0)
+
+#ifdef USE_AVCODEC_FRAME
+ err = avcodec_open2(rec->avctx, rec->codec, NULL);
+#else
+ err = avcodec_open(rec->avctx, rec->codec);
+#endif
+ if (err < 0)
return -EINVAL;
rec->outbuf_size = rec->avctx->frame_size * 4;
@@ -845,7 +854,9 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->channels = channels;
rec->format = format;
+#ifndef USE_AVCODEC_FRAME
avcodec_init();
+#endif
avcodec_register_all();
rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
--
1.7.11.4
Index: alsa-plugins-freeworld.spec
===================================================================
RCS file: /cvs/free/rpms/alsa-plugins-freeworld/F-19/alsa-plugins-freeworld.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- alsa-plugins-freeworld.spec 24 Nov 2012 14:54:05 -0000 1.14
+++ alsa-plugins-freeworld.spec 3 May 2013 20:57:01 -0000 1.15
@@ -1,6 +1,6 @@
Name: alsa-plugins-freeworld
Version: 1.0.26
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: The ALSA Plugins - freeworld version
# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+
License: LGPLv2+
@@ -9,7 +9,8 @@
Source0: ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{version}.tar.bz2
Source1: a52.conf
Source2: lavcrate.conf
-Patch1: alsa-plugins-1.0.25-ffmpeg54.patch
+Patch1: alsa-plugins-1.0.26-recent-libavcodec-1.patch
+Patch2: alsa-plugins-1.0.26-recent-libavcodec-2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: alsa-lib-devel >= 1.0.24
@@ -47,9 +48,8 @@
%prep
%setup -q -n alsa-plugins-%{version}%{?prever}
-%if 0%{?fedora} > 17
-%patch1 -p1 -b .ffmpeg54
-%endif
+%patch1 -p1 -b .patch1
+%patch2 -p1 -b .patch2
%build
@@ -110,6 +110,9 @@
%changelog
+* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
+- Fix compatibility with libavcodec - rfbz#2648
+
* Sat Nov 24 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 1.0.26-2
- Rebuilt for FFmpeg 1.0
11 years, 6 months
rpms/alsa-plugins-freeworld/F-18 alsa-plugins-1.0.26-recent-libavcodec-1.patch, NONE, 1.1 alsa-plugins-1.0.26-recent-libavcodec-2.patch, NONE, 1.1 alsa-plugins-freeworld.spec, 1.13, 1.14
by Daniel Ziemba
Author: zman0900
Update of /cvs/free/rpms/alsa-plugins-freeworld/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv4002
Modified Files:
alsa-plugins-freeworld.spec
Added Files:
alsa-plugins-1.0.26-recent-libavcodec-1.patch
alsa-plugins-1.0.26-recent-libavcodec-2.patch
Log Message:
* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
- Fix compatibility with libavcodec - rfbz#2648
alsa-plugins-1.0.26-recent-libavcodec-1.patch:
pcm_a52.c | 242 +++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 195 insertions(+), 47 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-1.patch ---
>From b8e71427704d22446f570e6f7c258c309b016799 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:15:44 +0100
Subject: [PATCH] a52: Add the support of recent libavcodec / libavutil
The recent avcodec requires the planar support, which is essentially
non-interleaved formats. We need to limit the accepted access types
depending on it.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 195 insertions(+), 46 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 00c7c59..1acf446 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -27,12 +27,44 @@
#include <alsa/pcm_plugin.h>
#include AVCODEC_HEADER
+#if LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MINOR >= 34
+#include <libavutil/audioconvert.h>
+#include <libavutil/mem.h>
+#define USE_AVCODEC_FRAME
+#endif
+
+/* some compatibility wrappers */
+#ifndef AV_VERSION_INT
+#define AV_VERSION_INT(a, b, c) (((a) << 16) | ((b) << 8) | (c))
+#endif
+#ifndef LIBAVCODEC_VERSION_INT
+#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
+ LIBAVCODEC_VERSION_MINOR, \
+ LIBAVCODEC_VERSION_MICRO)
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 0, 0)
+#ifndef AV_CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_STEREO CH_LAYOUT_STEREO
+#define AV_CH_LAYOUT_QUAD CH_LAYOUT_QUAD
+#define AV_CH_LAYOUT_5POINT1 CH_LAYOUT_5POINT1
+#endif
+#endif
+
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 95, 0)
+#ifndef AV_SAMPLE_FMT_S16
+#define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
+#endif
+#endif
+
+
struct a52_ctx {
snd_pcm_ioplug_t io;
snd_pcm_t *slave;
AVCodec *codec;
AVCodecContext *avctx;
snd_pcm_format_t format;
+ int av_format;
unsigned int channels;
unsigned int rate;
unsigned int bitrate;
@@ -45,16 +77,44 @@ struct a52_ctx {
unsigned int slave_period_size;
unsigned int slave_buffer_size;
snd_pcm_hw_params_t *hw_params;
+#ifdef USE_AVCODEC_FRAME
+ AVFrame *frame;
+ int is_planar;
+#endif
};
+#ifdef USE_AVCODEC_FRAME
+#define use_planar(rec) (rec)->is_planar
+#else
+#define use_planar(rec) 0
+#endif
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 34, 0)
+static int do_encode(struct a52_ctx *rec)
+{
+ AVPacket pkt = {
+ .data = rec->outbuf + 8,
+ .size = rec->outbuf_size - 8
+ };
+ int got_frame;
+
+ avcodec_encode_audio2(rec->avctx, &pkt, rec->frame, &got_frame);
+ return pkt.size;
+}
+#else
+static int do_encode(struct a52_ctx *rec)
+{
+ return avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
+ rec->outbuf_size - 8,
+ rec->inbuf);
+}
+#endif
+
/* convert the PCM data to A52 stream in IEC958 */
static void convert_data(struct a52_ctx *rec)
{
- int out_bytes;
+ int out_bytes = do_encode(rec);
- out_bytes = avcodec_encode_audio(rec->avctx, rec->outbuf + 8,
- rec->outbuf_size - 8,
- rec->inbuf);
rec->outbuf[0] = 0xf8; /* sync words */
rec->outbuf[1] = 0x72;
rec->outbuf[2] = 0x4e;
@@ -100,6 +160,20 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
/*
* drain callback
*/
+#ifdef USE_AVCODEC_FRAME
+static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+ int i;
+
+ for (i = 0; i < io->channels; i++)
+ memset(rec->frame->data[i] + rec->filled * 2, 0,
+ (rec->avctx->frame_size - rec->filled) * 2);
+}
+#else
+#define clear_remaining_planar_data(io) /*NOP*/
+#endif
+
static int a52_drain(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
@@ -109,8 +183,12 @@ static int a52_drain(snd_pcm_ioplug_t *io)
if ((err = write_out_pending(io, rec)) < 0)
return err;
/* remaining data must be converted and sent out */
- memset(rec->inbuf + rec->filled * io->channels, 0,
- (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ if (use_planar(rec))
+ clear_remaining_planar_data(io);
+ else {
+ memset(rec->inbuf + rec->filled * io->channels, 0,
+ (rec->avctx->frame_size - rec->filled) * io->channels * 2);
+ }
convert_data(rec);
}
err = write_out_pending(io, rec);
@@ -153,6 +231,17 @@ static int fill_data(snd_pcm_ioplug_t *io,
short *src, *dst;
unsigned int src_step;
int err;
+ static unsigned int ch_index[3][6] = {
+ { 0, 1 },
+ { 0, 1, 2, 3 },
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 26, 0)
+ /* current libavcodec expects SMPTE order */
+ { 0, 1, 4, 5, 2, 3 },
+#else
+ /* libavcodec older than r18540 expects A52 order */
+ { 0, 4, 1, 2, 3, 5 },
+#endif
+ };
if ((err = write_out_pending(io, rec)) < 0)
return err;
@@ -161,31 +250,28 @@ static int fill_data(snd_pcm_ioplug_t *io,
size = len;
dst = rec->inbuf + rec->filled * io->channels;
- if (interleaved) {
+ if (!use_planar(rec) && interleaved) {
memcpy(dst, areas->addr + offset * io->channels * 2,
size * io->channels * 2);
} else {
unsigned int i, ch, dst_step;
short *dst1;
- static unsigned int ch_index[3][6] = {
- { 0, 1 },
- { 0, 1, 2, 3 },
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 26)
- /* current libavcodec expects SMPTE order */
- { 0, 1, 4, 5, 2, 3 },
-#else
- /* libavcodec older than r18540 expects A52 order */
- { 0, 4, 1, 2, 3, 5 },
-#endif
- };
+
/* flatten copy to n-channel interleaved */
dst_step = io->channels;
for (ch = 0; ch < io->channels; ch++, dst++) {
const snd_pcm_channel_area_t *ap;
ap = &areas[ch_index[io->channels / 2 - 1][ch]];
- dst1 = dst;
src = (short *)(ap->addr +
(ap->first + offset * ap->step) / 8);
+
+#ifdef USE_AVCODEC_FRAME
+ if (use_planar(rec)) {
+ memcpy(rec->frame->data[i], src, size * 2);
+ continue;
+ }
+#endif
+ dst1 = dst;
src_step = ap->step / 16; /* in word */
for (i = 0; i < size; i++) {
*dst1 = *src;
@@ -412,6 +498,19 @@ static void a52_free(struct a52_ctx *rec)
av_free(rec->avctx);
rec->avctx = NULL;
}
+
+#ifdef USE_AVCODEC_FRAME
+ if (rec->frame) {
+ av_freep(&rec->frame->data[0]);
+ rec->inbuf = NULL;
+ }
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&rec->frame);
+#else
+ av_freep(&rec->frame);
+#endif
+#endif
+
free(rec->inbuf);
rec->inbuf = NULL;
free(rec->outbuf);
@@ -423,51 +522,80 @@ static void a52_free(struct a52_ctx *rec)
*
* Allocate internal buffers and set up libavcodec
*/
-static int a52_prepare(snd_pcm_ioplug_t *io)
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 3, 0)
+static void set_channel_layout(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
- a52_free(rec);
-
- rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
- return -ENOMEM;
-
- rec->avctx->bit_rate = rec->bitrate * 1000;
- rec->avctx->sample_rate = io->rate;
- rec->avctx->channels = io->channels;
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 95)
- rec->avctx->sample_fmt = AV_SAMPLE_FMT_S16;
-#else
- rec->avctx->sample_fmt = SAMPLE_FMT_S16;
-#endif
-#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 3)
switch (io->channels) {
case 2:
- rec->avctx->channel_layout = CH_LAYOUT_STEREO;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
break;
case 4:
- rec->avctx->channel_layout = CH_LAYOUT_QUAD;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_QUAD;
break;
case 6:
- rec->avctx->channel_layout = CH_LAYOUT_5POINT1;
+ rec->avctx->channel_layout = AV_CH_LAYOUT_5POINT1;
break;
default:
break;
}
+}
+#else
+#define set_channel_layout(io) /* NOP */
#endif
- if (avcodec_open(rec->avctx, rec->codec) < 0)
- return -EINVAL;
+static int alloc_input_buffer(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+#ifdef USE_AVCODEC_FRAME
+ rec->frame = avcodec_alloc_frame();
+ if (!rec->frame)
+ return -ENOMEM;
+ err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 32);
+ if (err < 0)
+ return -ENOMEM;
+ rec->frame->nb_samples = rec->avctx->frame_size;
+ rec->inbuf = (short *)rec->frame->data[0];
+#else
rec->inbuf = malloc(rec->avctx->frame_size * 2 * io->channels);
- if (! rec->inbuf)
+#endif
+ if (!rec->inbuf)
return -ENOMEM;
+ return 0;
+}
+
+static int a52_prepare(snd_pcm_ioplug_t *io)
+{
+ struct a52_ctx *rec = io->private_data;
+
+ a52_free(rec);
+
+ rec->avctx = avcodec_alloc_context();
+ if (! rec->avctx)
+ return -ENOMEM;
+
+ rec->avctx->bit_rate = rec->bitrate * 1000;
+ rec->avctx->sample_rate = io->rate;
+ rec->avctx->channels = io->channels;
+ rec->avctx->sample_fmt = rec->av_format;
+
+ set_channel_layout(io);
+
+ if (avcodec_open(rec->avctx, rec->codec) < 0)
+ return -EINVAL;
+
rec->outbuf_size = rec->avctx->frame_size * 4;
rec->outbuf = malloc(rec->outbuf_size);
if (! rec->outbuf)
return -ENOMEM;
+ if (alloc_input_buffer(io))
+ return -ENOMEM;
+
rec->transfer = 0;
rec->remain = 0;
rec->filled = 0;
@@ -544,20 +672,35 @@ static snd_pcm_ioplug_callback_t a52_ops = {
static int a52_set_hw_constraint(struct a52_ctx *rec)
{
- unsigned int accesses[] = {
+ static unsigned int accesses[] = {
SND_PCM_ACCESS_MMAP_INTERLEAVED,
SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
SND_PCM_ACCESS_RW_INTERLEAVED,
SND_PCM_ACCESS_RW_NONINTERLEAVED
};
+ static unsigned int accesses_planar[] = {
+ SND_PCM_ACCESS_MMAP_NONINTERLEAVED,
+ SND_PCM_ACCESS_RW_NONINTERLEAVED
+ };
unsigned int formats[] = { SND_PCM_FORMAT_S16 };
int err;
snd_pcm_uframes_t buffer_max;
unsigned int period_bytes, max_periods;
- if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_ACCESS,
- ARRAY_SIZE(accesses), accesses)) < 0 ||
- (err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
+ if (use_planar(rec))
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses_planar),
+ accesses_planar);
+ else
+ err = snd_pcm_ioplug_set_param_list(&rec->io,
+ SND_PCM_IOPLUG_HW_ACCESS,
+ ARRAY_SIZE(accesses),
+ accesses);
+ if (err < 0)
+ return err;
+
+ if ((err = snd_pcm_ioplug_set_param_list(&rec->io, SND_PCM_IOPLUG_HW_FORMAT,
ARRAY_SIZE(formats), formats)) < 0 ||
(err = snd_pcm_ioplug_set_param_minmax(&rec->io, SND_PCM_IOPLUG_HW_CHANNELS,
rec->channels, rec->channels)) < 0 ||
@@ -744,6 +887,12 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->io.mmap_rw = 0;
rec->io.callback = &a52_ops;
rec->io.private_data = rec;
+#ifdef USE_AVCODEC_FRAME
+ rec->av_format = rec->codec->sample_fmts[0];
+ rec->is_planar = av_sample_fmt_is_planar(rec->av_format);
+#else
+ rec->av_format = AV_SAMPLE_FMT_S16;
+#endif
err = snd_pcm_ioplug_create(&rec->io, name, stream, mode);
if (err < 0)
--
1.7.11.4
alsa-plugins-1.0.26-recent-libavcodec-2.patch:
pcm_a52.c | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
--- NEW FILE alsa-plugins-1.0.26-recent-libavcodec-2.patch ---
>From f8c1a88b57ac06fe32325d3dbb81c8468c2940b9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Fri, 30 Nov 2012 17:45:31 +0100
Subject: [PATCH] a52: Fix build errors
I merged somehow a half-baked patch mistakenly. Fixed now.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
---
a52/pcm_a52.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 1acf446..c40aadc 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -164,7 +164,7 @@ static int write_out_pending(snd_pcm_ioplug_t *io, struct a52_ctx *rec)
static void clear_remaining_planar_data(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
- int i;
+ unsigned int i;
for (i = 0; i < io->channels; i++)
memset(rec->frame->data[i] + rec->filled * 2, 0,
@@ -267,7 +267,7 @@ static int fill_data(snd_pcm_ioplug_t *io,
#ifdef USE_AVCODEC_FRAME
if (use_planar(rec)) {
- memcpy(rec->frame->data[i], src, size * 2);
+ memcpy(rec->frame->data[ch], src, size * 2);
continue;
}
#endif
@@ -548,15 +548,13 @@ static void set_channel_layout(snd_pcm_ioplug_t *io)
static int alloc_input_buffer(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
-
#ifdef USE_AVCODEC_FRAME
rec->frame = avcodec_alloc_frame();
if (!rec->frame)
return -ENOMEM;
- err = av_samples_alloc(rec->frame->data, rec->frame->linesize,
- io->channels, rec->avctx->frame_size,
- rec->avctx->sample_fmt, 32);
- if (err < 0)
+ if (av_samples_alloc(rec->frame->data, rec->frame->linesize,
+ io->channels, rec->avctx->frame_size,
+ rec->avctx->sample_fmt, 0) < 0)
return -ENOMEM;
rec->frame->nb_samples = rec->avctx->frame_size;
rec->inbuf = (short *)rec->frame->data[0];
@@ -571,11 +569,16 @@ static int alloc_input_buffer(snd_pcm_ioplug_t *io)
static int a52_prepare(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
+ int err;
a52_free(rec);
+#ifdef USE_AVCODEC_FRAME
+ rec->avctx = avcodec_alloc_context3(rec->codec);
+#else
rec->avctx = avcodec_alloc_context();
- if (! rec->avctx)
+#endif
+ if (!rec->avctx)
return -ENOMEM;
rec->avctx->bit_rate = rec->bitrate * 1000;
@@ -585,7 +588,13 @@ static int a52_prepare(snd_pcm_ioplug_t *io)
set_channel_layout(io);
- if (avcodec_open(rec->avctx, rec->codec) < 0)
+
+#ifdef USE_AVCODEC_FRAME
+ err = avcodec_open2(rec->avctx, rec->codec, NULL);
+#else
+ err = avcodec_open(rec->avctx, rec->codec);
+#endif
+ if (err < 0)
return -EINVAL;
rec->outbuf_size = rec->avctx->frame_size * 4;
@@ -845,7 +854,9 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52)
rec->channels = channels;
rec->format = format;
+#ifndef USE_AVCODEC_FRAME
avcodec_init();
+#endif
avcodec_register_all();
rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
--
1.7.11.4
Index: alsa-plugins-freeworld.spec
===================================================================
RCS file: /cvs/free/rpms/alsa-plugins-freeworld/F-18/alsa-plugins-freeworld.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- alsa-plugins-freeworld.spec 24 Nov 2012 14:54:14 -0000 1.13
+++ alsa-plugins-freeworld.spec 3 May 2013 20:56:15 -0000 1.14
@@ -1,6 +1,6 @@
Name: alsa-plugins-freeworld
Version: 1.0.26
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: The ALSA Plugins - freeworld version
# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+
License: LGPLv2+
@@ -9,7 +9,8 @@
Source0: ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{version}.tar.bz2
Source1: a52.conf
Source2: lavcrate.conf
-Patch1: alsa-plugins-1.0.25-ffmpeg54.patch
+Patch1: alsa-plugins-1.0.26-recent-libavcodec-1.patch
+Patch2: alsa-plugins-1.0.26-recent-libavcodec-2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: alsa-lib-devel >= 1.0.24
@@ -47,9 +48,8 @@
%prep
%setup -q -n alsa-plugins-%{version}%{?prever}
-%if 0%{?fedora} > 17
-%patch1 -p1 -b .ffmpeg54
-%endif
+%patch1 -p1 -b .patch1
+%patch2 -p1 -b .patch2
%build
@@ -110,6 +110,9 @@
%changelog
+* Fri May 3 2013 Daniel Ziemba <zman0900(a)gmail.com> - 1.0.26-3
+- Fix compatibility with libavcodec - rfbz#2648
+
* Sat Nov 24 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 1.0.26-2
- Rebuilt for FFmpeg 1.0
11 years, 6 months
rpms/sox-plugins-nonfree/F-18 .cvsignore,1.2,1.3
by Richard Shaw
Author: hobbes1069
Update of /cvs/nonfree/rpms/sox-plugins-nonfree/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv28980
Modified Files:
.cvsignore
Log Message:
re-upload source since it's apparentely not shared with the free repository.
Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-18/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 23 Apr 2012 16:20:26 -0000 1.2
+++ .cvsignore 3 May 2013 19:11:29 -0000 1.3
@@ -1 +1 @@
-sox-14.3.2.tar.gz
+sox-14.4.0.tar.gz
11 years, 6 months
rpms/sox-plugins-nonfree/F-18 sox-plugins-nonfree.spec,1.2,1.3
by Richard Shaw
Author: hobbes1069
Update of /cvs/nonfree/rpms/sox-plugins-nonfree/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv28814
Modified Files:
sox-plugins-nonfree.spec
Log Message:
Upstream sox for F-18 is 14.4.0, not 14.4.1
Index: sox-plugins-nonfree.spec
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-18/sox-plugins-nonfree.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sox-plugins-nonfree.spec 3 May 2013 19:08:40 -0000 1.2
+++ sox-plugins-nonfree.spec 3 May 2013 19:09:41 -0000 1.3
@@ -13,7 +13,7 @@
Summary: A general purpose sound file conversion tool
Name: sox%{?plugins:-plugins-%{plugins}}
-Version: 14.4.1
+Version: 14.4.0
Release: 3%{?dist}
License: GPLv2+ and LGPLv2+
Group: Applications/Multimedia
11 years, 6 months
rpms/sox-plugins-nonfree/F-18 sox-mcompand_clipping.patch, NONE, 1.1 sources, 1.2, 1.3 sox-plugins-nonfree.spec, 1.1, 1.2 01-making-autoreconf-possible.patch, 1.1, NONE 02-reconfigured-using-autoreconf.patch, 1.1, NONE 03-adding-support-for-without-lpc.patch, 1.1, NONE 04-nuking-libgsm-from-build-system.patch, 1.1, NONE 06-fix-compile-error.patch, 1.1, NONE 07-ignore-internal-libgsm.patch, 1.1, NONE
by Richard Shaw
Author: hobbes1069
Update of /cvs/nonfree/rpms/sox-plugins-nonfree/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv28688
Modified Files:
sources sox-plugins-nonfree.spec
Added Files:
sox-mcompand_clipping.patch
Removed Files:
01-making-autoreconf-possible.patch
02-reconfigured-using-autoreconf.patch
03-adding-support-for-without-lpc.patch
04-nuking-libgsm-from-build-system.patch
06-fix-compile-error.patch 07-ignore-internal-libgsm.patch
Log Message:
* Tue Apr 02 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-3
- added autoreconf to replace old scropts => support aarch64
sox-mcompand_clipping.patch:
mcompand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE sox-mcompand_clipping.patch ---
diff -up wrk/src/mcompand.c.wrk wrk/src/mcompand.c
--- wrk/src/mcompand.c.wrk 2013-02-15 10:15:03.426639189 +0100
+++ wrk/src/mcompand.c 2013-02-15 10:18:42.408008144 +0100
@@ -395,7 +395,7 @@ static int flow(sox_effect_t * effp, con
(void)sox_mcompand_flow_1(effp, c,l,bbuf,abuf,len, (size_t)effp->out_signal.channels);
for (i=0;i<len;++i)
{
- out = obuf[i] + abuf[i];
+ out = (double)obuf[i] + (double)abuf[i];
SOX_SAMPLE_CLIP_COUNT(out, effp->clips);
obuf[i] = out;
}
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-18/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources 23 Apr 2012 16:20:27 -0000 1.2
+++ sources 3 May 2013 19:08:37 -0000 1.3
@@ -1 +1 @@
-e9d35cf3b0f8878596e0b7c49f9e8302 sox-14.3.2.tar.gz
+b0c15cff7a4ba0ec17fdc74e6a1f9cf1 sox-14.4.0.tar.gz
Index: sox-plugins-nonfree.spec
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-18/sox-plugins-nonfree.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sox-plugins-nonfree.spec 23 Apr 2012 16:20:27 -0000 1.1
+++ sox-plugins-nonfree.spec 3 May 2013 19:08:40 -0000 1.2
@@ -1,101 +1,422 @@
+# To build plugins add --with plugins_freeworld or --with plugins_nonfree to
+# your rpmbuild command.
+#%global with_plugins_freeworld %{?_with_plugins_freeworld:1} %{!?_with_plugins_freeworld:0}
+#%global with_plugins_nonfree %{?_with_plugins_nonfree:1} %{!?_with_plugins_nonfree:0}
+%global with_plugins_nonfree 1
+%if %{with_plugins_freeworld}
+ %global plugins freeworld
+%endif
+%if %{with_plugins_nonfree}
+ %global plugins nonfree
+%endif
%global realname sox
-Summary: Additional (non-free) codecs for sox
-Name: sox-plugins-nonfree
-Version: 14.3.2
-Release: 2%{?dist}
-# sox.c is GPLv2, all other is LGPL2.1
-License: GPLv2+ and LGPLv2+
-Group: Applications/Multimedia
-
-URL: http://sox.sourceforge.net/
-Source0: http://prdownloads.sourceforge.net/sox/sox-%{version}.tar.gz
-Patch0: 01-making-autoreconf-possible.patch
-Patch1: 02-reconfigured-using-autoreconf.patch
-Patch2: 03-adding-support-for-without-lpc.patch
-Patch3: 04-nuking-libgsm-from-build-system.patch
-Patch4: 06-fix-compile-error.patch
-Patch5: 07-ignore-internal-libgsm.patch
-
-BuildRequires: libvorbis-devel
-BuildRequires: alsa-lib-devel, libtool-ltdl-devel, libsamplerate-devel
-BuildRequires: gsm-devel, wavpack-devel, ladspa-devel, libpng-devel
-BuildRequires: flac-devel, libao-devel, libsndfile-devel, libid3tag-devel
-BuildRequires: pulseaudio-libs-devel
-BuildRequires: libtool
+Summary: A general purpose sound file conversion tool
+Name: sox%{?plugins:-plugins-%{plugins}}
+Version: 14.4.1
+Release: 3%{?dist}
+License: GPLv2+ and LGPLv2+
+Group: Applications/Multimedia
+Source: http://downloads.sourceforge.net/%{realname}/%{realname}-%{version}.tar.gz
+URL: http://sox.sourceforge.net/
+Patch0: sox-mcompand_clipping.patch
+BuildRequires: libvorbis-devel
+BuildRequires: alsa-lib-devel, libtool-ltdl-devel, libsamplerate-devel
+BuildRequires: gsm-devel, wavpack-devel, ladspa-devel, libpng-devel
+BuildRequires: flac-devel, libao-devel, libsndfile-devel, libid3tag-devel
+BuildRequires: pulseaudio-libs-devel
+BuildRequires: libtool
# Additional requirements for RPM Fusion
+%if %{with_plugins_freeworld}
+BuildRequires: lame-devel ladspa-devel
+BuildRequires: libmad-devel
+%endif
+%if %{with_plugins_nonfree}
BuildRequires: amrwb-devel amrnb-devel ladspa-devel
-# Require Fedora package
+%endif
+%if %{with_plugins_freeworld} || %{with_plugins_nonfree}
+# Need to require sox
Requires: sox%{?_isa}
-
-# No upstream exists and it has been moified by sox.
-Provides: bundled(lpc10)
-
+%endif
%description
SoX (Sound eXchange) is a sound file format converter SoX can convert
between many different digitized sound formats and perform simple
sound manipulation functions, including sound effects.
+%if %{with_plugins_freeworld}
+This package provides the plugin for MPEG-2 audio layer 3 audio (MP3) support.
+%endif
+%if %{with_plugins_nonfree}
This package provides the plugins for Adaptive Multi-Rate Wideband and
Narrowband codecs.
+%endif
+
+
+%if ! %{with_plugins_freeworld} && ! %{with_plugins_nonfree}
+%package -n sox-devel
+Summary: The SoX sound file format converter libraries
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
+
+%description -n sox-devel
+This package contains the library needed for compiling applications
+which will use the SoX sound file format converter.
+%endif
%prep
%setup -q -n %{realname}-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-# Only appliy for ffmpeg 0.8 and above
-%if %fedora >= 16
-%patch4 -p1
-%endif
-%patch5 -p1
-
-# Remove bundled libs
-rm -rf libgsm
-# lpc10 has no upstream so consider it a private lib.
-# See http://lists.rpmfusion.org/pipermail/rpmfusion-developers/2012-March/0120...
-#rm -rf lpc10
-
+%patch0 -p1 -b .clip
+#regenerate scripts from older autoconf to support aarch64
+autoreconf -vfi
%build
-CFLAGS="%{optflags} -D_FILE_OFFSET_BITS=64"; export CFLAGS
-autoreconf -if
-%configure --enable-static=no \
- --with-dyn-default \
- --with-lpc10 \
- --with-gsm=dyn \
- --includedir=%{_includedir}/sox \
- --with-distro=Fedora
-
+CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" %configure --with-dyn-default --with-gsm --includedir=%{_includedir}/sox --disable-static --with-distro=Fedora
make %{?_smp_mflags}
-
%install
-make install DESTDIR=%{buildroot}
-
-# Remove all static libs
-find %{buildroot}%{_libdir} -name "*.la" -exec rm -f {} \;
+make install DESTDIR=$RPM_BUILD_ROOT
+rm -f $RPM_BUILD_ROOT/%{_libdir}/libsox.la
+rm -f $RPM_BUILD_ROOT/%{_libdir}/sox/*.la
+rm -f $RPM_BUILD_ROOT/%{_libdir}/sox/*.a
# Remove all the plugins execept the one we want.
+%if %{with_plugins_freeworld}
+find %{buildroot}%{_libdir}/sox -name "*.so" \! -name "*mp3.so" -exec rm -f {} \;
+%endif
+%if %{with_plugins_nonfree}
find %{buildroot}%{_libdir}/sox -name "*.so" \! -name "*amr*.so" -exec rm -f {} \;
+%endif
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
%files
%doc AUTHORS ChangeLog COPYING README
+%if %{with_plugins_freeworld}
+%{_libdir}/sox/libsox_fmt_mp3.so
+%endif
+%if %{with_plugins_nonfree}
%{_libdir}/sox/libsox_fmt_amr*.so
+%endif
+%if %{with_plugins_freeworld} || %{with_plugins_nonfree}
%exclude %{_bindir}
%exclude %{_datadir}
%exclude %{_includedir}
%exclude %{_libdir}/*.so*
%exclude %{_libdir}/pkgconfig
+%else
+%{_bindir}/play
+%{_bindir}/rec
+%{_bindir}/sox
+%{_bindir}/soxi
+%{_libdir}/libsox.so.*
+%dir %{_libdir}/sox/
+%{_libdir}/sox/libsox_fmt_*.so
+%{_mandir}/man1/*
+%{_mandir}/man7/*
+
+%files -n sox-devel
+%{_includedir}/sox
+%{_libdir}/libsox.so
+%{_libdir}/pkgconfig/sox.pc
+%{_mandir}/man3/*
+%endif
%changelog
-* Thu Mar 25 2012 Richard Shaw <hobbes1069(a)gmail.com> - 14.3.2-2
-- Add patches to deal with bundled libraries.
-- Strip rpath from library.
+* Tue Apr 02 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-3
+- added autoreconf to replace old scropts => support aarch64
+
+* Fri Feb 15 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-2
+- added sox-mcompand_clipping.patch to prevent integer overflow
+
+* Thu Feb 14 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-1
+- rebase to 14.4.1
+
+* Tue Sep 18 2012 Honza Horak <hhorak(a)redhat.com> - 14.4.0-3
+- Minor spec file fixes
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Mar 09 2012 Honza Horak <hhorak(a)redhat.com> - 14.4.0-1
+- updated to upstream version 14.4.0
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.3.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Nov 07 2011 Adam Jackson <ajax(a)redhat.com> 14.3.2-2
+- Rebuild for libpng 1.5
+
+* Sat Mar 19 2011 Felix Kaechele <heffer(a)fedoraproject.org> - 14.3.2-1
+- 14.3.2
+- added PulseAudio support
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.3.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Sep 02 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.1-2
+- rebuild
+
+* Mon Apr 12 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.1-1
+- updated to upstream version
+
+* Fri Feb 26 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.0-2
+- fixed license tag
+
+* Mon Nov 23 2009 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.0-1
+- 14.3.0
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.2.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.2.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.2.0-1
+- 14.2.0
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-7.20081105cvs
+- patch for newer libtool
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-6.20081105cvs
+- rebuild for libtool
+
+* Wed Nov 5 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-5.20081105cvs
+- forgot to add libtool as a BR
+
+* Wed Nov 5 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-4.20081105cvs
+- update to 20081105 cvs checkout (fixes many bugs, no longer creates _fmt_*.so.*)
+- move _fmt_*.so to main package so support for file formats no longer requires devel
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-3
+- missed a few BR, this should be all of them
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-2
+- enable the full set of functionality with missing BR
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-1
+- fix license tag
+- update to 14.1.0
+- disabled static libs (if something really needs them, re-enable them
+ in a -static subpackage)
+
+* Wed Apr 16 2008 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.1-2
+- enabled flac support
+- Resolves: #442703
+
+* Mon Feb 25 2008 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.1-1
+- New version 14.0.1
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 14.0.0-2
+- Autorebuild for GCC 4.3
+
+* Mon Oct 29 2007 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.0-1
+- New version 14.0.0
+- Thanks to Chris Bagwell <chris at cnpbagwell dot com> for initial changes to spec file
+
+* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 13.0.0-3
+- Rebuild for selinux ppc32 issue.
+
+* Mon Jul 16 2007 Jiri Moskovcak <jmoskovc(a)redhat.com> 13.0.0-2
+- uses external libgsm instead of local copy
+- spec file update: added BuildRequires: gsm-devel
+- Resolves: #239955
+
+* Mon Feb 26 2007 Thomas Woerner <twoerner(a)redhat.com> 13.0.0-1
+- new version 13.0.0
+- spec file cleanup (#227429)
+- new ldconfig calls for post and postun
+
+* Mon Jul 24 2006 Thomas Woerner <twoerner(a)redhat.com> 12.18.1-1
+- new version 12.18.1
+- fixed multilib devel conflict in libst-config (#192751)
+
+* Wed Jul 12 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.2.1
+- rebuild
+
+* Fri Feb 10 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.2
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Tue Dec 13 2005 Thomas Woerner <twoerner(a)redhat.com> 12.17.9-1
+- new version 12.17.9
+
+* Fri Dec 09 2005 Jesse Keating <jkeating(a)redhat.com>
+- rebuilt
+
+* Thu May 12 2005 Thomas Woerner <twoerner(a)redhat.com> 12.17.7-3
+- fixed bad link for man/man1/rec.1.gz (#154089)
+- using /usr/include instead of kernel-devel includes
+
+* Tue Apr 26 2005 Warren Togami <wtogami(a)redhat.com> 12.17.7-2
+- overflow patch (#155224 upstream)
+
+* Sun Apr 17 2005 Warren Togami <wtogami(a)redhat.com> 12.17.7-1
+- 12.17.7
+- BR alsa-lib-devel (#155224 thias)
+
+* Sun Feb 27 2005 Florian La Roche <laroche(a)redhat.com>
+- Copyright: -> License:
+
+* Mon Nov 22 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.6-1
+- new version 12.17.6
+
+* Wed Sep 15 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-3
+- moved libst-config to devel package (#132489)
+
+* Thu Aug 26 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-2
+- fixed initialization bug in wav file handler (#130968)
+
+* Thu Aug 19 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-1
+- new version 12.17.5
+
+* Fri Jul 23 2004 Bill Nottingham <notting(a)redhat.com> 12.17.4-4.fc2
+- add patch for buffer overflow in wav code (CAN-2004-0557, #128158)
+
+* Fri Jul 9 2004 Bill Nottingham <notting(a)redhat.com> 12.17.4-4
+- add patch for 64-bit problem (#127502)
+
+* Tue Jun 15 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Tue Mar 02 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Tue Oct 7 2003 Bill Nottingham <notting(a)redhat.com> 12.17.4-1
+- update to 12.17.4
+- ship soxmix (#102499)
+- fix soxplay to handle files with spaces (#91144)
+- use LFS (#79151)
+
+* Wed Jun 04 2003 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Mon Feb 24 2003 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Fri Feb 21 2003 Elliot Lee <sopwith(a)redhat.com> 12.17.3-10
+- Add sox-vorberr.patch to fix segfault in #81448
+- _smp_mflags
+
+* Wed Jan 22 2003 Tim Powers <timp(a)redhat.com>
+- rebuilt
+
+* Wed Nov 27 2002 Tim Powers <timp(a)redhat.com> 12.17.3-8
+- remoive unpackaged files from the buildroot
+- lib64'ize
+
+* Fri Jul 18 2002 Bill Nottingham <notting(a)redhat.com>
+- build against current libvorbis
+
+* Fri Jun 21 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Thu May 23 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Thu Feb 21 2002 Bill Nottingham <notting(a)redhat.com>
+- rebuild
+
+* Wed Jan 09 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Mon Jan 07 2002 Florian La Roche <Florian.LaRoche(a)redhat.de>
+- do not require gsm-devel as it has been excluded from rawhide
+
+* Fri Jan 4 2002 Bill Nottingham <notting(a)redhat.com> 12.17.3-1
+- update to 12.17.3
+
+* Wed Dec 4 2001 Bill Nottingham <notting(a)redhat.com>
+- update to 12.17.2
+
+* Thu Aug 9 2001 Bill Nottingham <notting(a)redhat.com>
+- add patch to fix recording (#41755)
+- fix license (#50574)
+
+* Sun Jun 24 2001 Elliot Lee <sopwith(a)redhat.com>
+- Bump release + rebuild.
+
+* Tue Jan 9 2001 Bill Nottingham <notting(a)redhat.com>
+- rebuild against new gsm-devel
+
+* Tue Jan 2 2001 Bill Nottingham <notting(a)redhat.com>
+- re-enable gsm stuff
+- update to 12.17.1
+
+* Fri Dec 01 2000 Bill Nottingham <notting(a)redhat.com>
+- rebuild because of broken fileutils
+
+* Mon Nov 13 2000 Bill Nottingham <notting(a)redhat.com>
+- update to 12.17
+- yank out gsm stuff
+
+* Tue Aug 7 2000 Bill Nottingham <notting(a)redhat.com>
+- fix playing of sounds on cards that don't support mono
+
+* Sat Aug 5 2000 Bill Nottingham <notting(a)redhat.com>
+- fix playing of sounds on cards that don't support 8-bit
+
+* Wed Jul 12 2000 Prospector <bugzilla(a)redhat.com>
+- automatic rebuild
+
+* Thu Feb 03 2000 Bill Nottingham <notting(a)redhat.com>
+- fix manpage link the Right Way(tm)
+
+* Thu Feb 03 2000 Bernhard Rosenkraenzer <bero(a)redhat.com>
+- Fix rec manpage link - now that man pages are compressed, it should point to
+ play.1.gz, not play.1
+
+* Wed Feb 02 2000 Cristian Gafton <gafton(a)redhat.com>
+- fix description
+
+* Tue Sep 28 1999 Bill Nottingham <notting(a)redhat.com>
+- Grrr. Arrrrgh. Fix link.
+
+* Fri Sep 24 1999 Bill Nottingham <notting(a)redhat.com>
+- add some more files to devel
+
+* Fri Sep 17 1999 Bill Nottingham <notting(a)redhat.com>
+- fix link
+
+* Fri Jul 30 1999 Bill Nottingham <notting(a)redhat.com>
+- update to 12.16
+
+* Sun Mar 21 1999 Cristian Gafton <gafton(a)redhat.com>
+- auto rebuild in the new build environment (release 4)
+
+* Wed Jan 20 1999 Bill Nottingham <notting(a)redhat.com>
+- allow spaces in filenames for play/rec
+
+* Wed Dec 9 1998 Bill Nottingham <notting(a)redhat.com>
+- fix docs
+
+* Mon Nov 23 1998 Bill Nottingham <notting(a)redhat.com>
+- update to 12.15
+
+* Sat Oct 10 1998 Michael Maher <mike(a)redhat.com>
+- fixed broken spec file
+
+* Mon Jul 13 1998 Michael Maher <mike(a)redhat.com>
+- updated source from Chris Bagwell.
+
+* Wed Jun 23 1998 Michael Maher <mike(a)redhat.com>
+- made patch to fix the '-e' option. BUG 580
+- added buildroot
+
+* Fri May 08 1998 Prospector System <bugs(a)redhat.com>
+- translations modified for de, fr, tr
-* Sun Feb 26 2012 Richard Shaw <hobbes1069(a)gmail.com> - 14.3.2-1
-- Initial Release.
+* Thu Nov 06 1997 Erik Troan <ewt(a)redhat.com>
+- built against glibc
--- 01-making-autoreconf-possible.patch DELETED ---
--- 02-reconfigured-using-autoreconf.patch DELETED ---
--- 03-adding-support-for-without-lpc.patch DELETED ---
--- 04-nuking-libgsm-from-build-system.patch DELETED ---
--- 06-fix-compile-error.patch DELETED ---
--- 07-ignore-internal-libgsm.patch DELETED ---
11 years, 6 months
rpms/sox-plugins-nonfree/F-19 sox-mcompand_clipping.patch, NONE, 1.1 sources, 1.2, 1.3 sox-plugins-nonfree.spec, 1.2, 1.3 01-making-autoreconf-possible.patch, 1.1, NONE 02-reconfigured-using-autoreconf.patch, 1.1, NONE 03-adding-support-for-without-lpc.patch, 1.1, NONE 04-nuking-libgsm-from-build-system.patch, 1.1, NONE 06-fix-compile-error.patch, 1.1, NONE 07-ignore-internal-libgsm.patch, 1.1, NONE
by Richard Shaw
Author: hobbes1069
Update of /cvs/nonfree/rpms/sox-plugins-nonfree/F-19
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv28433
Modified Files:
sources sox-plugins-nonfree.spec
Added Files:
sox-mcompand_clipping.patch
Removed Files:
01-making-autoreconf-possible.patch
02-reconfigured-using-autoreconf.patch
03-adding-support-for-without-lpc.patch
04-nuking-libgsm-from-build-system.patch
06-fix-compile-error.patch 07-ignore-internal-libgsm.patch
Log Message:
* Tue Apr 02 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-3
- added autoreconf to replace old scropts => support aarch64
sox-mcompand_clipping.patch:
mcompand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE sox-mcompand_clipping.patch ---
diff -up wrk/src/mcompand.c.wrk wrk/src/mcompand.c
--- wrk/src/mcompand.c.wrk 2013-02-15 10:15:03.426639189 +0100
+++ wrk/src/mcompand.c 2013-02-15 10:18:42.408008144 +0100
@@ -395,7 +395,7 @@ static int flow(sox_effect_t * effp, con
(void)sox_mcompand_flow_1(effp, c,l,bbuf,abuf,len, (size_t)effp->out_signal.channels);
for (i=0;i<len;++i)
{
- out = obuf[i] + abuf[i];
+ out = (double)obuf[i] + (double)abuf[i];
SOX_SAMPLE_CLIP_COUNT(out, effp->clips);
obuf[i] = out;
}
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-19/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources 23 Apr 2012 16:20:27 -0000 1.2
+++ sources 3 May 2013 19:06:58 -0000 1.3
@@ -1 +1 @@
-e9d35cf3b0f8878596e0b7c49f9e8302 sox-14.3.2.tar.gz
+670307f40763490a2bc0d1f322071e7a sox-14.4.1.tar.gz
Index: sox-plugins-nonfree.spec
===================================================================
RCS file: /cvs/nonfree/rpms/sox-plugins-nonfree/F-19/sox-plugins-nonfree.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sox-plugins-nonfree.spec 12 Mar 2013 21:50:08 -0000 1.2
+++ sox-plugins-nonfree.spec 3 May 2013 19:06:58 -0000 1.3
@@ -1,104 +1,422 @@
+# To build plugins add --with plugins_freeworld or --with plugins_nonfree to
+# your rpmbuild command.
+#%global with_plugins_freeworld %{?_with_plugins_freeworld:1} %{!?_with_plugins_freeworld:0}
+#%global with_plugins_nonfree %{?_with_plugins_nonfree:1} %{!?_with_plugins_nonfree:0}
+%global with_plugins_nonfree 1
+%if %{with_plugins_freeworld}
+ %global plugins freeworld
+%endif
+%if %{with_plugins_nonfree}
+ %global plugins nonfree
+%endif
%global realname sox
-Summary: Additional (non-free) codecs for sox
-Name: sox-plugins-nonfree
-Version: 14.3.2
-Release: 3%{?dist}
-# sox.c is GPLv2, all other is LGPL2.1
-License: GPLv2+ and LGPLv2+
-Group: Applications/Multimedia
-
-URL: http://sox.sourceforge.net/
-Source0: http://prdownloads.sourceforge.net/sox/sox-%{version}.tar.gz
-Patch0: 01-making-autoreconf-possible.patch
-Patch1: 02-reconfigured-using-autoreconf.patch
-Patch2: 03-adding-support-for-without-lpc.patch
-Patch3: 04-nuking-libgsm-from-build-system.patch
-Patch4: 06-fix-compile-error.patch
-Patch5: 07-ignore-internal-libgsm.patch
-
-BuildRequires: libvorbis-devel
-BuildRequires: alsa-lib-devel, libtool-ltdl-devel, libsamplerate-devel
-BuildRequires: gsm-devel, wavpack-devel, ladspa-devel, libpng-devel
-BuildRequires: flac-devel, libao-devel, libsndfile-devel, libid3tag-devel
-BuildRequires: pulseaudio-libs-devel
-BuildRequires: libtool
+Summary: A general purpose sound file conversion tool
+Name: sox%{?plugins:-plugins-%{plugins}}
+Version: 14.4.1
+Release: 3%{?dist}
+License: GPLv2+ and LGPLv2+
+Group: Applications/Multimedia
+Source: http://downloads.sourceforge.net/%{realname}/%{realname}-%{version}.tar.gz
+URL: http://sox.sourceforge.net/
+Patch0: sox-mcompand_clipping.patch
+BuildRequires: libvorbis-devel
+BuildRequires: alsa-lib-devel, libtool-ltdl-devel, libsamplerate-devel
+BuildRequires: gsm-devel, wavpack-devel, ladspa-devel, libpng-devel
+BuildRequires: flac-devel, libao-devel, libsndfile-devel, libid3tag-devel
+BuildRequires: pulseaudio-libs-devel
+BuildRequires: libtool
# Additional requirements for RPM Fusion
+%if %{with_plugins_freeworld}
+BuildRequires: lame-devel ladspa-devel
+BuildRequires: libmad-devel
+%endif
+%if %{with_plugins_nonfree}
BuildRequires: amrwb-devel amrnb-devel ladspa-devel
-# Require Fedora package
+%endif
+%if %{with_plugins_freeworld} || %{with_plugins_nonfree}
+# Need to require sox
Requires: sox%{?_isa}
-
-# No upstream exists and it has been moified by sox.
-Provides: bundled(lpc10)
-
+%endif
%description
SoX (Sound eXchange) is a sound file format converter SoX can convert
between many different digitized sound formats and perform simple
sound manipulation functions, including sound effects.
+%if %{with_plugins_freeworld}
+This package provides the plugin for MPEG-2 audio layer 3 audio (MP3) support.
+%endif
+%if %{with_plugins_nonfree}
This package provides the plugins for Adaptive Multi-Rate Wideband and
Narrowband codecs.
+%endif
+
+
+%if ! %{with_plugins_freeworld} && ! %{with_plugins_nonfree}
+%package -n sox-devel
+Summary: The SoX sound file format converter libraries
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
+
+%description -n sox-devel
+This package contains the library needed for compiling applications
+which will use the SoX sound file format converter.
+%endif
%prep
%setup -q -n %{realname}-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-# Only appliy for ffmpeg 0.8 and above
-%if %fedora >= 16
-%patch4 -p1
-%endif
-%patch5 -p1
-
-# Remove bundled libs
-rm -rf libgsm
-# lpc10 has no upstream so consider it a private lib.
-# See http://lists.rpmfusion.org/pipermail/rpmfusion-developers/2012-March/0120...
-#rm -rf lpc10
-
+%patch0 -p1 -b .clip
+#regenerate scripts from older autoconf to support aarch64
+autoreconf -vfi
%build
-CFLAGS="%{optflags} -D_FILE_OFFSET_BITS=64"; export CFLAGS
-autoreconf -if
-%configure --enable-static=no \
- --with-dyn-default \
- --with-lpc10 \
- --with-gsm=dyn \
- --includedir=%{_includedir}/sox \
- --with-distro=Fedora
-
+CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" %configure --with-dyn-default --with-gsm --includedir=%{_includedir}/sox --disable-static --with-distro=Fedora
make %{?_smp_mflags}
-
%install
-make install DESTDIR=%{buildroot}
-
-# Remove all static libs
-find %{buildroot}%{_libdir} -name "*.la" -exec rm -f {} \;
+make install DESTDIR=$RPM_BUILD_ROOT
+rm -f $RPM_BUILD_ROOT/%{_libdir}/libsox.la
+rm -f $RPM_BUILD_ROOT/%{_libdir}/sox/*.la
+rm -f $RPM_BUILD_ROOT/%{_libdir}/sox/*.a
# Remove all the plugins execept the one we want.
+%if %{with_plugins_freeworld}
+find %{buildroot}%{_libdir}/sox -name "*.so" \! -name "*mp3.so" -exec rm -f {} \;
+%endif
+%if %{with_plugins_nonfree}
find %{buildroot}%{_libdir}/sox -name "*.so" \! -name "*amr*.so" -exec rm -f {} \;
+%endif
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
%files
%doc AUTHORS ChangeLog COPYING README
+%if %{with_plugins_freeworld}
+%{_libdir}/sox/libsox_fmt_mp3.so
+%endif
+%if %{with_plugins_nonfree}
%{_libdir}/sox/libsox_fmt_amr*.so
+%endif
+%if %{with_plugins_freeworld} || %{with_plugins_nonfree}
%exclude %{_bindir}
%exclude %{_datadir}
%exclude %{_includedir}
%exclude %{_libdir}/*.so*
%exclude %{_libdir}/pkgconfig
+%else
+%{_bindir}/play
+%{_bindir}/rec
+%{_bindir}/sox
+%{_bindir}/soxi
+%{_libdir}/libsox.so.*
+%dir %{_libdir}/sox/
+%{_libdir}/sox/libsox_fmt_*.so
+%{_mandir}/man1/*
+%{_mandir}/man7/*
+
+%files -n sox-devel
+%{_includedir}/sox
+%{_libdir}/libsox.so
+%{_libdir}/pkgconfig/sox.pc
+%{_mandir}/man3/*
+%endif
%changelog
-* Tue Mar 12 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 14.3.2-3
-- https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+* Tue Apr 02 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-3
+- added autoreconf to replace old scropts => support aarch64
+
+* Fri Feb 15 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-2
+- added sox-mcompand_clipping.patch to prevent integer overflow
+
+* Thu Feb 14 2013 Frantisek Kluknavsky <fkluknav(a)redhat.com> - 14.4.1-1
+- rebase to 14.4.1
+
+* Tue Sep 18 2012 Honza Horak <hhorak(a)redhat.com> - 14.4.0-3
+- Minor spec file fixes
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Mar 09 2012 Honza Horak <hhorak(a)redhat.com> - 14.4.0-1
+- updated to upstream version 14.4.0
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.3.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Nov 07 2011 Adam Jackson <ajax(a)redhat.com> 14.3.2-2
+- Rebuild for libpng 1.5
+
+* Sat Mar 19 2011 Felix Kaechele <heffer(a)fedoraproject.org> - 14.3.2-1
+- 14.3.2
+- added PulseAudio support
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.3.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Sep 02 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.1-2
+- rebuild
+
+* Mon Apr 12 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.1-1
+- updated to upstream version
+
+* Fri Feb 26 2010 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.0-2
+- fixed license tag
+
+* Mon Nov 23 2009 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.3.0-1
+- 14.3.0
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.2.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 14.2.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.2.0-1
+- 14.2.0
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-7.20081105cvs
+- patch for newer libtool
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-6.20081105cvs
+- rebuild for libtool
+
+* Wed Nov 5 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-5.20081105cvs
+- forgot to add libtool as a BR
+
+* Wed Nov 5 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-4.20081105cvs
+- update to 20081105 cvs checkout (fixes many bugs, no longer creates _fmt_*.so.*)
+- move _fmt_*.so to main package so support for file formats no longer requires devel
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-3
+- missed a few BR, this should be all of them
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-2
+- enable the full set of functionality with missing BR
+
+* Thu Sep 4 2008 Tom "spot" Callaway <tcallawa(a)redhat.com> 14.1.0-1
+- fix license tag
+- update to 14.1.0
+- disabled static libs (if something really needs them, re-enable them
+ in a -static subpackage)
+
+* Wed Apr 16 2008 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.1-2
+- enabled flac support
+- Resolves: #442703
+
+* Mon Feb 25 2008 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.1-1
+- New version 14.0.1
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 14.0.0-2
+- Autorebuild for GCC 4.3
+
+* Mon Oct 29 2007 Jiri Moskovcak <jmoskovc(a)redhat.com> - 14.0.0-1
+- New version 14.0.0
+- Thanks to Chris Bagwell <chris at cnpbagwell dot com> for initial changes to spec file
+
+* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 13.0.0-3
+- Rebuild for selinux ppc32 issue.
+
+* Mon Jul 16 2007 Jiri Moskovcak <jmoskovc(a)redhat.com> 13.0.0-2
+- uses external libgsm instead of local copy
+- spec file update: added BuildRequires: gsm-devel
+- Resolves: #239955
+
+* Mon Feb 26 2007 Thomas Woerner <twoerner(a)redhat.com> 13.0.0-1
+- new version 13.0.0
+- spec file cleanup (#227429)
+- new ldconfig calls for post and postun
+
+* Mon Jul 24 2006 Thomas Woerner <twoerner(a)redhat.com> 12.18.1-1
+- new version 12.18.1
+- fixed multilib devel conflict in libst-config (#192751)
+
+* Wed Jul 12 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.2.1
+- rebuild
+
+* Fri Feb 10 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.2
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating(a)redhat.com> - 12.17.9-1.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Tue Dec 13 2005 Thomas Woerner <twoerner(a)redhat.com> 12.17.9-1
+- new version 12.17.9
+
+* Fri Dec 09 2005 Jesse Keating <jkeating(a)redhat.com>
+- rebuilt
+
+* Thu May 12 2005 Thomas Woerner <twoerner(a)redhat.com> 12.17.7-3
+- fixed bad link for man/man1/rec.1.gz (#154089)
+- using /usr/include instead of kernel-devel includes
+
+* Tue Apr 26 2005 Warren Togami <wtogami(a)redhat.com> 12.17.7-2
+- overflow patch (#155224 upstream)
+
+* Sun Apr 17 2005 Warren Togami <wtogami(a)redhat.com> 12.17.7-1
+- 12.17.7
+- BR alsa-lib-devel (#155224 thias)
+
+* Sun Feb 27 2005 Florian La Roche <laroche(a)redhat.com>
+- Copyright: -> License:
+
+* Mon Nov 22 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.6-1
+- new version 12.17.6
+
+* Wed Sep 15 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-3
+- moved libst-config to devel package (#132489)
+
+* Thu Aug 26 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-2
+- fixed initialization bug in wav file handler (#130968)
+
+* Thu Aug 19 2004 Thomas Woerner <twoerner(a)redhat.com> 12.17.5-1
+- new version 12.17.5
+
+* Fri Jul 23 2004 Bill Nottingham <notting(a)redhat.com> 12.17.4-4.fc2
+- add patch for buffer overflow in wav code (CAN-2004-0557, #128158)
+
+* Fri Jul 9 2004 Bill Nottingham <notting(a)redhat.com> 12.17.4-4
+- add patch for 64-bit problem (#127502)
+
+* Tue Jun 15 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Tue Mar 02 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Tue Oct 7 2003 Bill Nottingham <notting(a)redhat.com> 12.17.4-1
+- update to 12.17.4
+- ship soxmix (#102499)
+- fix soxplay to handle files with spaces (#91144)
+- use LFS (#79151)
+
+* Wed Jun 04 2003 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Mon Feb 24 2003 Elliot Lee <sopwith(a)redhat.com>
+- rebuilt
+
+* Fri Feb 21 2003 Elliot Lee <sopwith(a)redhat.com> 12.17.3-10
+- Add sox-vorberr.patch to fix segfault in #81448
+- _smp_mflags
+
+* Wed Jan 22 2003 Tim Powers <timp(a)redhat.com>
+- rebuilt
+
+* Wed Nov 27 2002 Tim Powers <timp(a)redhat.com> 12.17.3-8
+- remoive unpackaged files from the buildroot
+- lib64'ize
+
+* Fri Jul 18 2002 Bill Nottingham <notting(a)redhat.com>
+- build against current libvorbis
+
+* Fri Jun 21 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Thu May 23 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Thu Feb 21 2002 Bill Nottingham <notting(a)redhat.com>
+- rebuild
+
+* Wed Jan 09 2002 Tim Powers <timp(a)redhat.com>
+- automated rebuild
+
+* Mon Jan 07 2002 Florian La Roche <Florian.LaRoche(a)redhat.de>
+- do not require gsm-devel as it has been excluded from rawhide
+
+* Fri Jan 4 2002 Bill Nottingham <notting(a)redhat.com> 12.17.3-1
+- update to 12.17.3
+
+* Wed Dec 4 2001 Bill Nottingham <notting(a)redhat.com>
+- update to 12.17.2
+
+* Thu Aug 9 2001 Bill Nottingham <notting(a)redhat.com>
+- add patch to fix recording (#41755)
+- fix license (#50574)
+
+* Sun Jun 24 2001 Elliot Lee <sopwith(a)redhat.com>
+- Bump release + rebuild.
+
+* Tue Jan 9 2001 Bill Nottingham <notting(a)redhat.com>
+- rebuild against new gsm-devel
+
+* Tue Jan 2 2001 Bill Nottingham <notting(a)redhat.com>
+- re-enable gsm stuff
+- update to 12.17.1
+
+* Fri Dec 01 2000 Bill Nottingham <notting(a)redhat.com>
+- rebuild because of broken fileutils
+
+* Mon Nov 13 2000 Bill Nottingham <notting(a)redhat.com>
+- update to 12.17
+- yank out gsm stuff
+
+* Tue Aug 7 2000 Bill Nottingham <notting(a)redhat.com>
+- fix playing of sounds on cards that don't support mono
+
+* Sat Aug 5 2000 Bill Nottingham <notting(a)redhat.com>
+- fix playing of sounds on cards that don't support 8-bit
+
+* Wed Jul 12 2000 Prospector <bugzilla(a)redhat.com>
+- automatic rebuild
+
+* Thu Feb 03 2000 Bill Nottingham <notting(a)redhat.com>
+- fix manpage link the Right Way(tm)
+
+* Thu Feb 03 2000 Bernhard Rosenkraenzer <bero(a)redhat.com>
+- Fix rec manpage link - now that man pages are compressed, it should point to
+ play.1.gz, not play.1
+
+* Wed Feb 02 2000 Cristian Gafton <gafton(a)redhat.com>
+- fix description
+
+* Tue Sep 28 1999 Bill Nottingham <notting(a)redhat.com>
+- Grrr. Arrrrgh. Fix link.
+
+* Fri Sep 24 1999 Bill Nottingham <notting(a)redhat.com>
+- add some more files to devel
+
+* Fri Sep 17 1999 Bill Nottingham <notting(a)redhat.com>
+- fix link
+
+* Fri Jul 30 1999 Bill Nottingham <notting(a)redhat.com>
+- update to 12.16
+
+* Sun Mar 21 1999 Cristian Gafton <gafton(a)redhat.com>
+- auto rebuild in the new build environment (release 4)
+
+* Wed Jan 20 1999 Bill Nottingham <notting(a)redhat.com>
+- allow spaces in filenames for play/rec
+
+* Wed Dec 9 1998 Bill Nottingham <notting(a)redhat.com>
+- fix docs
+
+* Mon Nov 23 1998 Bill Nottingham <notting(a)redhat.com>
+- update to 12.15
+
+* Sat Oct 10 1998 Michael Maher <mike(a)redhat.com>
+- fixed broken spec file
+
+* Mon Jul 13 1998 Michael Maher <mike(a)redhat.com>
+- updated source from Chris Bagwell.
+
+* Wed Jun 23 1998 Michael Maher <mike(a)redhat.com>
+- made patch to fix the '-e' option. BUG 580
+- added buildroot
-* Thu Mar 25 2012 Richard Shaw <hobbes1069(a)gmail.com> - 14.3.2-2
-- Add patches to deal with bundled libraries.
-- Strip rpath from library.
+* Fri May 08 1998 Prospector System <bugs(a)redhat.com>
+- translations modified for de, fr, tr
-* Sun Feb 26 2012 Richard Shaw <hobbes1069(a)gmail.com> - 14.3.2-1
-- Initial Release.
+* Thu Nov 06 1997 Erik Troan <ewt(a)redhat.com>
+- built against glibc
--- 01-making-autoreconf-possible.patch DELETED ---
--- 02-reconfigured-using-autoreconf.patch DELETED ---
--- 03-adding-support-for-without-lpc.patch DELETED ---
--- 04-nuking-libgsm-from-build-system.patch DELETED ---
--- 06-fix-compile-error.patch DELETED ---
--- 07-ignore-internal-libgsm.patch DELETED ---
11 years, 6 months