* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2017-01-07 11:41 Sergei Trofimovich
0 siblings, 0 replies; 6+ messages in thread
From: Sergei Trofimovich @ 2017-01-07 11:41 UTC (permalink / raw
To: gentoo-commits
commit: 25ee5763244e62e0ae953d1efdf0f55b519f1530
Author: Michael Mair-Keimberger (asterix) <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Fri Jan 6 09:05:00 2017 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Jan 6 09:05:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25ee5763
media-sound/xmms2: remove unused patches
.../xmms2/files/xmms2-0.7DrNo-XsParse-3.patch | 28 -----
.../xmms2/files/xmms2-0.7DrNo-missing-protos.patch | 127 ---------------------
.../files/xmms2-0.7DrNo-windres-build-fix.patch | 52 ---------
3 files changed, 207 deletions(-)
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch
deleted file mode 100644
index 0e3cbc4..00000000
--- a/media-sound/xmms2/files/xmms2-0.7DrNo-XsParse-3.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/wafadmin/Tools/perl.py b/wafadmin/Tools/perl.py
-index 9e3b12a..9005e6a 100644
---- a/wafadmin/Tools/perl.py
-+++ b/wafadmin/Tools/perl.py
-@@ -99,8 +99,8 @@ def check_perl_ext_devel(conf):
- conf.env["CPPPATH_PERLEXT"] = read_out(" -MConfig -e'print \"$Config{archlib}/CORE\"'")
- conf.env["CCFLAGS_PERLEXT"] = read_out(" -MConfig -e'print \"$Config{ccflags} $Config{cccdlflags}\"'")
-
-- conf.env["XSUBPP"] = read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/xsubpp$Config{exe_ext}\"'")
-- conf.env["EXTUTILS_TYPEMAP"] = read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'")
-+ conf.env["XSUBPP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::xsubpp\")'")
-+ conf.env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::typemap\")'")
-
- if not getattr(Options.options, 'perlarchdir', None):
- conf.env["ARCHDIR_PERL"] = Utils.cmd_output(perl + " -MConfig -e'print $Config{sitearch}'")
-diff --git a/src/clients/lib/perl/typemap b/src/clients/lib/perl/typemap
-index 6cb033f..54e6c4d 100644
---- a/src/clients/lib/perl/typemap
-+++ b/src/clients/lib/perl/typemap
-@@ -3,6 +3,8 @@ xmmsc_connection_t* XMMSC_CONNECTION_T
- xmmsv_coll_t* XMMSV_COLL_T
- xmmsv_coll_type_t XMMSV_COLL_TYPE_T
- xmmsv_coll_namespace_t T_PV
-+const unsigned char* T_PV
-+xmmsv_t* T_PV
- xmmsc_result_t* XMMSC_RESULT_T
- xmmsc_result_propdict_t* XMMSC_RESULT_PROPDICT_T
- xmms_plugin_type_t XMMS_PLUGIN_TYPE_T
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch
deleted file mode 100644
index 2c8de0c..00000000
--- a/media-sound/xmms2/files/xmms2-0.7DrNo-missing-protos.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-commit 2df15fc79acc7ef5ea9213c87f6700faf138518d
-Author: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sun Oct 10 21:08:05 2010 +0300
-
- OTHER: one more me in AUTHORS
-
- Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-
-diff --git a/AUTHORS b/AUTHORS
-index f2ef9af..e33acb5 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -354,6 +354,7 @@ D: Various fixes
-
- N: Sergei Trofimovich
- E: slyich@gmail.com
-+E: slyfox@gentoo.org
- E: slyfox@inbox.ru
- E: st@anti-virus.by
- D: Various Cleanups
-
-commit fb4eede29ba11d2ecec039de6899f8cce55dde8d
-Author: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sun Oct 10 21:01:49 2010 +0300
-
- OTHER: explicitely declare xmmsc_mainloop_gmain_init() and _xmmsc_medialib_encode_url()
-
- Added according includefiles
-
- Was spotted by ZogG on #xmms2
- And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
-
- gcc's warning:
- ../src/clients/medialib-updater/main.c: In function 'updater_connect':
- ../src/clients/medialib-updater/main.c:135: warning: implicit declaration of function 'xmmsc_mainloop_gmain_init'
- ../src/clients/medialib-updater/main.c: In function 'updater_remove_directory':
- ../src/clients/medialib-updater/main.c:468: warning: implicit declaration of function '_xmmsc_medialib_encode_url'
- ../src/clients/medialib-updater/main.c:468: warning: cast to pointer from integer of different size
-
- Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-
-diff --git a/src/clients/medialib-updater/main.c b/src/clients/medialib-updater/main.c
-index 3b36bc9..2dd7b08 100644
---- a/src/clients/medialib-updater/main.c
-+++ b/src/clients/medialib-updater/main.c
-@@ -18,6 +18,9 @@
-
- #include <gio/gio.h>
- #include <xmmsclient/xmmsclient.h>
-+#include <xmmsclient/xmmsclient-glib.h>
-+
-+#include "xmmsclientpriv/xmmsclient.h" // _xmmsc_medialib_encode_url
-
- #include <xmms_configuration.h>
-
-diff --git a/src/clients/medialib-updater/wscript b/src/clients/medialib-updater/wscript
-index 841ae85..cd38b5e 100644
---- a/src/clients/medialib-updater/wscript
-+++ b/src/clients/medialib-updater/wscript
-@@ -4,7 +4,7 @@ def build(bld):
- obj = bld.new_task_gen('cc', 'program')
- obj.target = 'xmms2-mlib-updater'
- obj.source = "main.c"
-- obj.includes = '. ../../.. ../../include'
-+ obj.includes = '. ../../.. ../../include ../../includepriv'
- obj.uselib = 'glib2 GIO-2.0 GTHREAD-2.0'
- obj.uselib_local = 'xmmsclient-glib xmmsclient'
-
-
-commit a3dff97f048bae91cdfd8b2bc761cd9ebe184eb9
-Author: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sun Oct 10 20:52:30 2010 +0300
-
- OTHER: explicitely declare g_sprintf()
-
- g_sprintf is not defined by glib.h (glib-2.24.2),
- but it's defined by <glib/gsprintf.h>
-
- Was spotted by ZogG on #xmms2
- And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
-
- gcc's warning:
- ../src/xmms/magic.c: In function 'xmms_magic_match':
- ../src/xmms/magic.c:470: warning: implicit declaration of function 'g_sprintf'
-
- Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-
-diff --git a/src/xmms/magic.c b/src/xmms/magic.c
-index 31b0b00..a0f9658 100644
---- a/src/xmms/magic.c
-+++ b/src/xmms/magic.c
-@@ -15,8 +15,8 @@
- */
-
-
--
- #include <glib.h>
-+#include <glib/gprintf.h>
- #include <string.h>
- #include <stdlib.h>
-
-
-commit 43648e7b701a9598d9a9769caec152fd23b4e2f5
-Author: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sun Oct 10 20:47:23 2010 +0300
-
- OTHER: explicitely declare semtimedop()
-
- semtimedop(2) is a GNU extension which needs _GNU_SOURCE
- to be defined. Was spotted by ZogG on #xmms2
- And reported as: https://bugs.gentoo.org/show_bug.cgi?id=340361
-
- gcc's warning:
-
- * ../src/clients/lib/xmmsclient/visualization/unixshm.c:102: warning: implicit declaration of function 'semtimedop'
-
- Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-
-diff --git a/src/clients/lib/xmmsclient/visualization/unixshm.c b/src/clients/lib/xmmsclient/visualization/unixshm.c
-index 50883a9..3d28ccc 100644
---- a/src/clients/lib/xmmsclient/visualization/unixshm.c
-+++ b/src/clients/lib/xmmsclient/visualization/unixshm.c
-@@ -1,3 +1,4 @@
-+#define _GNU_SOURCE // semtimedop is a GNU extension
- #include "common.h"
-
- #include <sys/shm.h>
diff --git a/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch b/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch
deleted file mode 100644
index 26cdcf9..00000000
--- a/media-sound/xmms2/files/xmms2-0.7DrNo-windres-build-fix.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-commit 3bc7fbff50bfcb065fb89d020c1b3fb8de049b19
-Author: Sergei Trofimovich <st@anti-virus.by>
-Date: Mon Apr 19 13:16:56 2010 +0300
-
- OTHER: fix build failure on windres aware binutils (linux host, native build)
-
- Trying to use windres under linux (native build) is worthless:
-
- [ 26/269] winrc: pixmaps/xmms2.rc -> _build_/default/pixmaps/xmms2.rc.o
- /usr/bin/windres: can't get BFD_RELOC_RVA relocation type: No error
- Waf: Leaving directory `/var/tmp/paludis/media-sound-xmms2-9999-r3/work/xmms2-devel/_build_'
- Build failed
- -> task failed (err #1):
- {task: winrc xmms2.rc -> xmms2.rc.o}
-
- Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
-
-diff --git a/wscript b/wscript
-index 2a29016..1d73813 100644
---- a/wscript
-+++ b/wscript
-@@ -265,12 +265,6 @@ def configure(conf):
- conf.check_tool('gcc')
- conf.check_tool('g++')
-
-- try:
-- conf.check_tool('winres')
-- conf.env['WINRCFLAGS'] = '-I' + os.path.abspath('pixmaps')
-- conf.env['xmms_icon'] = True
-- except Configure.ConfigurationError:
-- conf.env['xmms_icon'] = False
-
- if Options.options.target_platform:
- Options.platform = Options.options.target_platform
-@@ -412,6 +406,17 @@ def configure(conf):
- else:
- conf.env['socket_impl'] = 'posix'
-
-+ # platform does not support icons ...
-+ conf.env['xmms_icon'] = False
-+ # ... unless we target on windows
-+ if Options.platform == 'win32':
-+ try:
-+ conf.check_tool('winres')
-+ conf.env['WINRCFLAGS'] = '-I' + os.path.abspath('pixmaps')
-+ conf.env['xmms_icon'] = True
-+ except Configure.ConfigurationError:
-+ pass
-+
- # Glib is required by everyone, so check for it here and let them
- # assume its presence.
- conf.check_cfg(package='glib-2.0', atleast_version='2.8.0', uselib_store='glib2', args='--cflags --libs', mandatory=1)
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2017-11-12 10:00 Sergei Trofimovich
0 siblings, 0 replies; 6+ messages in thread
From: Sergei Trofimovich @ 2017-11-12 10:00 UTC (permalink / raw
To: gentoo-commits
commit: b98d77fd03187155cef4801d993ae3711ddaf11f
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 10:00:19 2017 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Nov 12 10:00:31 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b98d77fd
media-sound/xmms2: en.wikipedia.org to https://, bug #637190
Reported-by: Francesco Turco
Bug: https://bugs.gentoo.org/637190
Package-Manager: Portage-2.3.13, Repoman-2.3.4
media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch
index 46b5b1d3b92..70334587d42 100644
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch
+++ b/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch
@@ -136,7 +136,7 @@ index ee7f7fb..b6f0a37 100644
+mp4ff_normalize_flawed_sample_rate (uint16_t samplerate)
+{
+ /* A list of common rates can be found at
-+ * http://en.wikipedia.org/wiki/Sampling_rate */
++ * https://en.wikipedia.org/wiki/Sampling_rate */
+ uint32_t rates[] = {8000, 11025, 16000, 22050, 32000, 44056, 44100,
+ 47250, 48000, 50000, 50400, 88200, 96000, 176400,
+ 192000, 352800, 384000, 0};
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2018-07-06 20:45 Sergei Trofimovich
0 siblings, 0 replies; 6+ messages in thread
From: Sergei Trofimovich @ 2018-07-06 20:45 UTC (permalink / raw
To: gentoo-commits
commit: 48f201e4132579d760bac89bb02085d864489a38
Author: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Wed Jul 4 16:28:24 2018 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Jul 6 20:44:56 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48f201e4
media-sound/xmms2: remove unused patches
Closes: https://github.com/gentoo/gentoo/pull/9048
media-sound/xmms2/files/xmms2-0.8-audio4-p1.patch | 123 -------
media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch | 171 ---------
media-sound/xmms2/files/xmms2-0.8-audio4-p3.patch | 388 ---------------------
media-sound/xmms2/files/xmms2-0.8-audio4-p4.patch | 296 ----------------
media-sound/xmms2/files/xmms2-0.8-audio4-p5.patch | 154 --------
media-sound/xmms2/files/xmms2-0.8-audio4-p6.patch | 106 ------
media-sound/xmms2/files/xmms2-0.8-audio4-p7.patch | 147 --------
media-sound/xmms2/files/xmms2-0.8-cpython.patch | 9 -
.../xmms2/files/xmms2-0.8-cython-0.19.1.patch | 47 ---
.../xmms2/files/xmms2-0.8-ffmpeg-0.11.patch | 18 -
media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch | 50 ---
media-sound/xmms2/files/xmms2-0.8-libav-9.patch | 20 --
media-sound/xmms2/files/xmms2-0.8-memset.patch | 19 -
media-sound/xmms2/files/xmms2-0.8-modpug.patch | 11 -
media-sound/xmms2/files/xmms2-0.8-samba-4.patch | 30 --
15 files changed, 1589 deletions(-)
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p1.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p1.patch
deleted file mode 100644
index 21ed6492a44..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p1.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-commit 8831bc77d705c03b3f8081de0520dd10afa85c69
-Author: Uli Franke <cls@nebadje.org>
-Date: Tue Jan 17 23:23:46 2012 +0100
-
- BUG(2509): Avoid unaligned reads in avcodec xform.
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index fe58fc5..1b4a659 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -36,6 +36,9 @@ typedef struct {
- guint buffer_size;
- gboolean no_demuxer;
-
-+ gchar *read_out_buffer;
-+ gint read_out_buffer_size;
-+
- guint channels;
- guint samplerate;
- xmms_sample_format_t sampleformat;
-@@ -107,6 +110,7 @@ xmms_avcodec_destroy (xmms_xform_t *xform)
-
- avcodec_close (data->codecctx);
- av_free (data->codecctx);
-+ av_free (data->read_out_buffer);
-
- g_string_free (data->outbuf, TRUE);
- g_free (data->buffer);
-@@ -132,6 +136,9 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->buffer_size = AVCODEC_BUFFER_SIZE;
- data->codecctx = NULL;
-
-+ data->read_out_buffer = av_malloc (AVCODEC_MAX_AUDIO_FRAME_SIZE);
-+ data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+
- xmms_xform_private_data_set (xform, data);
-
- avcodec_init ();
-@@ -196,7 +203,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- } else {
- /* A demuxer plugin forgot to give decoder config? */
- xmms_log_error ("Decoder config data not found!");
-- return FALSE;
-+ goto err;
- }
- }
-
-@@ -220,7 +227,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
-
- /* some codecs need to have something read before they set
- * the samplerate and channels correctly, unfortunately... */
-- if ((ret = xmms_avcodec_read (xform, buf, 42, &error)) > 0) {
-+ if ((ret = xmms_avcodec_read (xform, buf, sizeof (buf), &error)) > 0) {
- g_string_insert_len (data->outbuf, 0, buf, ret);
- } else {
- XMMS_DBG ("First read failed, codec is not working...");
-@@ -251,6 +258,9 @@ err:
- if (data->codecctx) {
- av_free (data->codecctx);
- }
-+ if (data->read_out_buffer) {
-+ av_free (data->read_out_buffer);
-+ }
- g_string_free (data->outbuf, TRUE);
- g_free (data->extradata);
- g_free (data);
-@@ -263,8 +273,7 @@ xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
- xmms_error_t *error)
- {
- xmms_avcodec_data_t *data;
-- char outbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
-- gint outbufsize, bytes_read = 0;
-+ gint bytes_read = 0;
- guint size;
-
- data = xmms_xform_private_data_get (xform);
-@@ -330,9 +339,9 @@ xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
- packet.data = data->buffer;
- packet.size = data->buffer_length;
-
-- outbufsize = sizeof (outbuf);
-- bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) outbuf,
-- &outbufsize, &packet);
-+ data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+ bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) data->read_out_buffer,
-+ &data->read_out_buffer_size, &packet);
-
- /* The DTS decoder of ffmpeg is buggy and always returns
- * the input buffer length, get frame length from header */
-@@ -354,8 +363,8 @@ xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
-
- data->buffer_length -= bytes_read;
-
-- if (outbufsize > 0) {
-- g_string_append_len (data->outbuf, outbuf, outbufsize);
-+ if (data->read_out_buffer_size > 0) {
-+ g_string_append_len (data->outbuf, data->read_out_buffer, data->read_out_buffer_size);
- }
-
- size = MIN (data->outbuf->len, len);
-@@ -371,8 +380,7 @@ static gint64
- xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t whence, xmms_error_t *err)
- {
- xmms_avcodec_data_t *data;
-- char outbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE];
-- gint outbufsize, bytes_read = 0;
-+ gint bytes_read = 0;
- gint64 ret = -1;
-
- g_return_val_if_fail (xform, -1);
-@@ -396,9 +404,9 @@ xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t w
- packet.data = data->buffer;
- packet.size = data->buffer_length;
-
-- outbufsize = sizeof (outbuf);
-- bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) outbuf,
-- &outbufsize, &packet);
-+ data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+ bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) data->read_out_buffer,
-+ &data->read_out_buffer_size, &packet);
-
- if (bytes_read < 0 || bytes_read > data->buffer_length) {
- XMMS_DBG ("Error decoding data!");
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch
deleted file mode 100644
index 70334587d42..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p2.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-commit b614459dc1ea353d6c24b4a77c7f92a5577d5bc3
-Author: Uli Franke <cls@nebadje.org>
-Date: Thu Jan 19 11:53:57 2012 +0100
-
- BUG(2510): Add more bitrates/samplerates to AAC/ALAC.
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 1b4a659..b32de4d 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -60,6 +60,7 @@ static gint xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len
- xmms_error_t *error);
- static gint64 xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples,
- xmms_xform_seek_mode_t whence, xmms_error_t *err);
-+static xmms_sample_format_t xmms_avcodec_translate_sample_format (enum AVSampleFormat av_sample_format);
-
- /*
- * Plugin header
-@@ -168,12 +169,12 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->channels = ret;
- }
-
-- /* bitrate required for WMA files */
-+ /* Required by WMA xform. */
- xmms_xform_auxdata_get_int (xform,
- "bitrate",
- &data->bitrate);
-
-- /* ALAC and MAC require bits per sample field to be 16 */
-+ /* Required by tta and apefile xforms. */
- xmms_xform_auxdata_get_int (xform,
- "samplebits",
- &data->samplebits);
-@@ -238,12 +239,17 @@ xmms_avcodec_init (xmms_xform_t *xform)
-
- data->samplerate = data->codecctx->sample_rate;
- data->channels = data->codecctx->channels;
-+ data->sampleformat = xmms_avcodec_translate_sample_format (data->codecctx->sample_fmt);
-+ if (data->sampleformat == XMMS_SAMPLE_FORMAT_UNKNOWN) {
-+ avcodec_close (data->codecctx);
-+ goto err;
-+ }
-
- xmms_xform_outdata_type_add (xform,
- XMMS_STREAM_TYPE_MIMETYPE,
- "audio/pcm",
- XMMS_STREAM_TYPE_FMT_FORMAT,
-- XMMS_SAMPLE_FORMAT_S16,
-+ data->sampleformat,
- XMMS_STREAM_TYPE_FMT_CHANNELS,
- data->channels,
- XMMS_STREAM_TYPE_FMT_SAMPLERATE,
-@@ -428,3 +434,23 @@ xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t w
-
- return ret;
- }
-+
-+static xmms_sample_format_t
-+xmms_avcodec_translate_sample_format (enum AVSampleFormat av_sample_format)
-+{
-+ switch (av_sample_format) {
-+ case AV_SAMPLE_FMT_U8:
-+ return XMMS_SAMPLE_FORMAT_U8;
-+ case AV_SAMPLE_FMT_S16:
-+ return XMMS_SAMPLE_FORMAT_S16;
-+ case AV_SAMPLE_FMT_S32:
-+ return XMMS_SAMPLE_FORMAT_S32;
-+ case AV_SAMPLE_FMT_FLT:
-+ return XMMS_SAMPLE_FORMAT_FLOAT;
-+ case AV_SAMPLE_FMT_DBL:
-+ return XMMS_SAMPLE_FORMAT_DOUBLE;
-+ default:
-+ XMMS_DBG ("AVSampleFormat (%i) not supported.", av_sample_format);
-+ return XMMS_SAMPLE_FORMAT_UNKNOWN;
-+ }
-+}
-diff --git a/src/plugins/mp4/mp4.c b/src/plugins/mp4/mp4.c
-index 7c915c4..3ee9357 100644
---- a/src/plugins/mp4/mp4.c
-+++ b/src/plugins/mp4/mp4.c
-@@ -186,9 +186,6 @@ xmms_mp4_init (xmms_xform_t *xform)
- xmms_xform_auxdata_set_bin (xform, "decoder_config", tmpbuf, tmpbuflen);
- g_free (tmpbuf);
-
-- /* This is only for ALAC to set 16-bit samples, ignored for AAC */
-- xmms_xform_auxdata_set_int (xform, "samplebits", 16);
--
- xmms_mp4_get_mediainfo (xform);
-
- XMMS_DBG ("MP4 demuxer inited successfully!");
-@@ -288,7 +285,7 @@ xmms_mp4_get_mediainfo (xmms_xform_t *xform)
- data = xmms_xform_private_data_get (xform);
- g_return_if_fail (data);
-
-- if ((temp = mp4ff_get_sample_rate (data->mp4ff, data->track)) >= 0) {
-+ if ((temp = mp4ff_get_sample_rate (data->mp4ff, data->track)) > 0) {
- glong srate = temp;
-
- if ((temp = mp4ff_get_track_duration_use_offsets (data->mp4ff,
-@@ -492,7 +489,7 @@ xmms_mp4_get_track (xmms_xform_t *xform, mp4ff_t *infile)
- case 0x69: /* MPEG-2 audio */
- case 0x6B: /* MPEG-1 audio */
- continue;
-- case 0xff:
-+ case 0xff: /* ALAC */
- chans = mp4ff_get_channel_count (infile, i);
- rate = mp4ff_get_sample_rate (infile, i);
- if (chans <= 0 || rate <= 0) {
-diff --git a/src/plugins/mp4/mp4ff/README.xmms2 b/src/plugins/mp4/mp4ff/README.xmms2
-index c2737c5..8021618 100644
---- a/src/plugins/mp4/mp4ff/README.xmms2
-+++ b/src/plugins/mp4/mp4ff/README.xmms2
-@@ -12,3 +12,4 @@ Changes:
- * Add value_length variable to tag type and use it when adding new item-value pairs,
- necessary for cover art since it's binary data and can't be handled as a string
- * Add support for Apple Lossless audio files
-+ * Add a workaround for supporting higher samplerates.
-diff --git a/src/plugins/mp4/mp4ff/mp4ff.c b/src/plugins/mp4/mp4ff/mp4ff.c
-index ee7f7fb..b6f0a37 100644
---- a/src/plugins/mp4/mp4ff/mp4ff.c
-+++ b/src/plugins/mp4/mp4ff/mp4ff.c
-@@ -32,6 +32,8 @@
- #include <string.h>
- #include "mp4ffint.h"
-
-+static uint32_t mp4ff_normalize_flawed_sample_rate (uint16_t samplerate);
-+
- mp4ff_t *mp4ff_open_read(mp4ff_callback_t *f)
- {
- mp4ff_t *ff = malloc(sizeof(mp4ff_t));
-@@ -304,12 +306,39 @@ int32_t mp4ff_num_samples(const mp4ff_t *f, const int32_t track)
- return total;
- }
-
-+static uint32_t
-+mp4ff_normalize_flawed_sample_rate (uint16_t samplerate)
-+{
-+ /* A list of common rates can be found at
-+ * https://en.wikipedia.org/wiki/Sampling_rate */
-+ uint32_t rates[] = {8000, 11025, 16000, 22050, 32000, 44056, 44100,
-+ 47250, 48000, 50000, 50400, 88200, 96000, 176400,
-+ 192000, 352800, 384000, 0};
-+ uint32_t* rate;
-+
-+ /* First check standard rates. */
-+ for (rate = rates; *rate; rate++) {
-+ if (*rate == samplerate) {
-+ return *rate;
-+ }
-+ }
-+
-+ /* No standard rates matching - check if sample rate got truncated when
-+ * added to MP4 container */
-+ for (rate = rates; *rate; rate++) {
-+ if ((*rate & 0x0000FFFF) == samplerate) {
-+ return *rate;
-+ }
-+ }
-
-+ /* Failed to find a standard rate - we give up returning the original rate */
-+ return samplerate;
-+}
-
-
- uint32_t mp4ff_get_sample_rate(const mp4ff_t *f, const int32_t track)
- {
-- return f->track[track]->sampleRate;
-+ return mp4ff_normalize_flawed_sample_rate (f->track[track]->sampleRate);
- }
-
- uint32_t mp4ff_get_channel_count(const mp4ff_t * f,const int32_t track)
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p3.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p3.patch
deleted file mode 100644
index a9145c0d3d2..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p3.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-commit 4d0682030e20a8ed218f4ff924554f93d276d9ee
-Author: Anthony Garcia <lagg@lavabit.com>
-Date: Thu Apr 22 16:59:37 2010 -0700
-
- OTHER: Cleanup
-
- Re-enabled nellymoser (ffmpeg appears to be okay with it now)
-
- Fixed possible infinite loop in the code that handles the data (if any)
- between the header and tag data.
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 6c9fea8..5554056 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -90,7 +90,7 @@ xmms_avcodec_plugin_setup (xmms_xform_plugin_t *xform_plugin)
- xmms_magic_add ("A/52 (AC-3) header", "audio/x-ffmpeg-ac3",
- "0 beshort 0x0b77", NULL);
- xmms_magic_add ("DTS header", "audio/x-ffmpeg-dca",
-- "0 belong 0x7ffe8001", NULL);
-+ "0 belong 0x7ffe8001", NULL);
-
- xmms_xform_plugin_indata_add (xform_plugin,
- XMMS_STREAM_TYPE_MIMETYPE,
-@@ -197,7 +197,8 @@ xmms_avcodec_init (xmms_xform_t *xform)
- !strcmp (data->codec_id, "adpcm_swf") ||
- !strcmp (data->codec_id, "pcm_s16le") ||
- !strcmp (data->codec_id, "ac3") ||
-- !strcmp (data->codec_id, "dca")) {
-+ !strcmp (data->codec_id, "dca") ||
-+ !strcmp (data->codec_id, "nellymoser")) {
- /* number 1024 taken from libavformat raw.c RAW_PACKET_SIZE */
- data->extradata = g_malloc0 (1024);
- data->extradata_size = 1024;
-diff --git a/src/plugins/flv/flv.c b/src/plugins/flv/flv.c
-index 440010c..266fea6 100644
---- a/src/plugins/flv/flv.c
-+++ b/src/plugins/flv/flv.c
-@@ -25,29 +25,41 @@
- * and other info, then data
- */
- #define FLV_TAG_SIZE 11
--/* random constant */
- #define FLV_CHUNK_SIZE 4096
-
--/* let libavcodec take care of swapping sample bytes */
--static const gchar *mime_pcm_s16le = "audio/x-ffmpeg-pcm_s16le";
--static const gchar *fmt_mime[11] = {
-- /* Supported when samples are 8 bit
-- * (otherwise there's no way of knowing endianness)
-- */
-- "audio/pcm",
-- "audio/x-ffmpeg-adpcm_swf",
-- "audio/mpeg",
-- /* if bps is 8 bit u8
-- * if bps is 16 bit sle16
-- */
-- "audio/pcm",
-- /* libavcodec can't handle nelly without dying yet */
-- /*"audio/x-ffmpeg-nellymoser",
-- "audio/x-ffmpeg-nellymoser",
-- "audio/x-ffmpeg-nellymoser",*/
-- "", "", "",
-- "", "", "",
-- "audio/aac"
-+typedef enum {
-+ /* Only u8 bit samples since
-+ there's no way to determine endianness
-+ */
-+ CODEC_PCM_HOST,
-+ CODEC_ADPCM,
-+ CODEC_MP3,
-+ /* 8 bps: unsigned
-+ 16 bps: signed
-+ */
-+ CODEC_PCM_LE,
-+ CODEC_NELLYMOSER_16K,
-+ CODEC_NELLYMOSER_8K,
-+ /* Uses the sample rate in
-+ the tag as normal
-+ */
-+ CODEC_NELLYMOSER,
-+ CODEC_AAC = 10
-+} xmms_flv_codec_id;
-+
-+struct xmms_flv_codec_table {
-+ xmms_flv_codec_id id;
-+ const gchar *mime;
-+} static flv_codecs[] = {
-+ {CODEC_PCM_HOST, "audio/pcm"},
-+ {CODEC_ADPCM, "audio/x-ffmpeg-adpcm_swf"},
-+ {CODEC_MP3, "audio/mpeg"},
-+ /* Will be audio/x-ffmpeg-pcm_s16le if bps is 16 */
-+ {CODEC_PCM_LE, "audio/pcm"},
-+ {CODEC_NELLYMOSER_16K, "audio/x-ffmpeg-nellymoser"},
-+ {CODEC_NELLYMOSER_8K, "audio/x-ffmpeg-nellymoser"},
-+ {CODEC_NELLYMOSER, "audio/x-ffmpeg-nellymoser"},
-+ {CODEC_AAC, "audio/aac"}
- };
-
- typedef struct {
-@@ -111,23 +123,26 @@ static gboolean
- xmms_flv_init (xmms_xform_t *xform)
- {
- xmms_sample_format_t bps;
-- gint readret;
-+ gint readret, i;
- guint8 channels, flags, format;
-- guint8 header[FLV_TAG_SIZE + 5];
-- const gchar *mime;
-+ guint8 header[FLV_TAG_SIZE + 1];
- guint32 dataoffset, samplerate;
- xmms_error_t err;
- xmms_flv_data_t *flvdata;
-+ struct xmms_flv_codec_table *codec = NULL;
-+
-+ flvdata = g_new0 (xmms_flv_data_t, 1);
-+ xmms_xform_private_data_set (xform, flvdata);
-
- readret = xmms_xform_read (xform, header, FLV_HDR_SIZE, &err);
- if (readret != FLV_HDR_SIZE) {
- xmms_log_error ("Header read error");
-- return FALSE;
-+ goto init_err;
- }
-
- if ((header[4] & HAS_AUDIO) != HAS_AUDIO) {
- xmms_log_error ("FLV has no audio stream");
-- return FALSE;
-+ goto init_err;
- }
-
- dataoffset = get_be32 (&header[5]) - FLV_HDR_SIZE;
-@@ -140,7 +155,7 @@ xmms_flv_init (xmms_xform_t *xform)
- dataoffset : FLV_HDR_SIZE, &err);
- if (readret <= 0) {
- xmms_log_error ("Error reading header:tag body gap");
-- return FALSE;
-+ goto init_err;
- }
-
- dataoffset -= readret;
-@@ -148,86 +163,99 @@ xmms_flv_init (xmms_xform_t *xform)
-
- if (next_audio_tag (xform) <= 0) {
- xmms_log_error ("Can't find first audio tag");
-- return FALSE;
-+ goto init_err;
- }
-
-- if (xmms_xform_peek (xform, header, FLV_TAG_SIZE + 5, &err) < FLV_TAG_SIZE + 5) {
-+ if (xmms_xform_read (xform, header, FLV_TAG_SIZE + 1, &err) < FLV_TAG_SIZE + 1) {
- xmms_log_error ("Can't read first audio tag");
-- return FALSE;
-+ goto init_err;
- }
-
-- flags = header[FLV_TAG_SIZE + 4];
-+ flags = header[11];
- XMMS_DBG ("Audio flags: %X", flags);
-
-- switch (flags&12) {
-- case 0: samplerate = 5512; break;
-- case 4: samplerate = 11025; break;
-- case 8: samplerate = 22050; break;
-- case 12: samplerate = 44100; break;
-- default: samplerate = 8000; break;
-+ format = flags >> 4;
-+ for (i = 0; i < G_N_ELEMENTS (flv_codecs); i++) {
-+ if (flv_codecs[i].id == format) {
-+ codec = &flv_codecs[i];
-+ break;
-+ }
- }
-
-- if (flags&2) {
-- bps = XMMS_SAMPLE_FORMAT_S16;
-+ if (flags & 1) {
-+ channels = 2;
- } else {
-- bps = XMMS_SAMPLE_FORMAT_U8;
-+ channels = 1;
- }
-
-- if (flags&1) {
-- channels = 2;
-+ if (flags & 2) {
-+ bps = XMMS_SAMPLE_FORMAT_S16;
- } else {
-- channels = 1;
-+ bps = XMMS_SAMPLE_FORMAT_U8;
- }
-
-- format = flags >> 4;
-- mime = (format <= 10)? fmt_mime[format] : NULL;
-- switch (format) {
-- case 0:
-- /* If the flv has an HE PCM audio stream, the
-- * samples must be unsigned and 8 bits long
-- */
-- if (bps != XMMS_SAMPLE_FORMAT_U8) {
-- xmms_log_error ("Only u8 HE PCM is supported");
-- return FALSE;
-- }
-- break;
-- case 3:
-- if (bps == XMMS_SAMPLE_FORMAT_S16) {
-- mime = mime_pcm_s16le;
-- }
-- break;
-+ switch ((flags & 12) >> 2) {
-+ case 0: samplerate = 5512; break;
-+ case 1: samplerate = 11025; break;
-+ case 2: samplerate = 22050; break;
-+ case 3: samplerate = 44100; break;
-+ default: samplerate = 8000; break;
- }
-
-- if (mime && *mime) {
-- flvdata = g_new0 (xmms_flv_data_t, 1);
-+ if (codec) {
-+ switch (codec->id) {
-+ case CODEC_PCM_HOST:
-+ if (bps != XMMS_SAMPLE_FORMAT_U8) {
-+ xmms_log_error ("Only u8 HE PCM is supported");
-+ goto init_err;
-+ }
-+ break;
-+ case CODEC_PCM_LE:
-+ if (bps == XMMS_SAMPLE_FORMAT_S16) {
-+ codec->mime = "audio/x-ffmpeg-pcm_s16le";
-+ }
-+ break;
-+ case CODEC_NELLYMOSER_16K:
-+ samplerate = 16000;
-+ break;
-+ case CODEC_NELLYMOSER_8K:
-+ samplerate = 8000;
-+ break;
-+ default:
-+ break;
-+ }
-+
- flvdata->format = format;
-+ flvdata->last_datasize = get_be24 (&header[1]) - 1;
-
- XMMS_DBG ("Rate: %d, bps: %d, channels: %d", samplerate,
- bps, channels);
-
-- xmms_xform_private_data_set (xform, flvdata);
- xmms_xform_outdata_type_add (xform,
- XMMS_STREAM_TYPE_MIMETYPE,
-- mime,
-- XMMS_STREAM_TYPE_FMT_SAMPLERATE,
-- samplerate,
-- XMMS_STREAM_TYPE_FMT_FORMAT,
-- bps,
-- XMMS_STREAM_TYPE_FMT_CHANNELS,
-- channels,
-- XMMS_STREAM_TYPE_END);
-+ codec->mime,
-+ XMMS_STREAM_TYPE_FMT_SAMPLERATE,
-+ samplerate,
-+ XMMS_STREAM_TYPE_FMT_FORMAT,
-+ bps,
-+ XMMS_STREAM_TYPE_FMT_CHANNELS,
-+ channels,
-+ XMMS_STREAM_TYPE_END);
- return TRUE;
- } else {
- xmms_log_error ("Unsupported audio format");
-- return FALSE;
- }
-+
-+init_err:
-+ g_free (flvdata);
-+ return FALSE;
- }
-
- static gint
- xmms_flv_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len, xmms_error_t *err)
- {
-- gint ret = 0, thismuch = FLV_TAG_SIZE + 5;
-- guint8 header[FLV_TAG_SIZE + 6], gap = 1;
-+ gint ret = 0, thismuch = FLV_TAG_SIZE + 1;
-+ guint8 header[FLV_TAG_SIZE + 1];
- xmms_flv_data_t *data = NULL;
-
- data = xmms_xform_private_data_get (xform);
-@@ -236,12 +264,8 @@ xmms_flv_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len, xmms_error_t *
- xmms_xform_auxdata_barrier (xform);
- ret = next_audio_tag (xform);
- if (ret > 0) {
-- if (data->format == 10) {
-- thismuch++;
-- gap++;
-- }
- if (xmms_xform_read (xform, header, thismuch, err) == thismuch) {
-- data->last_datasize = get_be24 (&header[5]) - gap;
-+ data->last_datasize = get_be24 (&header[1]) - 1;
- } else {
- xmms_log_error ("Need %d bytes", thismuch);
- return -1;
-@@ -280,40 +304,51 @@ xmms_flv_destroy (xmms_xform_t *xform)
- static gint
- next_audio_tag (xmms_xform_t *xform)
- {
-- guint8 header[FLV_TAG_SIZE + 4];
-+ guint8 header[FLV_TAG_SIZE];
- guint8 dumb[FLV_CHUNK_SIZE];
- gint ret = 0;
- xmms_error_t err;
-- guint32 datasize = 0;
-+ xmms_flv_data_t *data;
-+
-+ data = xmms_xform_private_data_get (xform);
-
- do {
-- /* there's a last 4 bytes at the end of an FLV giving the final
-- * tag's size, this isn't an error
-- */
-- ret = xmms_xform_peek (xform, header, FLV_TAG_SIZE + 4, &err);
-- if ((ret < FLV_TAG_SIZE) && (ret > -1)) {
-- ret = 0;
-- break;
-- } else if (ret == -1) {
-- xmms_log_error ("%s", xmms_error_message_get (&err));
-- break;
-- }
-+ /* If > 0 assume we're in the middle of a tag's data */
-+ if (!data->last_datasize) {
-+ /* There are 4 bytes before an actual tag giving
-+ the previous tag's size. The first size in an
-+ flv is always 0.
-+ */
-+ if (xmms_xform_read (xform, header, 4, &err) != 4) {
-+ xmms_log_error ("Couldn't read last tag size");
-+ return -1;
-+ }
-
-- if (header[4] == 8) {
-- /* woo audio tag! */
-- break;
-- }
-+ ret = xmms_xform_peek (xform, header, FLV_TAG_SIZE, &err);
-+ if ((ret < FLV_TAG_SIZE) && (ret > -1)) {
-+ return 0;
-+ } else if (ret == -1) {
-+ xmms_log_error ("%s", xmms_error_message_get (&err));
-+ return ret;
-+ }
-+
-+ if (header[0] == 8) {
-+ /* woo audio tag! */
-+ break;
-+ }
-
-- ret = xmms_xform_read (xform, header, FLV_TAG_SIZE + 4, &err);
-- if (ret <= 0) { return ret; }
-+ if ((ret = xmms_xform_read (xform, header, FLV_TAG_SIZE, &err)) <= 0) {
-+ return ret;
-+ }
-
-- datasize = get_be24 (&header[5]);
-+ data->last_datasize = get_be24 (&header[1]);
-+ }
-
-- while (datasize) {
-+ while (data->last_datasize) {
- ret = xmms_xform_read (xform, dumb,
-- (datasize < FLV_CHUNK_SIZE) ?
-- datasize : FLV_CHUNK_SIZE,
-- &err);
-+ (data->last_datasize < FLV_CHUNK_SIZE) ?
-+ data->last_datasize : FLV_CHUNK_SIZE,
-+ &err);
- if (ret == 0) {
- xmms_log_error ("Data field short!");
- break;
-@@ -323,7 +358,7 @@ next_audio_tag (xmms_xform_t *xform)
- break;
- }
-
-- datasize -= ret;
-+ data->last_datasize -= ret;
- }
-
- } while (ret);
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p4.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p4.patch
deleted file mode 100644
index 552f202df19..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p4.patch
+++ /dev/null
@@ -1,296 +0,0 @@
-commit 4198d9bf5dff517740ed51b22313367f156107e1
-Author: Erik Massop <e.massop@hccnet.nl>
-Date: Sun Dec 22 17:19:30 2013 +0100
-
- OTHER: Split xmms_avcodec_read, remove some duplicate code
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 5b9b606..eed7964 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -57,6 +57,9 @@ typedef struct {
- static gboolean xmms_avcodec_plugin_setup (xmms_xform_plugin_t *xform_plugin);
- static gboolean xmms_avcodec_init (xmms_xform_t *xform);
- static void xmms_avcodec_destroy (xmms_xform_t *xform);
-+static gint xmms_avcodec_internal_read_some (xmms_xform_t *xform, xmms_avcodec_data_t *data, xmms_error_t *error);
-+static gint xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data);
-+static void xmms_avcodec_internal_append (xmms_avcodec_data_t *data);
- static gint xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
- xmms_error_t *error);
- static gint64 xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples,
-@@ -281,101 +284,24 @@ xmms_avcodec_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
- xmms_error_t *error)
- {
- xmms_avcodec_data_t *data;
-- gint bytes_read = 0;
- guint size;
-
- data = xmms_xform_private_data_get (xform);
- g_return_val_if_fail (data, -1);
-
-- size = MIN (data->outbuf->len, len);
-- while (size == 0) {
-- AVPacket packet;
-- av_init_packet (&packet);
-+ while (0 == (size = MIN (data->outbuf->len, len))) {
-+ gint res;
-
- if (data->no_demuxer || data->buffer_length == 0) {
-- gint read_total;
--
-- bytes_read = xmms_xform_read (xform,
-- (gchar *) (data->buffer + data->buffer_length),
-- data->buffer_size - data->buffer_length,
-- error);
--
-- if (bytes_read < 0) {
-- XMMS_DBG ("Error while reading data");
-- return bytes_read;
-- } else if (bytes_read == 0) {
-- XMMS_DBG ("EOF");
-- return 0;
-- }
--
-- read_total = bytes_read;
--
-- /* If we have a demuxer plugin, make sure we read the whole packet */
-- while (read_total == data->buffer_size && !data->no_demuxer) {
-- /* multiply the buffer size and try to read again */
-- data->buffer = g_realloc (data->buffer, data->buffer_size * 2);
-- bytes_read = xmms_xform_read (xform,
-- (gchar *) data->buffer +
-- data->buffer_size,
-- data->buffer_size,
-- error);
-- data->buffer_size *= 2;
--
-- if (bytes_read < 0) {
-- XMMS_DBG ("Error while reading data");
-- return bytes_read;
-- }
--
-- read_total += bytes_read;
--
-- if (read_total < data->buffer_size) {
-- /* finally double the buffer size for performance reasons, the
-- * hotspot handling likes to fit two frames in the buffer */
-- data->buffer = g_realloc (data->buffer, data->buffer_size * 2);
-- data->buffer_size *= 2;
-- XMMS_DBG ("Reallocated avcodec internal buffer to be %d bytes",
-- data->buffer_size);
--
-- break;
-- }
-- }
--
-- /* Update the buffer length */
-- data->buffer_length += read_total;
-- }
--
-- packet.data = data->buffer;
-- packet.size = data->buffer_length;
--
-- data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-- bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) data->read_out_buffer,
-- &data->read_out_buffer_size, &packet);
-+ gint bytes_read;
-
-- /* The DTS decoder of ffmpeg is buggy and always returns
-- * the input buffer length, get frame length from header */
-- if (!strcmp (data->codec_id, "dca") && bytes_read > 0) {
-- bytes_read = ((int)data->buffer[5] << 12) |
-- ((int)data->buffer[6] << 4) |
-- ((int)data->buffer[7] >> 4);
-- bytes_read = (bytes_read & 0x3fff) + 1;
-+ bytes_read = xmms_avcodec_internal_read_some (xform, data, error);
-+ if (bytes_read <= 0) { return bytes_read; }
- }
-
-- if (bytes_read < 0 || bytes_read > data->buffer_length) {
-- XMMS_DBG ("Error decoding data!");
-- return -1;
-- } else if (bytes_read != data->buffer_length) {
-- g_memmove (data->buffer,
-- data->buffer + bytes_read,
-- data->buffer_length - bytes_read);
-- }
--
-- data->buffer_length -= bytes_read;
--
-- if (data->read_out_buffer_size > 0) {
-- g_string_append_len (data->outbuf, data->read_out_buffer, data->read_out_buffer_size);
-- }
--
-- size = MIN (data->outbuf->len, len);
-+ res = xmms_avcodec_internal_decode_some (data);
-+ if (res < 0) { return res; }
-+ if (res > 0) { xmms_avcodec_internal_append (data); }
- }
-
- memcpy (buf, data->outbuf->str, size);
-@@ -388,7 +314,6 @@ static gint64
- xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t whence, xmms_error_t *err)
- {
- xmms_avcodec_data_t *data;
-- gint bytes_read = 0;
- gint64 ret = -1;
-
- g_return_val_if_fail (xform, -1);
-@@ -406,23 +331,11 @@ xmms_avcodec_seek (xmms_xform_t *xform, gint64 samples, xmms_xform_seek_mode_t w
-
- /* The buggy ape decoder doesn't flush buffers, so we need to finish decoding
- * the frame before seeking to avoid segfaults... this hack sucks */
-+ /* FIXME: Is ^^^ still true? */
- while (data->buffer_length > 0) {
-- AVPacket packet;
-- av_init_packet (&packet);
-- packet.data = data->buffer;
-- packet.size = data->buffer_length;
--
-- data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-- bytes_read = avcodec_decode_audio3 (data->codecctx, (short *) data->read_out_buffer,
-- &data->read_out_buffer_size, &packet);
--
-- if (bytes_read < 0 || bytes_read > data->buffer_length) {
-- XMMS_DBG ("Error decoding data!");
-+ if (xmms_avcodec_internal_decode_some (data) < 0) {
- return -1;
- }
--
-- data->buffer_length -= bytes_read;
-- g_memmove (data->buffer, data->buffer + bytes_read, data->buffer_length);
- }
-
- ret = xmms_xform_seek (xform, samples, whence, err);
-@@ -456,3 +369,131 @@ xmms_avcodec_translate_sample_format (enum AVSampleFormat av_sample_format)
- return XMMS_SAMPLE_FORMAT_UNKNOWN;
- }
- }
-+
-+/*
-+Read some data from our source of data to data->buffer, updating buffer_length
-+and buffer_size as needed.
-+
-+Returns: on error: negative
-+ on EOF: zero
-+ otherwise: number of bytes read.
-+*/
-+static gint
-+xmms_avcodec_internal_read_some (xmms_xform_t *xform,
-+ xmms_avcodec_data_t *data,
-+ xmms_error_t *error)
-+{
-+ gint bytes_read, read_total;
-+
-+ bytes_read = xmms_xform_read (xform,
-+ (gchar *) (data->buffer + data->buffer_length),
-+ data->buffer_size - data->buffer_length,
-+ error);
-+
-+ if (bytes_read < 0) {
-+ XMMS_DBG ("Error while reading data");
-+ return bytes_read;
-+ } else if (bytes_read == 0) {
-+ XMMS_DBG ("EOF");
-+ return 0;
-+ }
-+
-+ read_total = bytes_read;
-+
-+ /* If we have a demuxer plugin, make sure we read the whole packet */
-+ while (read_total == data->buffer_size && !data->no_demuxer) {
-+ /* multiply the buffer size and try to read again */
-+ data->buffer = g_realloc (data->buffer, data->buffer_size * 2);
-+ bytes_read = xmms_xform_read (xform,
-+ (gchar *) data->buffer +
-+ data->buffer_size,
-+ data->buffer_size,
-+ error);
-+ data->buffer_size *= 2;
-+
-+ if (bytes_read < 0) {
-+ XMMS_DBG ("Error while reading data");
-+ return bytes_read;
-+ }
-+
-+ read_total += bytes_read;
-+
-+ if (read_total < data->buffer_size) {
-+ /* finally double the buffer size for performance reasons, the
-+ * hotspot handling likes to fit two frames in the buffer */
-+ data->buffer = g_realloc (data->buffer, data->buffer_size * 2);
-+ data->buffer_size *= 2;
-+ XMMS_DBG ("Reallocated avcodec internal buffer to be %d bytes",
-+ data->buffer_size);
-+
-+ break;
-+ }
-+ }
-+
-+ /* Update the buffer length */
-+ data->buffer_length += read_total;
-+
-+ return read_total;
-+}
-+
-+/*
-+Decode some data from data->buffer[0..data->buffer_length-1] to
-+data->read_out_buffer. Number of bytes in data->read_out_buffer
-+is stored in data->read_out_buffer_size.
-+
-+Returns: on error: negative
-+ on no new data produced: zero
-+ otherwise: positive
-+
-+FIXME: data->buffer should be at least data->buffer_length +
-+FF_INPUT_BUFFER_PADDING_SIZE long.
-+*/
-+static gint
-+xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
-+{
-+ gint bytes_read = 0;
-+ AVPacket packet;
-+
-+ av_init_packet (&packet);
-+ packet.data = data->buffer;
-+ packet.size = data->buffer_length;
-+
-+ data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+ bytes_read = avcodec_decode_audio3 (data->codecctx,
-+ (short *) data->read_out_buffer,
-+ &data->read_out_buffer_size, &packet);
-+
-+ /* The DTS decoder of ffmpeg is buggy and always returns
-+ * the input buffer length, get frame length from header */
-+ /* FIXME: Is ^^^^ still true? */
-+ if (!strcmp (data->codec_id, "dca") && bytes_read > 0) {
-+ bytes_read = ((int)data->buffer[5] << 12) |
-+ ((int)data->buffer[6] << 4) |
-+ ((int)data->buffer[7] >> 4);
-+ bytes_read = (bytes_read & 0x3fff) + 1;
-+ }
-+
-+ if (bytes_read < 0 || bytes_read > data->buffer_length) {
-+ XMMS_DBG ("Error decoding data!");
-+ return -1;
-+ }
-+
-+ if (bytes_read < data->buffer_length) {
-+ data->buffer_length -= bytes_read;
-+ g_memmove (data->buffer,
-+ data->buffer + bytes_read,
-+ data->buffer_length);
-+ } else {
-+ data->buffer_length = 0;
-+ }
-+
-+ return data->read_out_buffer_size;
-+}
-+
-+static void
-+xmms_avcodec_internal_append (xmms_avcodec_data_t *data)
-+{
-+ g_string_append_len (data->outbuf,
-+ (gchar *) data->read_out_buffer,
-+ data->read_out_buffer_size);
-+}
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p5.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p5.patch
deleted file mode 100644
index 8ed5bb4a24a..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p5.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-commit d44312fb14bde0ab47ee6de1b3fe7435d4a97c99
-Author: Erik Massop <e.massop@hccnet.nl>
-Date: Sun Dec 22 20:01:18 2013 +0100
-
- BUG(2572): Use avcodec_decode_audio4
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 266a607..a41a675 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -37,8 +37,7 @@ typedef struct {
- guint buffer_size;
- gboolean no_demuxer;
-
-- gchar *read_out_buffer;
-- gint read_out_buffer_size;
-+ AVFrame *read_out_frame;
-
- guint channels;
- guint samplerate;
-@@ -125,7 +124,7 @@ xmms_avcodec_destroy (xmms_xform_t *xform)
-
- avcodec_close (data->codecctx);
- av_free (data->codecctx);
-- av_free (data->read_out_buffer);
-+ avcodec_free_frame (&data->read_out_frame);
-
- g_string_free (data->outbuf, TRUE);
- g_free (data->buffer);
-@@ -151,8 +150,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->buffer_size = AVCODEC_BUFFER_SIZE;
- data->codecctx = NULL;
-
-- data->read_out_buffer = av_malloc (AVCODEC_MAX_AUDIO_FRAME_SIZE);
-- data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-+ data->read_out_frame = avcodec_alloc_frame ();
-
- xmms_xform_private_data_set (xform, data);
-
-@@ -233,6 +231,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->codecctx->extradata_size = data->extradata_size;
- data->codecctx->codec_id = codec->id;
- data->codecctx->codec_type = codec->type;
-+ data->codecctx->refcounted_frames = 0;
-
- if (avcodec_open2 (data->codecctx, codec, NULL) < 0) {
- XMMS_DBG ("Opening decoder '%s' failed", codec->name);
-@@ -279,8 +278,8 @@ err:
- if (data->codecctx) {
- av_free (data->codecctx);
- }
-- if (data->read_out_buffer) {
-- av_free (data->read_out_buffer);
-+ if (data->read_out_frame) {
-+ avcodec_free_frame (&data->read_out_frame);
- }
- g_string_free (data->outbuf, TRUE);
- g_free (data->extradata);
-@@ -365,17 +364,23 @@ xmms_avcodec_translate_sample_format (enum AVSampleFormat av_sample_format)
- {
- switch (av_sample_format) {
- case AV_SAMPLE_FMT_U8:
-+ case AV_SAMPLE_FMT_U8P:
- return XMMS_SAMPLE_FORMAT_U8;
- case AV_SAMPLE_FMT_S16:
-+ case AV_SAMPLE_FMT_S16P:
- return XMMS_SAMPLE_FORMAT_S16;
- case AV_SAMPLE_FMT_S32:
-+ case AV_SAMPLE_FMT_S32P:
- return XMMS_SAMPLE_FORMAT_S32;
- case AV_SAMPLE_FMT_FLT:
-+ case AV_SAMPLE_FMT_FLTP:
- return XMMS_SAMPLE_FORMAT_FLOAT;
- case AV_SAMPLE_FMT_DBL:
-+ case AV_SAMPLE_FMT_DBLP:
- return XMMS_SAMPLE_FORMAT_DOUBLE;
- default:
-- XMMS_DBG ("AVSampleFormat (%i) not supported.", av_sample_format);
-+ XMMS_DBG ("AVSampleFormat (%i: %s) not supported.", av_sample_format,
-+ av_get_sample_fmt_name (av_sample_format));
- return XMMS_SAMPLE_FORMAT_UNKNOWN;
- }
- }
-@@ -448,8 +453,7 @@ xmms_avcodec_internal_read_some (xmms_xform_t *xform,
-
- /*
- Decode some data from data->buffer[0..data->buffer_length-1] to
--data->read_out_buffer. Number of bytes in data->read_out_buffer
--is stored in data->read_out_buffer_size.
-+data->read_out_frame
-
- Returns: on error: negative
- on no new data produced: zero
-@@ -461,6 +465,7 @@ FF_INPUT_BUFFER_PADDING_SIZE long.
- static gint
- xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
- {
-+ int got_frame = 0;
- gint bytes_read = 0;
- AVPacket packet;
-
-@@ -468,10 +473,10 @@ xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
- packet.data = data->buffer;
- packet.size = data->buffer_length;
-
-- data->read_out_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
-- bytes_read = avcodec_decode_audio3 (data->codecctx,
-- (short *) data->read_out_buffer,
-- &data->read_out_buffer_size, &packet);
-+ avcodec_get_frame_defaults (data->read_out_frame);
-+
-+ bytes_read = avcodec_decode_audio4 (
-+ data->codecctx, data->read_out_frame, &got_frame, &packet);
-
- /* The DTS decoder of ffmpeg is buggy and always returns
- * the input buffer length, get frame length from header */
-@@ -497,13 +502,33 @@ xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
- data->buffer_length = 0;
- }
-
-- return data->read_out_buffer_size;
-+ return got_frame ? 1 : 0;
- }
-
- static void
- xmms_avcodec_internal_append (xmms_avcodec_data_t *data)
- {
-- g_string_append_len (data->outbuf,
-- (gchar *) data->read_out_buffer,
-- data->read_out_buffer_size);
-+ enum AVSampleFormat fmt = (enum AVSampleFormat) data->read_out_frame->format;
-+ int samples = data->read_out_frame->nb_samples;
-+ int channels = data->codecctx->channels;
-+ int bps = av_get_bytes_per_sample (fmt);
-+
-+ if (av_sample_fmt_is_planar (fmt)) {
-+ /* Convert from planar to packed format */
-+ gint i, j;
-+
-+ for (i = 0; i < samples; i++) {
-+ for (j = 0; j < channels; j++) {
-+ g_string_append_len (
-+ data->outbuf,
-+ (gchar *) (data->read_out_frame->extended_data[j] + i*bps),
-+ bps
-+ );
-+ }
-+ }
-+ } else {
-+ g_string_append_len (data->outbuf,
-+ (gchar *) data->read_out_frame->extended_data[0],
-+ samples * channels * bps);
-+ }
- }
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p6.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p6.patch
deleted file mode 100644
index b1bc1c5d609..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p6.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-commit fc66249e69f53eef709c5210546fdd92e1c89554
-Author: Erik Massop <e.massop@hccnet.nl>
-Date: Sun Dec 22 23:04:08 2013 +0100
-
- OTHER: Some compatibility with different avcodec versions
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index a41a675..023833d 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -124,7 +124,7 @@ xmms_avcodec_destroy (xmms_xform_t *xform)
-
- avcodec_close (data->codecctx);
- av_free (data->codecctx);
-- avcodec_free_frame (&data->read_out_frame);
-+ av_frame_free (&data->read_out_frame);
-
- g_string_free (data->outbuf, TRUE);
- g_free (data->buffer);
-@@ -150,7 +150,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->buffer_size = AVCODEC_BUFFER_SIZE;
- data->codecctx = NULL;
-
-- data->read_out_frame = avcodec_alloc_frame ();
-+ data->read_out_frame = av_frame_alloc ();
-
- xmms_xform_private_data_set (xform, data);
-
-@@ -231,7 +231,6 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->codecctx->extradata_size = data->extradata_size;
- data->codecctx->codec_id = codec->id;
- data->codecctx->codec_type = codec->type;
-- data->codecctx->refcounted_frames = 0;
-
- if (avcodec_open2 (data->codecctx, codec, NULL) < 0) {
- XMMS_DBG ("Opening decoder '%s' failed", codec->name);
-@@ -473,7 +472,8 @@ xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
- packet.data = data->buffer;
- packet.size = data->buffer_length;
-
-- avcodec_get_frame_defaults (data->read_out_frame);
-+ /* clear buffers and reset fields to defaults */
-+ av_frame_unref (data->read_out_frame);
-
- bytes_read = avcodec_decode_audio4 (
- data->codecctx, data->read_out_frame, &got_frame, &packet);
-diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
-index 73ac2ab..e74b3f8 100644
---- a/src/plugins/avcodec/avcodec_compat.h
-+++ b/src/plugins/avcodec/avcodec_compat.h
-@@ -83,3 +83,17 @@ typedef struct AVPacket {
- # define avcodec_open2(avctx, codec, options) \
- avcodec_open(avctx, codec)
- #endif
-+
-+/* Map avcodec_free_frame to av_freep if the former doesn't exist.
-+ * (This is in versions earlier than 54.28.0 (libav) or 54.59.100 (ffmpeg)) */
-+#if ! HAVE_AVCODEC_FREE_FRAME
-+# define avcodec_free_frame av_freep
-+#endif
-+
-+/* Map av_frame_alloc, av_frame_unref, av_frame_free into their
-+ * deprecated versions in versions earlier than 55.28.1 */
-+#if LIBAVCODEC_VERSION_INT < 0x371c01
-+# define av_frame_alloc avcodec_alloc_frame
-+# define av_frame_unref avcodec_get_frame_defaults
-+# define av_frame_free avcodec_free_frame
-+#endif
-diff --git a/src/plugins/avcodec/wscript b/src/plugins/avcodec/wscript
-index 03ba7d8..d367816 100644
---- a/src/plugins/avcodec/wscript
-+++ b/src/plugins/avcodec/wscript
-@@ -1,10 +1,33 @@
- from waftools.plugin import plugin
-
-+## Code fragments for configuration
-+avcodec_free_frame_fragment = """
-+#ifdef HAVE_LIBAVCODEC_AVCODEC_H
-+# include "libavcodec/avcodec.h"
-+#else
-+# include "avcodec.h"
-+#endif
-+int main(void) {
-+ AVFrame *frame;
-+
-+ avcodec_free_frame (&frame);
-+
-+ return 0;
-+}
-+"""
-+
- def plugin_configure(conf):
- conf.check_cfg(package="libavcodec", uselib_store="avcodec",
- args="--cflags --libs")
- conf.check_cc(header_name="avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
- conf.check_cc(header_name="libavcodec/avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
-
-+ # non-mandatory function avcodec_free_frame since
-+ # * ffmpeg: commit 46a3595, lavc 54.59.100, release 1.0
-+ # * libav: commit a42aada, lavc 54.28.0, release 9
-+ conf.check_cc(fragment=avcodec_free_frame_fragment, uselib="avcodec",
-+ uselib_store="avcodec_free_frame",
-+ msg="Checking for function avcodec_free_frame", mandatory=False)
-+
- configure, build = plugin('avcodec', configure=plugin_configure,
- libs=["avcodec"])
diff --git a/media-sound/xmms2/files/xmms2-0.8-audio4-p7.patch b/media-sound/xmms2/files/xmms2-0.8-audio4-p7.patch
deleted file mode 100644
index 2d4bafd95a7..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-audio4-p7.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-commit f460440b3f2a9db1a9deef3faf7dae6e626dd7b5
-Author: Erik Massop <e.massop@hccnet.nl>
-Date: Sun Dec 22 23:34:12 2013 +0100
-
- OTHER: Require avcodec_decode_audio4
-
- This was introduced in versions 53.40.0 (ffmpeg) and 53.25.0 (libav) of
- avcodec. Hence we drop compatibility for earlier versions.
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 023833d..6d0b667 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -154,7 +154,6 @@ xmms_avcodec_init (xmms_xform_t *xform)
-
- xmms_xform_private_data_set (xform, data);
-
-- avcodec_init ();
- avcodec_register_all ();
-
- mimetype = xmms_xform_indata_get_str (xform,
-@@ -225,7 +224,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->codecctx->sample_rate = data->samplerate;
- data->codecctx->channels = data->channels;
- data->codecctx->bit_rate = data->bitrate;
-- CONTEXT_BPS (data->codecctx) = data->samplebits;
-+ data->codecctx->bits_per_coded_sample = data->samplebits;
- data->codecctx->block_align = data->block_align;
- data->codecctx->extradata = data->extradata;
- data->codecctx->extradata_size = data->extradata_size;
-diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
-index e74b3f8..b50fa4b 100644
---- a/src/plugins/avcodec/avcodec_compat.h
-+++ b/src/plugins/avcodec/avcodec_compat.h
-@@ -21,69 +21,6 @@
- # include "avcodec.h"
- #endif
-
--/* Map avcodec_decode_audio2 into the deprecated version
-- * avcodec_decode_audio in versions earlier than 51.28 */
--#if LIBAVCODEC_VERSION_INT < 0x331c00
--# define avcodec_decode_audio2 avcodec_decode_audio
--#endif
--
--/* Handle API change that happened in libavcodec 52.00 */
--#if LIBAVCODEC_VERSION_INT < 0x340000
--# define CONTEXT_BPS(codecctx) (codecctx)->bits_per_sample
--#else
--# define CONTEXT_BPS(codecctx) (codecctx)->bits_per_coded_sample
--#endif
--
--/* Before 52.23 AVPacket was defined in avformat.h which we
-- * do not want to depend on, so we define part of it manually
-- * on versions smaller than 52.23 (this makes me cry) */
--#if LIBAVCODEC_VERSION_INT < 0x341700
--typedef struct AVPacket {
-- uint8_t *data;
-- int size;
--} AVPacket;
--#endif
--
--/* Same thing as above for av_init_packet and version 52.25 */
--#if LIBAVCODEC_VERSION_INT < 0x341900
--# define av_init_packet(pkt) do { \
-- (pkt)->data = NULL; \
-- (pkt)->size = 0; \
-- } while(0)
--#endif
--
--/* Map avcodec_decode_audio3 into the deprecated version
-- * avcodec_decode_audio2 in versions earlier than 52.26 */
--#if LIBAVCODEC_VERSION_INT < 0x341a00
--# define avcodec_decode_audio3(avctx, samples, frame_size_ptr, avpkt) \
-- avcodec_decode_audio2(avctx, samples, frame_size_ptr, \
-- (avpkt)->data, (avpkt)->size)
--#endif
--
--/* Handle API change that happened in libavcodec 52.64 */
--#if LIBAVCODEC_VERSION_INT < 0x344000
--# define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
--#endif
--
--/* Calling avcodec_init is not necessary after 53.04 (ffmpeg 0.9) */
--#if LIBAVCODEC_VERSION_INT >= 0x350400
--# define avcodec_init()
--#endif
--
--/* Map avcodec_alloc_context3 into the deprecated version
-- * avcodec_alloc_context in versions earlier than 53.04 (ffmpeg 0.9) */
--#if LIBAVCODEC_VERSION_INT < 0x350400
--# define avcodec_alloc_context3(codec) \
-- avcodec_alloc_context()
--#endif
--
--/* Map avcodec_open2 into the deprecated version
-- * avcodec_open in versions earlier than 53.04 (ffmpeg 0.9) */
--#if LIBAVCODEC_VERSION_INT < 0x350400
--# define avcodec_open2(avctx, codec, options) \
-- avcodec_open(avctx, codec)
--#endif
--
- /* Map avcodec_free_frame to av_freep if the former doesn't exist.
- * (This is in versions earlier than 54.28.0 (libav) or 54.59.100 (ffmpeg)) */
- #if ! HAVE_AVCODEC_FREE_FRAME
-diff --git a/src/plugins/avcodec/wscript b/src/plugins/avcodec/wscript
-index d367816..00b182b 100644
---- a/src/plugins/avcodec/wscript
-+++ b/src/plugins/avcodec/wscript
-@@ -1,6 +1,24 @@
- from waftools.plugin import plugin
-
- ## Code fragments for configuration
-+avcodec_decode_audio4_fragment = """
-+#ifdef HAVE_LIBAVCODEC_AVCODEC_H
-+# include "libavcodec/avcodec.h"
-+#else
-+# include "avcodec.h"
-+#endif
-+int main(void) {
-+ AVCodecContext *ctx;
-+ AVFrame *frame;
-+ int got_frame;
-+ AVPacket *pkt;
-+
-+ avcodec_decode_audio4 (ctx, frame, &got_frame, pkt);
-+
-+ return 0;
-+}
-+"""
-+
- avcodec_free_frame_fragment = """
- #ifdef HAVE_LIBAVCODEC_AVCODEC_H
- # include "libavcodec/avcodec.h"
-@@ -22,6 +40,13 @@ def plugin_configure(conf):
- conf.check_cc(header_name="avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
- conf.check_cc(header_name="libavcodec/avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
-
-+ # mandatory function avcodec_decode_audio4 available since
-+ # * ffmpeg: commit e4de716, lavc 53.40.0, release 0.9
-+ # * libav: commit 0eea212, lavc 53.25.0, release 0.8
-+ conf.check_cc(fragment=avcodec_decode_audio4_fragment, uselib="avcodec",
-+ uselib_store="avcodec_decode_audio4",
-+ msg="Checking for function avcodec_decode_audio4", mandatory=True)
-+
- # non-mandatory function avcodec_free_frame since
- # * ffmpeg: commit 46a3595, lavc 54.59.100, release 1.0
- # * libav: commit a42aada, lavc 54.28.0, release 9
diff --git a/media-sound/xmms2/files/xmms2-0.8-cpython.patch b/media-sound/xmms2/files/xmms2-0.8-cpython.patch
deleted file mode 100644
index 58227ba5db8..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-cpython.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/src/clients/lib/python/cython_include/cxmmsclient.pxd b/src/clients/lib/python/cython_include/cxmmsclient.pxd
-index 66390a7..629bc7f 100644
---- a/src/clients/lib/python/cython_include/cxmmsclient.pxd
-+++ b/src/clients/lib/python/cython_include/cxmmsclient.pxd
-@@ -30,3 +30,3 @@ cdef extern from "xmmsc/xmmsc_idnumbers.h":
-
-- ctypedef enum xmmsc_collection_changed_actions_t:
-+ ctypedef enum xmms_collection_changed_actions_t:
- XMMS_COLLECTION_CHANGED_ADD
diff --git a/media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch b/media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch
deleted file mode 100644
index 1d6e59f6c83..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-cython-0.19.1.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6d6d7a7ee38c8e3f57242f2510e06a03f4e7e249 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Mon, 5 Aug 2013 22:29:46 +0300
-Subject: [PATCH] unbreak xmms2 building on cython-0.19.1
-
-Error compiling Cython file:
-------------------------------------------------------------
-...
- def medialib_path_import(self, path, cb = None, encoded=False):
- """
- @deprecated
- Use medialib_import_path(path, ...) instead
- """
- return self.medialib_import_path(self, path, cb=cb, encoded=encoded)
- ^
-
-Reported-by: ChunFeng
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- src/clients/lib/python/xmmsapi.pyx | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/clients/lib/python/xmmsapi.pyx b/src/clients/lib/python/xmmsapi.pyx
-index 501a068..863db88 100644
---- a/src/clients/lib/python/xmmsapi.pyx
-+++ b/src/clients/lib/python/xmmsapi.pyx
-@@ -1364,7 +1364,7 @@ cdef class XmmsApi(XmmsCore):
- @deprecated
- Use medialib_import_path(path, ...) instead
- """
-- return self.medialib_import_path(self, path, cb=cb, encoded=encoded)
-+ return self.medialib_import_path(path, cb=cb, encoded=encoded)
-
- @deprecated
- def medialib_path_import_encoded(self, path, cb = None):
-@@ -1372,7 +1372,7 @@ cdef class XmmsApi(XmmsCore):
- @deprecated
- Use medialib_import_path(path, ..., encoded=True) instead
- """
-- return self.medialib_import_path(self, path, cb=cb, encoded=True)
-+ return self.medialib_import_path(path, cb=cb, encoded=True)
-
- cpdef XmmsResult medialib_property_set(self, int id, key, value, source=None, cb=None):
- """
---
-1.8.3.2
-
diff --git a/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch b/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch
deleted file mode 100644
index bac2fba7e9f..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-ffmpeg-0.11.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit 8743e0c3a4f06053d89b74e40a362ba4949ed53c
-Author: Juho Vähä-Herttua <juhovh@iki.fi>
-Date: Fri Jun 8 09:30:47 2012 +0300
-
- OTHER: Quick fix to make XMMS2 compile on ffmpeg 0.11
-
-diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
-index df87b27..f1b1af7 100644
---- a/src/plugins/avcodec/avcodec_compat.h
-+++ b/src/plugins/avcodec/avcodec_compat.h
-@@ -65,3 +65,7 @@ typedef struct AVPacket {
- # define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
- #endif
-
-+/* Calling avcodec_init is not necessary after 53.04 (ffmpeg 0.9) */
-+#if LIBAVCODEC_VERSION_INT >= 0x350400
-+# define avcodec_init()
-+#endif
diff --git a/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch b/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch
deleted file mode 100644
index db55bc8a693..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-libav-9-p2.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-commit 4781c507be338fe151e08af7d13267a24cbd7572
-Author: Juho Vähä-Herttua <juhovh@iki.fi>
-Date: Fri Jun 8 09:47:03 2012 +0300
-
- OTHER: Fix some deprecated warnings in libavcodec
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index 242e333..c846d64 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -208,7 +208,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- }
- }
-
-- data->codecctx = avcodec_alloc_context ();
-+ data->codecctx = avcodec_alloc_context3 (codec);
- data->codecctx->sample_rate = data->samplerate;
- data->codecctx->channels = data->channels;
- data->codecctx->bit_rate = data->bitrate;
-@@ -219,7 +219,7 @@ xmms_avcodec_init (xmms_xform_t *xform)
- data->codecctx->codec_id = codec->id;
- data->codecctx->codec_type = codec->type;
-
-- if (avcodec_open (data->codecctx, codec) < 0) {
-+ if (avcodec_open2 (data->codecctx, codec, NULL) < 0) {
- XMMS_DBG ("Opening decoder '%s' failed", codec->name);
- goto err;
- } else {
-diff --git a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h
-index f1b1af7..bc770f2 100644
---- a/src/plugins/avcodec/avcodec_compat.h
-+++ b/src/plugins/avcodec/avcodec_compat.h
-@@ -69,3 +69,17 @@ typedef struct AVPacket {
- #if LIBAVCODEC_VERSION_INT >= 0x350400
- # define avcodec_init()
- #endif
-+
-+/* Map avcodec_alloc_context3 into the deprecated version
-+ * avcodec_alloc_context in versions earlier than 53.04 (ffmpeg 0.9) */
-+#if LIBAVCODEC_VERSION_INT < 0x350400
-+# define avcodec_alloc_context3(codec) \
-+ avcodec_alloc_context()
-+#endif
-+
-+/* Map avcodec_open2 into the deprecated version
-+ * avcodec_open in versions earlier than 53.04 (ffmpeg 0.9) */
-+#if LIBAVCODEC_VERSION_INT < 0x350400
-+# define avcodec_open2(avctx, codec, options) \
-+ avcodec_open(avctx, codec)
-+#endif
diff --git a/media-sound/xmms2/files/xmms2-0.8-libav-9.patch b/media-sound/xmms2/files/xmms2-0.8-libav-9.patch
deleted file mode 100644
index 9c13ec41e02..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-libav-9.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-commit d61dbc522f4024debb1f99de758de9e5cc7c0936
-Author: Diego Biurrun <diego@biurrun.de>
-Date: Sun Nov 25 17:33:02 2012 +0100
-
- OTHER: Support for newer libavcodec versions
-
- Add missing #include
-
-diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
-index c846d64..114d7df 100644
---- a/src/plugins/avcodec/avcodec.c
-+++ b/src/plugins/avcodec/avcodec.c
-@@ -23,6 +23,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <glib.h>
-+#include <libavutil/mem.h>
-
- #include "avcodec_compat.h"
-
diff --git a/media-sound/xmms2/files/xmms2-0.8-memset.patch b/media-sound/xmms2/files/xmms2-0.8-memset.patch
deleted file mode 100644
index 6f8377d9f92..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-memset.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 00f4736bbb8ebc88a08e24e98d384b43d5afbbe4
-Author: Raphaël Bois <virtualdust@gmail.com>
-Date: Sun Feb 12 16:39:46 2012 +0100
-
- OTHER: fix erroneous sizeof usage
-
-diff --git a/src/plugins/daap/daap_md5.c b/src/plugins/daap/daap_md5.c
-index d4d8d74..69c84a5 100644
---- a/src/plugins/daap/daap_md5.c
-+++ b/src/plugins/daap/daap_md5.c
-@@ -191,7 +191,7 @@ OpenDaap_MD5Final (MD5_CTX *ctx,
- MD5Transform (ctx->buf, (guint32 *) ctx->in, ctx->version);
- byteReverse ((unsigned char *) ctx->buf, 4);
- memcpy (digest, ctx->buf, 16);
-- memset (ctx, 0, sizeof (ctx)); /* In case it's sensitive */
-+ memset (ctx, 0, sizeof (*ctx)); /* In case it's sensitive */
-
- return;
- }
diff --git a/media-sound/xmms2/files/xmms2-0.8-modpug.patch b/media-sound/xmms2/files/xmms2-0.8-modpug.patch
deleted file mode 100644
index ce401279c14..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-modpug.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/plugins/modplug/modplug.c 2011-10-20 20:26:08.000000000 +0000
-+++ b/src/plugins/modplug/modplug.c 2015-01-08 19:52:43.889787624 +0000
-@@ -9,7 +9,7 @@
- #include "xmms/xmms_sample.h"
- #include "xmms/xmms_medialib.h"
- #include "xmms/xmms_log.h"
--#include <modplug.h>
-+#include <libmodplug/modplug.h>
-
- #include <glib.h>
- #include <string.h>
diff --git a/media-sound/xmms2/files/xmms2-0.8-samba-4.patch b/media-sound/xmms2/files/xmms2-0.8-samba-4.patch
deleted file mode 100644
index 937f3d75bea..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8-samba-4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 86ea5e2d2ac2d8c8c1aee484e8c264440fafcb6a
-Author: Daniel P. Chokola <dan.chokola@gmail.com>
-Date: Wed Jan 1 14:57:35 2014 -0500
-
- BUG(2573): Samba 4.0 uses pkg-config. Find libsmbclient.h properly.
-
-diff --git a/src/plugins/samba/wscript b/src/plugins/samba/wscript
-index 8398169..77d7cda 100644
---- a/src/plugins/samba/wscript
-+++ b/src/plugins/samba/wscript
-@@ -1,8 +1,17 @@
- from waftools.plugin import plugin
-+from waflib import Errors
-
- def plugin_configure(conf):
-- conf.check_cc(header_name="libsmbclient.h")
-- conf.check(lib="smbclient", uselib_store="smbclient")
-+ try:
-+ conf.check_cfg(package="smbclient", uselib_store="smbclient",
-+ args="--cflags --libs")
-+ except Errors.ConfigurationError:
-+ conf.check_cc(header_name="libsmbclient.h",
-+ uselib="smbclient",
-+ type="cshlib")
-+ conf.check(lib="smbclient", uselib_store="smbclient",
-+ uselib="smbclient",
-+ type="cshlib")
-
- configure, build = plugin("samba", configure=plugin_configure,
- libs=["smbclient"])
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2020-06-17 17:49 Aaron Bauman
0 siblings, 0 replies; 6+ messages in thread
From: Aaron Bauman @ 2020-06-17 17:49 UTC (permalink / raw
To: gentoo-commits
commit: eb5c95d3aa27942398844bd9497f786561edc735
Author: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Wed Jun 17 14:13:05 2020 +0000
Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Wed Jun 17 17:49:45 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb5c95d3
media-sound/xmms2: remove unused patch
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/16294
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
.../xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch
deleted file mode 100644
index af18825ac00..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Install perl modules into /usr, not /usr/local.
-
-$ perl -MConfig -e 'print "$Config{archlib}\n"'
-/usr/lib64/perl5/5.24.3/x86_64-linux
-$ perl -MConfig -e 'print "$Config{sitearch}\n"'
-/usr/local/lib64/perl5/5.24.3/x86_64-linux
---- a/waflib/Tools/perl.py
-+++ b/waflib/Tools/perl.py
-@@ -75,7 +75,7 @@ def check_perl_ext_devel(self):
- env.EXTUTILS_TYPEMAP=cfg_lst('$Config{privlib}/ExtUtils/typemap')
- env.XSUBPP=find_xsubpp()
- if not getattr(Options.options,'perlarchdir',None):
-- env.ARCHDIR_PERL=cfg_str('$Config{sitearch}')
-+ env.ARCHDIR_PERL=cfg_str('$Config{archlib}')
- else:
- env.ARCHDIR_PERL=getattr(Options.options,'perlarchdir')
- env.perlext_PATTERN='%s.'+cfg_str('$Config{dlext}')
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2021-08-19 22:50 Ionen Wolkens
0 siblings, 0 replies; 6+ messages in thread
From: Ionen Wolkens @ 2021-08-19 22:50 UTC (permalink / raw
To: gentoo-commits
commit: f87f590afbffa3eb8d347eab9ddb12891197579e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 19 09:12:52 2021 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 19 22:43:48 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f87f590a
media-sound/xmms2: tidy patches, remove unused perl patch
Only tidying patches that will still be using, others
are due for cleanup.
Perl patch was kept in a "need porting" state but
perl-core/ExtUtils-ParseXS is gone from the tree and
so should the issues it was causing.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-sound/xmms2/files/xmms2-0.8-rtvg.patch | 5 ---
.../files/xmms2-0.8DrO_o-waflib-fix-perl.patch | 27 -----------
.../files/xmms2-0.8_p20161122-cpp-client.patch | 52 ----------------------
.../xmms2/files/xmms2-0.8_p20161122-faad.patch | 2 -
.../xmms2/files/xmms2-0.8_p20161122-mac-4.patch | 18 ++------
5 files changed, 3 insertions(+), 101 deletions(-)
diff --git a/media-sound/xmms2/files/xmms2-0.8-rtvg.patch b/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
index 20be3427388..e0a970c9186 100644
--- a/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
+++ b/media-sound/xmms2/files/xmms2-0.8-rtvg.patch
@@ -3,10 +3,7 @@ Add knob to disable valgrind at test runtime.
When valgrind is installed in system but is not
working we should still be able to run tests.
-Reported-by: Diego Elio Pettenò
Bug: https://bugs.gentoo.org/424377
-diff --git a/waftools/unittest.py b/waftools/unittest.py
-index 4317287..6179dfd 100644
--- a/waftools/unittest.py
+++ b/waftools/unittest.py
@@ -64,7 +64,8 @@ def generate_coverage(bld):
@@ -19,8 +16,6 @@ index 4317287..6179dfd 100644
conf.find_program("lcov", var="LCOV", mandatory=False)
conf.find_program("genhtml", var="GENHTML", mandatory=False)
-diff --git a/wscript b/wscript
-index 99c1fa3..a98d5e3 100644
--- a/wscript
+++ b/wscript
@@ -501,6 +501,10 @@ def options(opt):
diff --git a/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch b/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
deleted file mode 100644
index 220e91e6813..00000000000
--- a/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix build failure when user has non-core xsubpp.
-
-> Could not find a typemap for C type 'xmmsv_t *' in XMMSClientPlaylist.xs, line 132
-> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41.
-> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41.
-> Could not find a typemap for C type 'const unsigned char *' in XMMSClient.xs, line 1179
-
-Use xsubpp from @INC instead of bundled one with perl.
-
-Original bug: https://bugs.gentoo.org/380469
-Related: https://bugs.gentoo.org/378783
-Updated for perl-5.20.2: https://bugs.gentoo.org/578778
-diff --git a/waflib/Tools/perl.py b/waflib/Tools/perl.py
-index 2c69fe5..a75b069 100644
---- a/waflib/Tools/perl.py
-+++ b/waflib/Tools/perl.py
-@@ -60,8 +60,8 @@ def check_perl_ext_devel(self):
- env['LINKFLAGS_PERLEXT']=read_out(" -MConfig -e'print $Config{lddlflags}'")
- env['INCLUDES_PERLEXT']=read_out(" -MConfig -e'print \"$Config{archlib}/CORE\"'")
- env['CFLAGS_PERLEXT']=read_out(" -MConfig -e'print \"$Config{ccflags} $Config{cccdlflags}\"'")
-- env['XSUBPP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/xsubpp$Config{exe_ext}\"'")
-- env['EXTUTILS_TYPEMAP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'")
-+ env["XSUBPP"] = read_out(" -MModule::Metadata -e'print Module::Metadata->find_module_by_name(\"ExtUtils::xsubpp\")'")
-+ env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Metadata -e'print Module::Metadata->find_module_by_name(\"ExtUtils::typemap\")'")
- if not getattr(Options.options,'perlarchdir',None):
- env['ARCHDIR_PERL']=self.cmd_and_log(perl+" -MConfig -e'print $Config{sitearch}'")
- else:
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
index cedc87fcc46..df1d1c61657 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-cpp-client.patch
@@ -1,57 +1,8 @@
https://github.com/xmms2/xmms2-devel/pull/5
-From 82741bf3094c8e0bca8eb1b7f3bc147eeb51ea06 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 6 Dec 2018 07:19:08 +0000
Subject: [PATCH] OTHER: fix c++ client dangling reference
-
-On #xmm2 Chewi reported c++/tut7 to be broken at start:
-
-```
-GLib-WARNING **: glib-2.56.2/glib/giounix.c:410
-Error while getting flags for FD: Bad file descriptor (9)
-```
-
-valgrind shows the problem as read of uninitialized data:
-
-```
-$ valgrind ./tut7
-
-==32268== Conditional jump or move depends on uninitialised value(s)
-==32268== at 0x49DC36B: xmmsc_mainloop_gmain_init (xmmsclient-glib.c:80)
-==32268== by 0x49E11BE: Xmms::GMainloop::GMainloop(xmmsc_connection_St*) (xmmsclient++-glib.cpp:11)
-==32268== by 0x10C64D: main (in /home/slyfox/dev/git/xmms2-devel/doc/tutorial/c++/tut7)
-==32268== Uninitialised value was created by a stack allocation
-==32268== at 0x49E119A: Xmms::GMainloop::GMainloop(xmmsc_connection_St*) (xmmsclient++-glib.cpp:8)
-```
-
-This happens due to use of dangling C++ reference to stack variable:
-
-```
-// somewhere in src/include/xmmsclient/xmmsclient++/mainloop.h
-class MainloopInterface {
- MainloopInterface( xmmsc_connection_t* conn ) :
- running_( false ), conn_( conn ) { }
- protected:
- bool running_;
- xmmsc_connection_t*& conn_;
-}
-```
-
-Note: `conn_` refers to dangling local variable of
-`MainloopInterface::MainloopInterface` constructor.
-
-The fix is to pass through pointer reference.
-`MainLoop::MainLoop()` already does it.
-
-Reported-by: James Le Cuirot
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- src/include/xmmsclient/xmmsclient++/mainloop.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/include/xmmsclient/xmmsclient++/mainloop.h b/src/include/xmmsclient/xmmsclient++/mainloop.h
-index de97e20d..268ca6f7 100644
--- a/src/include/xmmsclient/xmmsclient++/mainloop.h
+++ b/src/include/xmmsclient/xmmsclient++/mainloop.h
@@ -41,7 +41,7 @@ namespace Xmms
@@ -63,6 +14,3 @@ index de97e20d..268ca6f7 100644
running_( false ), conn_( conn ) { }
/** Destructor. Should also stop the loop.
---
-2.19.2
-
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
index 00aa5d77082..2a206b913fe 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-faad.patch
@@ -4,8 +4,6 @@ it. I've run XMMS2 with this patch for months without issue.
-- Chewi
-diff --git a/src/plugins/faad/faad.c b/src/plugins/faad/faad.c
-index 50835d27..7074e1b5 100644
--- a/src/plugins/faad/faad.c
+++ b/src/plugins/faad/faad.c
@@ -242,7 +242,6 @@ xmms_faad_init (xmms_xform_t *xform)
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
index df3e4d2af85..9785b4198d5 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-mac-4.patch
@@ -1,15 +1,8 @@
-From e87745721deaf46d7054ac40cc55838561c9f552 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Carretero?= <cJ@zougloub.eu>
+https://github.com/xmms2/xmms2-devel/pull/2
+
+From: Jérôme Carretero <cJ@zougloub.eu>
Date: Tue, 24 Oct 2017 18:43:26 -0400
Subject: [PATCH] plugins: mac: support newer mac API version
-
----
- src/plugins/mac/mac.cpp | 6 +++++-
- src/plugins/mac/source_adapter.h | 8 +++++++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/src/plugins/mac/mac.cpp b/src/plugins/mac/mac.cpp
-index cec43e52..d8d3d1b9 100644
--- a/src/plugins/mac/mac.cpp
+++ b/src/plugins/mac/mac.cpp
@@ -210,8 +210,12 @@ xmms_mac_get_media_info (xmms_xform_t *xform)
@@ -26,8 +19,6 @@ index cec43e52..d8d3d1b9 100644
memset (field_value, 0, 255);
int size = 255;
p_ape_tag->GetFieldString (field_name, (char *)field_value, &size, TRUE);
-diff --git a/src/plugins/mac/source_adapter.h b/src/plugins/mac/source_adapter.h
-index 94f75359..70617514 100644
--- a/src/plugins/mac/source_adapter.h
+++ b/src/plugins/mac/source_adapter.h
@@ -38,7 +38,13 @@ public:
@@ -45,6 +36,3 @@ index 94f75359..70617514 100644
int Close () { return ERROR_SUCCESS; }
// read / write
---
-2.15.0
-
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/
@ 2022-04-22 1:01 Ionen Wolkens
0 siblings, 0 replies; 6+ messages in thread
From: Ionen Wolkens @ 2022-04-22 1:01 UTC (permalink / raw
To: gentoo-commits
commit: ad8b37153569e78cb414559d95560d53cddc447f
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 22 00:58:13 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Apr 22 01:00:52 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad8b3715
media-sound/xmms2: include PR link for ffmpeg5 patch
Upstream has some activity again, so can hope will be handled.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch | 2 ++
1 file changed, 2 insertions(+)
diff --git a/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch b/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch
index 14f999643241..b338e57cdfca 100644
--- a/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch
+++ b/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch
@@ -1,6 +1,8 @@
Lazy migration from audio4 that's missing in ffmpeg5, may not be
entirely right but tested to play at least .tta/.wma properly.
+https://github.com/xmms2/xmms2-devel/pull/11
+
Bug: https://bugs.gentoo.org/834398
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
--- a/src/plugins/avcodec/avcodec.c
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-04-22 1:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-19 22:50 [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/files/ Ionen Wolkens
-- strict thread matches above, loose matches on Subject: below --
2022-04-22 1:01 Ionen Wolkens
2020-06-17 17:49 Aaron Bauman
2018-07-06 20:45 Sergei Trofimovich
2017-11-12 10:00 Sergei Trofimovich
2017-01-07 11:41 Sergei Trofimovich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox