diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2019-09-01 00:00:32 +0200 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2019-09-01 00:00:32 +0200 |
commit | ca9627e70852f6b2e835660df870fe3ab405882d (patch) | |
tree | 0a008b1d5b16fa0679a195ed7b5662c7891f591c /media-plugins/xmms-wma | |
download | darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.gz darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.bz2 darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.xz darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.zip |
Initial import
Diffstat (limited to 'media-plugins/xmms-wma')
-rw-r--r-- | media-plugins/xmms-wma/Manifest | 10 | ||||
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg.patch | 193 | ||||
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg0.10.patch | 411 | ||||
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg20081014.patch | 209 | ||||
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch | 32 | ||||
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-rcc.patch | 98 | ||||
-rw-r--r-- | media-plugins/xmms-wma/xmms-wma-1.0.5-r1.ebuild | 39 | ||||
-rw-r--r-- | media-plugins/xmms-wma/xmms-wma-1.0.5-r2.ebuild | 39 | ||||
-rw-r--r-- | media-plugins/xmms-wma/xmms-wma-1.0.5-r3.ebuild | 40 | ||||
-rw-r--r-- | media-plugins/xmms-wma/xmms-wma-1.0.5-r4.ebuild | 37 |
10 files changed, 1108 insertions, 0 deletions
diff --git a/media-plugins/xmms-wma/Manifest b/media-plugins/xmms-wma/Manifest new file mode 100644 index 0000000..838690b --- /dev/null +++ b/media-plugins/xmms-wma/Manifest @@ -0,0 +1,10 @@ +AUX xmms-wma-ds-ffmpeg.patch 5513 SHA256 55c237964f680bcfb5fe3b3f8a05410162328dfc77ba42af184745b813dffcf8 SHA512 f788b87ae76bc3262bba494b8def1e46e6fa094e221502ec32dd0e257629534f754c9b360778a7e1eb46e76225f18a363c0082ef65d28dd6af3846b1d1302db1 WHIRLPOOL 863e01d96fcbc733daa535ba5e6ba8309a6aeb55e9a363dfd3697d9592884ad8bd302bbb24bdfbd2e23f1c2cdffada06430e95d84df7be817d8891e9768f9141 +AUX xmms-wma-ds-ffmpeg0.10.patch 11445 SHA256 52434b819de3c3a521f48c8debe043e0d36aa5068c8fd4a02f94942e2d6eed32 SHA512 e2ced39d21e3efaea1de25c4c2430d686c9e6e0af21ad5dd4be04d4b38298bbae33155e69fbbc1304b6e01d4fa72cc1da577161798d13782f2ce564e5983a87c WHIRLPOOL 4b78156916d0680c5777a70bdf3a1164a6d5b3506272e2330a92f70e728c0e0311da1018d104b0426b4a887c2a024a6b759af8ed4b9b74bbbc1038828d4a3ae9 +AUX xmms-wma-ds-ffmpeg20081014.patch 5967 SHA256 b49b2147aebc510836260f1c8ef2f6aebe4312b1de380fd5bca82ff860ec7eb7 SHA512 c694c2ee179dbf9f52319ce480ed8dd02d9db87080e5f4dcde9cbac297ab672f91c3f1361a5c0d1b02c23c7c9ec150316e249bc78860f0a5859dbbe52e36a18e WHIRLPOOL 7416211e79eff19703223d4aa94875aa81bd5468e3e1b1155507d6abaa88ccf011d008bca5e92de8895071ecf23b15c7d51395ba05177875b0e3dcbb9a1dd887 +AUX xmms-wma-ds-fifo_init.patch 1041 SHA256 18deaa25c857559360a1c8b79015d56ea5ad5bfaf9670285ea108af78fd77d09 SHA512 1f877f72ee25ca3f29b0bbbb3f2edb7301341f0ecfce8ace9c921214a27118869e5971f65f9ecabaa0a6e7af1360a632b09378b7a076b7a9b53b110412121b8a WHIRLPOOL 683426d914eab0be18ce658b7ff3f53454eb1b6ece9ffe62d6d2bb8b7dad28f8c290d2db54574814af6a60fcf3a4121e0fe9499fe83e865de723192055730100 +AUX xmms-wma-ds-rcc.patch 2772 SHA256 e5cf2f4dd6b3353378c63b7176d13444bb42183f234b87d2a18d81e559b13e38 SHA512 bba9c02b7632d5977606ae069c2b039032342e81efe242c71420e55c3875b4af55295ff370b25cb87ca22efcbe0f260316b776647c8b21dbd897c39688d2ab19 WHIRLPOOL b7ada528a7da6182764d56a71e1978d8f4d5073681bbf3c7fb6562fd051e619c28c8288095e256095a6a2997b108f3e57b93058d8ae268c70131a2b571ad2f7f +DIST xmms-wma-1.0.5.tar.bz2 146687 SHA256 61ab13363e52707b02b422589bfdbdf49c08ad398c2237c2000c8a4c9181b183 SHA512 9a1c649e0c36ecd6ff1bdb4462c0a8609785cc92355da642933993520814cd5868443e77aa06fbdb84161166864649ca77507a79428ac1c613f1620dff264f99 WHIRLPOOL d5c6eceee0d19bdd84b4d93526544afd992c9e425e2f9e395cb517015a75f98718144bedad7c32fd83f99f33ec15fe79932919a225f3df5c626c6708323b1cbd +EBUILD xmms-wma-1.0.5-r1.ebuild 891 SHA256 8c7176da3a4b9d97e1c87c865d788fba4ac7cb4a3e92bdf51f4491171d64f059 SHA512 41a3965694e3ded80b9ce443d81e1983a6f3c2aaf316810922627c649543777d21fac8ca17995b52ba0bd920d56861187213a7c94eb1d73bb9f3b360c67013f1 WHIRLPOOL b49dd6632c4718ca7ec26f500b01a9072b3b837dd8b770301bc9c4cd96c90e87ba236c078c643320caae48a641ff95124c1b60dfbf0a5ddf27c8431c3e72b5c8 +EBUILD xmms-wma-1.0.5-r2.ebuild 901 SHA256 beb4b9efef5d26cea15b719641dfad5d73bfaea1cb7f1b803f36818a61d9f117 SHA512 62607136782ccc149b7f528f632e34cc5a56a9e4d3c39efd516347ed1c9a1b1bdd0524920bcd51659c215d342bdbb19760255d6d87fa2bef1cbb6604143d9fa6 WHIRLPOOL 14fc2db33bdf47fcb0504f6b654bee21d4fb7cd3270c489206a0d9542476d475177e59b677ddd0eb67c670af750e50dc8e5bad99f285907d522bf3707a5da061 +EBUILD xmms-wma-1.0.5-r3.ebuild 953 SHA256 c38e4539311b0701d45c4e92e6cb71831b351e6a7fe4be106ef949a96e2e8639 SHA512 1ad9ae94779248c2bf4841d25517b7a21b4d54e3c609a558bf0aaf4cad1c8ddbd6aeabab076181ab8e4cef17d4ec17c7dde67513c07e6ce92b21776a93917aff WHIRLPOOL 90e9e614454d5e9d3b9825847e4b36612d3e9d38a62ced263a7ed60bbc107190dc4cc48b1185b8640965fe17ac35804b91a4feb19488f485ef79cd7b8d4b42fa +EBUILD xmms-wma-1.0.5-r4.ebuild 817 SHA256 26b6870653e0bc4c7e3891f7853c573d1f7b1b0e007c6276dde6829760b2fa0b SHA512 ba0ec81755d23e5f5230b5f3e6a557f3f5bba9d15d34dcf47192f17ecf0b922eab6262c0e45fc9e0f960a065b1b7a9a090dbf4f586ea69f2b83e3e44080166d7 WHIRLPOOL 33f3b4440384d058bb0a60c320b4beed782e0605118489da38390f0406df365e8e3a511973e1ffd82dca167f013b351ac5804bf4c104c1e90a641b45f440f201 diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg.patch new file mode 100644 index 0000000..3ad7ced --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg.patch @@ -0,0 +1,193 @@ +diff -dPNur xmms-wma-1.0.5/Makefile xmms-wma-1.0.5-new/Makefile +--- xmms-wma-1.0.5/Makefile 2004-03-03 15:47:58.000000000 +0100 ++++ xmms-wma-1.0.5-new/Makefile 2007-04-21 22:51:51.000000000 +0200 +@@ -11,7 +11,7 @@ + export DEPS := $(SOURCES:%.c=$(DEPDIR)/%.d) + + all: +- @cd ffmpeg-strip-wma; make; cd .. ++ #@cd ffmpeg-strip-wma; make; cd .. + @$(MAKE) --no-print-directory -f Makefile.inc + @strip $(PLUGIN_FILE) + @echo "The plug-in has been compiled. Run one of the following:" +@@ -40,5 +40,5 @@ + @echo "The plug-in has been uninstalled." + + clean: +- cd ffmpeg-strip-wma; make clean; cd .. ++ #cd ffmpeg-strip-wma; make clean; cd .. + rm -f $(OBJECTS) $(DEPS) +diff -dPNur xmms-wma-1.0.5/Makefile.inc xmms-wma-1.0.5-new/Makefile.inc +--- xmms-wma-1.0.5/Makefile.inc 2005-09-05 14:48:20.000000000 +0200 ++++ xmms-wma-1.0.5-new/Makefile.inc 2007-04-21 22:51:51.000000000 +0200 +@@ -1,16 +1,18 @@ + CC := gcc +-CFLAGS := -O2 -ffast-math -fomit-frame-pointer -fPIC +-#CFLAGS := -Wall -g -O3 +-CFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE +-CFLAGS += -I ffmpeg-strip-wma +-CFLAGS += `xmms-config --cflags` +-LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++MYCFLAGS := $(CFLAGS) -fPIC ++#MYCFLAGS := -Wall -g -O3 ++MYCFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC ++#MYCFLAGS += -I ffmpeg-strip-wma ++MYCFLAGS += `xmms-config --cflags` ++MYCFLAGS += -I/usr/include/ffmpeg ++#LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++LIBS := `xmms-config --libs` -lavcodec -lavformat + + $(PLUGIN_FILE): $(OBJECTS) + $(CC) -o $@ $^ $(LIBS) -shared + + $(OBJDIR)/%.o: %.c +- $(CC) -c -o $@ $(CFLAGS) $< ++ $(CC) -c -o $@ $(MYCFLAGS) $< + + $(DEPDIR)/%.d: %.c + $(CC) -MM $(CFLAGS) $< | sed "s/^$*\.o:/$(OBJDIR)\/$*\.o $(DEPDIR)\/$*\.d:/" > $@ +diff -dPNur xmms-wma-1.0.5/xmms-wma.c xmms-wma-1.0.5-new/xmms-wma.c +--- xmms-wma-1.0.5/xmms-wma.c 2005-09-05 22:19:00.000000000 +0200 ++++ xmms-wma-1.0.5-new/xmms-wma.c 2007-04-22 00:47:20.000000000 +0200 +@@ -42,8 +42,9 @@ + #undef HAVE_AV_CONFIG_H + #endif + +-#include "avcodec.h" +-#include "avformat.h" ++#include "ffmpeg/avcodec.h" ++#include "ffmpeg/avformat.h" ++#include "ffmpeg/fifo.h" + #include "iir.h" + + #define ABOUT_TXT "Copyright (C) 2004,2005 Mokrushin I.V. aka McMCC (mcmcc@mail.ru).\n \ +@@ -190,8 +191,6 @@ + + static void wma_init(void) + { +- avcodec_init(); +- avcodec_register_all(); + av_register_all(); + init_iir(); + } +@@ -200,9 +199,14 @@ + { + gchar *ext; + ext = strrchr(filename, '.'); +- if(ext) ++ if(ext) { + if(!strcasecmp(ext, ".wma")) + return 1; ++ if(!strcasecmp(ext, ".m4a")) ++ return 1; ++ if(!strcasecmp(ext, ".aac")) ++ return 1; ++ } + return 0; + } + +@@ -337,20 +341,21 @@ + return; + #endif + +- av_find_stream_info(in); +- (*len_real) = get_song_time(in); +- (*title_real) = get_song_title(in, filename); ++ if (!av_find_stream_info(in)) { ++ (*len_real) = get_song_time(in); ++ (*title_real) = get_song_title(in, filename); ++ } + av_close_input_file(in); + } + + static void wma_playbuff(int out_size) + { +- FifoBuffer f; ++ AVFifoBuffer f; + int sst_buff; + +- fifo_init(&f, out_size*2); +- fifo_write(&f, wma_outbuf, out_size, &f.wptr); +- while(!fifo_read(&f, wma_s_outbuf, wma_st_buff, &f.rptr) && wma_decode) ++ av_fifo_init(&f, out_size*2); ++ av_fifo_write(&f, wma_outbuf, out_size); ++ while(!av_fifo_read(&f, wma_s_outbuf, wma_st_buff) && wma_decode) + { + if(wma_eq_on) + sst_buff = iir((gpointer)&wma_s_outbuf, wma_st_buff); +@@ -364,7 +369,7 @@ + wma_ip.output->write_audio((short *)wma_s_outbuf, sst_buff); + memset(wma_s_outbuf, 0, sst_buff); + } +- fifo_free(&f); ++ av_fifo_free(&f); + return; + } + +@@ -373,18 +378,29 @@ + uint8_t *inbuf_ptr; + int out_size, size, len; + AVPacket pkt; ++ int64_t seek_target; + + pthread_mutex_lock(&wma_mutex); + while(wma_decode){ +- + if(wma_seekpos != -1) + { +- av_seek_frame(ic, wma_idx, wma_seekpos * 1000000LL); ++ if (wma_idx>=0) { ++ seek_target = av_rescale_q(wma_seekpos * 1000000LL, AV_TIME_BASE_Q, ic->streams[wma_idx]->time_base); ++ } else { ++ seek_target = wma_seekpos * 1000000LL; ++ } ++ av_seek_frame(ic, wma_idx, seek_target, AVSEEK_FLAG_BACKWARD); + wma_ip.output->flush(wma_seekpos * 1000); + wma_seekpos = -1; + } + +- if(av_read_frame(ic, &pkt) < 0) break; ++ if(av_read_frame(ic, &pkt) < 0) { ++ /*if (url_ferror(&ic->pb) == 0) { ++ usleep(100000); ++ continue; ++ }*/ ++ break; ++ } + + size = pkt.size; + inbuf_ptr = pkt.data; +@@ -427,10 +443,13 @@ + #endif + + for(wma_idx = 0; wma_idx < ic->nb_streams; wma_idx++) { +- c = &ic->streams[wma_idx]->codec; ++ c = ic->streams[wma_idx]->codec; + if(c->codec_type == CODEC_TYPE_AUDIO) break; + } + ++ if(!c || c->codec_type != CODEC_TYPE_AUDIO) ++ return; ++ + av_find_stream_info(ic); + + codec = avcodec_find_decoder(c->codec_id); +@@ -459,7 +478,8 @@ + { + wma_decode = 0; + if(wma_pause) wma_do_pause(0); +- pthread_join(wma_decode_thread, NULL); ++ if(wma_decode_thread) ++ pthread_join(wma_decode_thread, NULL); + wma_ip.output->close_audio(); + } + +@@ -482,7 +502,7 @@ + #endif + + for(i = 0; i < in->nb_streams; i++) { +- s = &in->streams[i]->codec; ++ s = in->streams[i]->codec; + if(s->codec_type == CODEC_TYPE_AUDIO) break; + } + diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg0.10.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg0.10.patch new file mode 100644 index 0000000..922eb9a --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg0.10.patch @@ -0,0 +1,411 @@ +diff -dPNur xmms-wma-1.0.5/Makefile xmms-wma-1.0.5-ds/Makefile +--- xmms-wma-1.0.5/Makefile 2004-03-03 15:47:58.000000000 +0100 ++++ xmms-wma-1.0.5-ds/Makefile 2012-11-17 08:49:25.000000000 +0100 +@@ -11,7 +11,7 @@ + export DEPS := $(SOURCES:%.c=$(DEPDIR)/%.d) + + all: +- @cd ffmpeg-strip-wma; make; cd .. ++ #@cd ffmpeg-strip-wma; make; cd .. + @$(MAKE) --no-print-directory -f Makefile.inc + @strip $(PLUGIN_FILE) + @echo "The plug-in has been compiled. Run one of the following:" +@@ -40,5 +40,5 @@ + @echo "The plug-in has been uninstalled." + + clean: +- cd ffmpeg-strip-wma; make clean; cd .. ++ #cd ffmpeg-strip-wma; make clean; cd .. + rm -f $(OBJECTS) $(DEPS) +diff -dPNur xmms-wma-1.0.5/Makefile.inc xmms-wma-1.0.5-ds/Makefile.inc +--- xmms-wma-1.0.5/Makefile.inc 2005-09-05 14:48:20.000000000 +0200 ++++ xmms-wma-1.0.5-ds/Makefile.inc 2012-11-17 08:49:25.000000000 +0100 +@@ -1,16 +1,18 @@ + CC := gcc +-CFLAGS := -O2 -ffast-math -fomit-frame-pointer -fPIC +-#CFLAGS := -Wall -g -O3 +-CFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE +-CFLAGS += -I ffmpeg-strip-wma +-CFLAGS += `xmms-config --cflags` +-LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++MYCFLAGS := $(CFLAGS) -fPIC ++#MYCFLAGS := -Wall -g -O3 ++MYCFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC ++#MYCFLAGS += -I ffmpeg-strip-wma ++MYCFLAGS += `xmms-config --cflags` ++MYCFLAGS += -I/usr/include/ffmpeg ++#LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++LIBS := `xmms-config --libs` -lavcodec -lavformat + + $(PLUGIN_FILE): $(OBJECTS) + $(CC) -o $@ $^ $(LIBS) -shared + + $(OBJDIR)/%.o: %.c +- $(CC) -c -o $@ $(CFLAGS) $< ++ $(CC) -c -o $@ $(MYCFLAGS) $< + + $(DEPDIR)/%.d: %.c + $(CC) -MM $(CFLAGS) $< | sed "s/^$*\.o:/$(OBJDIR)\/$*\.o $(DEPDIR)\/$*\.d:/" > $@ +diff -dPNur xmms-wma-1.0.5/xmms-wma.c xmms-wma-1.0.5-ds/xmms-wma.c +--- xmms-wma-1.0.5/xmms-wma.c 2005-09-05 22:19:00.000000000 +0200 ++++ xmms-wma-1.0.5-ds/xmms-wma.c 2012-11-17 08:40:11.000000000 +0100 +@@ -36,14 +36,16 @@ + #include <xmms/configfile.h> + #include <xmms/util.h> + #include <xmms/titlestring.h> ++#include <libxmms/rcc.h> + #endif + + #ifdef HAVE_AV_CONFIG_H + #undef HAVE_AV_CONFIG_H + #endif + +-#include "avcodec.h" +-#include "avformat.h" ++#include "libavcodec/avcodec.h" ++#include "libavformat/avformat.h" ++#include "libavutil/fifo.h" + #include "iir.h" + + #define ABOUT_TXT "Copyright (C) 2004,2005 Mokrushin I.V. aka McMCC (mcmcc@mail.ru).\n \ +@@ -190,8 +192,6 @@ + + static void wma_init(void) + { +- avcodec_init(); +- avcodec_register_all(); + av_register_all(); + init_iir(); + } +@@ -200,9 +200,14 @@ + { + gchar *ext; + ext = strrchr(filename, '.'); +- if(ext) ++ if(ext) { + if(!strcasecmp(ext, ".wma")) + return 1; ++ if(!strcasecmp(ext, ".m4a")) ++ return 1; ++ if(!strcasecmp(ext, ".aac")) ++ return 1; ++ } + return 0; + } + +@@ -262,12 +267,24 @@ + return splitname; + } + +-static char* w_getstr(char* str) ++static char* w_getstr(AVFormatContext *in, char* str) + { +- if(str && strlen(str) > 0) return str; ++ AVDictionaryEntry *entry = av_dict_get(in->metadata, str, NULL, 0); ++ if (!entry) return NULL; ++ ++ ++ if(entry && strlen(entry->value) > 0) { ++ return entry->value; ++ } + return NULL; + } + ++static int w_getnum(AVFormatContext *in, char* str) { ++ char *res = w_getstr(in, str); ++ if (res) return atoi(res); ++ return 0; ++} ++ + static gchar *get_song_title(AVFormatContext *in, gchar * filename) + { + gchar *ret = NULL; +@@ -279,17 +296,14 @@ + XMMS_NEW_TITLEINPUT(input); + #endif + +- if((in->title[0] != '\0') || (in->author[0] != '\0') || (in->album[0] != '\0') || +- (in->comment[0] != '\0') || (in->genre[0] != '\0') || (in->year != 0) || (in->track != 0)) +- { +- input->performer = w_getstr(in->author); +- input->album_name = w_getstr(in->album); +- input->track_name = w_getstr(in->title); +- input->year = in->year; +- input->track_number = in->track; +- input->genre = w_getstr(in->genre); +- input->comment = w_getstr(in->comment); +- } ++ input->performer = w_getstr(in, "artist"); ++ input->album_name = w_getstr(in, "album"); ++ input->track_name = w_getstr(in, "title"); ++ input->year = 0;//in->year; ++ input->track_number = w_getnum(in, "track"); ++ input->genre = w_getstr(in, "genre"); ++ input->comment = w_getstr(in, "comment"); ++ + #ifdef BMP + input->file_name = g_path_get_basename(filename); + input->file_path = g_path_get_dirname(filename); +@@ -298,7 +312,7 @@ + input->file_path = filename; + #endif + input->file_ext = extname(filename); +- ret = xmms_get_titlestring(xmms_get_gentitle_format(), input); ++ ret = xmms_charset_get_titlestring(xmms_get_gentitle_format(), input, XMMS_RCC_UTF8); + if(input) g_free(input); + + if(!ret) +@@ -337,21 +351,23 @@ + return; + #endif + +- av_find_stream_info(in); +- (*len_real) = get_song_time(in); +- (*title_real) = get_song_title(in, filename); ++ if (!av_find_stream_info(in)) { ++ (*len_real) = get_song_time(in); ++ (*title_real) = get_song_title(in, filename); ++ } + av_close_input_file(in); + } +- + static void wma_playbuff(int out_size) + { +- FifoBuffer f; ++ AVFifoBuffer *f; + int sst_buff; +- +- fifo_init(&f, out_size*2); +- fifo_write(&f, wma_outbuf, out_size, &f.wptr); +- while(!fifo_read(&f, wma_s_outbuf, wma_st_buff, &f.rptr) && wma_decode) +- { ++ ++ f = av_fifo_alloc(out_size*2); ++ av_fifo_generic_write(f, wma_outbuf, out_size, NULL); ++ ++ while ((av_fifo_size(f) > 0) && wma_decode) { ++ if (av_fifo_generic_read(f, wma_s_outbuf, wma_st_buff, NULL)) break; ++ + if(wma_eq_on) + sst_buff = iir((gpointer)&wma_s_outbuf, wma_st_buff); + else +@@ -364,7 +380,7 @@ + wma_ip.output->write_audio((short *)wma_s_outbuf, sst_buff); + memset(wma_s_outbuf, 0, sst_buff); + } +- fifo_free(&f); ++ av_fifo_free(f); + return; + } + +@@ -373,18 +389,29 @@ + uint8_t *inbuf_ptr; + int out_size, size, len; + AVPacket pkt; ++ int64_t seek_target; + + pthread_mutex_lock(&wma_mutex); + while(wma_decode){ +- + if(wma_seekpos != -1) + { +- av_seek_frame(ic, wma_idx, wma_seekpos * 1000000LL); ++ if (wma_idx>=0) { ++ seek_target = av_rescale_q(wma_seekpos * 1000000LL, AV_TIME_BASE_Q, ic->streams[wma_idx]->time_base); ++ } else { ++ seek_target = wma_seekpos * 1000000LL; ++ } ++ av_seek_frame(ic, wma_idx, seek_target, AVSEEK_FLAG_BACKWARD); + wma_ip.output->flush(wma_seekpos * 1000); + wma_seekpos = -1; + } + +- if(av_read_frame(ic, &pkt) < 0) break; ++ if(av_read_frame(ic, &pkt) < 0) { ++ /*if (url_ferror(&ic->pb) == 0) { ++ usleep(100000); ++ continue; ++ }*/ ++ break; ++ } + + size = pkt.size; + inbuf_ptr = pkt.data; +@@ -392,8 +419,9 @@ + if(size == 0) break; + + while(size > 0){ +- len = avcodec_decode_audio(c, (short *)wma_outbuf, &out_size, +- inbuf_ptr, size); ++ out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; ++ ++ len = avcodec_decode_audio3(c, (short *)wma_outbuf, &out_size, &pkt); + if(len < 0) break; + + if(out_size <= 0) continue; +@@ -427,10 +455,13 @@ + #endif + + for(wma_idx = 0; wma_idx < ic->nb_streams; wma_idx++) { +- c = &ic->streams[wma_idx]->codec; +- if(c->codec_type == CODEC_TYPE_AUDIO) break; ++ c = ic->streams[wma_idx]->codec; ++ if(c->codec_type == AVMEDIA_TYPE_AUDIO) break; + } + ++ if(!c || c->codec_type != AVMEDIA_TYPE_AUDIO) ++ return; ++ + av_find_stream_info(ic); + + codec = avcodec_find_decoder(c->codec_id); +@@ -459,7 +490,8 @@ + { + wma_decode = 0; + if(wma_pause) wma_do_pause(0); +- pthread_join(wma_decode_thread, NULL); ++ if(wma_decode_thread) ++ pthread_join(wma_decode_thread, NULL); + wma_ip.output->close_audio(); + } + +@@ -468,6 +500,8 @@ + char *title; + char *tmp; + char *message; ++ char *recoded; ++ char *msg; + AVFormatContext *in = NULL; + AVCodecContext *s = NULL; + AVCodec *codec; +@@ -482,8 +516,8 @@ + #endif + + for(i = 0; i < in->nb_streams; i++) { +- s = &in->streams[i]->codec; +- if(s->codec_type == CODEC_TYPE_AUDIO) break; ++ s = in->streams[i]->codec; ++ if(s->codec_type == AVMEDIA_TYPE_AUDIO) break; + } + + av_find_stream_info(in); +@@ -498,6 +532,11 @@ + + strcpy(message, "\n\n\n"); + strcat(message, "File Name: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_FS, XMMS_RCC_OUT, slashkill(filename)); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, slashkill(filename)); + strcat(message, "\n\n"); + strcat(message, "Audio Info:\n"); +@@ -535,56 +574,85 @@ + } + strcat(message, "\n"); + strcat(message, "Text Info:\n"); +- if (in->title[0] != '\0') ++ msg = w_getstr(in, "title"); ++ if (msg) + { + strcat(message, "Title: "); +- strcat(message, in->title); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, msg); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else ++ strcat(message, msg); + strcat(message, "\n"); +- } +- if (in->author[0] != '\0') ++ } ++ msg = w_getstr(in, "artist"); ++ if (msg) + { + strcat(message, "Author: "); +- strcat(message, in->author); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, msg); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->album[0] != '\0') ++ msg = w_getstr(in, "album"); ++ if (msg) + { + strcat(message, "Album: "); +- strcat(message, in->album); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, msg); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->year != 0) ++ msg = w_getstr(in, "date"); ++ if (msg) + { +- strcat(message, "Year: "); +- sprintf(tmp, "%d", in->year); +- strcat(message, tmp); +- memset(tmp, 0, 256); ++ strcat(message, "Date: "); ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->track != 0) ++ msg = w_getstr(in, "track"); ++ if (msg) + { + strcat(message, "Track: "); +- sprintf(tmp, "%d", in->track); +- strcat(message, tmp); +- memset(tmp, 0, 256); ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->genre[0] != '\0') ++ msg = w_getstr(in, "genre"); ++ if (msg) + { + strcat(message, "Genre: "); +- strcat(message, in->genre); ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->comment[0] != '\0') ++ msg = w_getstr(in, "comment"); ++ if (msg) + { + strcat(message, "Comments: "); +- strcat(message, in->comment); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, msg); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else ++ strcat(message, msg); + strcat(message, "\n"); + } +- if (in->copyright[0] != '\0') ++ msg = w_getstr(in, "copyright"); ++ if (msg) + { + strcat(message, "Copyright: "); +- strcat(message, in->copyright); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, msg); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else ++ strcat(message, msg); + strcat(message, "\n"); + } + strcat(message, "\n\n"); diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg20081014.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg20081014.patch new file mode 100644 index 0000000..23c0b1a --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-ffmpeg20081014.patch @@ -0,0 +1,209 @@ +diff -dPNur xmms-wma-1.0.5/Makefile xmms-wma-1.0.5-ds/Makefile +--- xmms-wma-1.0.5/Makefile 2004-03-03 15:47:58.000000000 +0100 ++++ xmms-wma-1.0.5-ds/Makefile 2008-11-27 01:33:03.000000000 +0100 +@@ -11,7 +11,7 @@ + export DEPS := $(SOURCES:%.c=$(DEPDIR)/%.d) + + all: +- @cd ffmpeg-strip-wma; make; cd .. ++ #@cd ffmpeg-strip-wma; make; cd .. + @$(MAKE) --no-print-directory -f Makefile.inc + @strip $(PLUGIN_FILE) + @echo "The plug-in has been compiled. Run one of the following:" +@@ -40,5 +40,5 @@ + @echo "The plug-in has been uninstalled." + + clean: +- cd ffmpeg-strip-wma; make clean; cd .. ++ #cd ffmpeg-strip-wma; make clean; cd .. + rm -f $(OBJECTS) $(DEPS) +diff -dPNur xmms-wma-1.0.5/Makefile.inc xmms-wma-1.0.5-ds/Makefile.inc +--- xmms-wma-1.0.5/Makefile.inc 2005-09-05 14:48:20.000000000 +0200 ++++ xmms-wma-1.0.5-ds/Makefile.inc 2008-11-27 01:35:01.000000000 +0100 +@@ -1,16 +1,18 @@ + CC := gcc +-CFLAGS := -O2 -ffast-math -fomit-frame-pointer -fPIC +-#CFLAGS := -Wall -g -O3 +-CFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE +-CFLAGS += -I ffmpeg-strip-wma +-CFLAGS += `xmms-config --cflags` +-LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++MYCFLAGS := $(CFLAGS) -fPIC ++#MYCFLAGS := -Wall -g -O3 ++MYCFLAGS += -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC ++#MYCFLAGS += -I ffmpeg-strip-wma ++MYCFLAGS += `xmms-config --cflags` ++MYCFLAGS += -I/usr/include/ffmpeg ++#LIBS := `xmms-config --libs` -L ffmpeg-strip-wma -lffwma ++LIBS := `xmms-config --libs` -lavcodec -lavformat + + $(PLUGIN_FILE): $(OBJECTS) + $(CC) -o $@ $^ $(LIBS) -shared + + $(OBJDIR)/%.o: %.c +- $(CC) -c -o $@ $(CFLAGS) $< ++ $(CC) -c -o $@ $(MYCFLAGS) $< + + $(DEPDIR)/%.d: %.c + $(CC) -MM $(CFLAGS) $< | sed "s/^$*\.o:/$(OBJDIR)\/$*\.o $(DEPDIR)\/$*\.d:/" > $@ +diff -dPNur xmms-wma-1.0.5/xmms-wma.c xmms-wma-1.0.5-ds/xmms-wma.c +--- xmms-wma-1.0.5/xmms-wma.c 2008-11-27 02:58:02.000000000 +0100 ++++ xmms-wma-1.0.5-ds/xmms-wma.c 2008-11-27 02:54:38.000000000 +0100 +@@ -43,8 +43,9 @@ + #undef HAVE_AV_CONFIG_H + #endif + +-#include "avcodec.h" +-#include "avformat.h" ++#include "libavcodec/avcodec.h" ++#include "libavformat/avformat.h" ++#include "libavutil/fifo.h" + #include "iir.h" + + #define ABOUT_TXT "Copyright (C) 2004,2005 Mokrushin I.V. aka McMCC (mcmcc@mail.ru).\n \ +@@ -191,8 +192,6 @@ + + static void wma_init(void) + { +- avcodec_init(); +- avcodec_register_all(); + av_register_all(); + init_iir(); + } +@@ -201,9 +200,14 @@ + { + gchar *ext; + ext = strrchr(filename, '.'); +- if(ext) ++ if(ext) { + if(!strcasecmp(ext, ".wma")) + return 1; ++ if(!strcasecmp(ext, ".m4a")) ++ return 1; ++ if(!strcasecmp(ext, ".aac")) ++ return 1; ++ } + return 0; + } + +@@ -338,21 +342,23 @@ + return; + #endif + +- av_find_stream_info(in); +- (*len_real) = get_song_time(in); +- (*title_real) = get_song_title(in, filename); ++ if (!av_find_stream_info(in)) { ++ (*len_real) = get_song_time(in); ++ (*title_real) = get_song_title(in, filename); ++ } + av_close_input_file(in); + } +- + static void wma_playbuff(int out_size) + { +- FifoBuffer f; ++ AVFifoBuffer f; + int sst_buff; +- +- fifo_init(&f, out_size*2); +- fifo_write(&f, wma_outbuf, out_size, &f.wptr); +- while(!fifo_read(&f, wma_s_outbuf, wma_st_buff, &f.rptr) && wma_decode) +- { ++ ++ av_fifo_init(&f, out_size*2); ++ av_fifo_generic_write(&f, wma_outbuf, out_size, NULL); ++ ++ while ((av_fifo_size(&f) > 0) && wma_decode) { ++ if (av_fifo_read(&f, wma_s_outbuf, wma_st_buff)) break; ++ + if(wma_eq_on) + sst_buff = iir((gpointer)&wma_s_outbuf, wma_st_buff); + else +@@ -365,7 +371,7 @@ + wma_ip.output->write_audio((short *)wma_s_outbuf, sst_buff); + memset(wma_s_outbuf, 0, sst_buff); + } +- fifo_free(&f); ++ av_fifo_free(&f); + return; + } + +@@ -374,18 +380,29 @@ + uint8_t *inbuf_ptr; + int out_size, size, len; + AVPacket pkt; ++ int64_t seek_target; + + pthread_mutex_lock(&wma_mutex); + while(wma_decode){ +- + if(wma_seekpos != -1) + { +- av_seek_frame(ic, wma_idx, wma_seekpos * 1000000LL); ++ if (wma_idx>=0) { ++ seek_target = av_rescale_q(wma_seekpos * 1000000LL, AV_TIME_BASE_Q, ic->streams[wma_idx]->time_base); ++ } else { ++ seek_target = wma_seekpos * 1000000LL; ++ } ++ av_seek_frame(ic, wma_idx, seek_target, AVSEEK_FLAG_BACKWARD); + wma_ip.output->flush(wma_seekpos * 1000); + wma_seekpos = -1; + } + +- if(av_read_frame(ic, &pkt) < 0) break; ++ if(av_read_frame(ic, &pkt) < 0) { ++ /*if (url_ferror(&ic->pb) == 0) { ++ usleep(100000); ++ continue; ++ }*/ ++ break; ++ } + + size = pkt.size; + inbuf_ptr = pkt.data; +@@ -393,7 +410,9 @@ + if(size == 0) break; + + while(size > 0){ +- len = avcodec_decode_audio(c, (short *)wma_outbuf, &out_size, ++ out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; ++ ++ len = avcodec_decode_audio2(c, (short *)wma_outbuf, &out_size, + inbuf_ptr, size); + if(len < 0) break; + +@@ -428,10 +447,13 @@ + #endif + + for(wma_idx = 0; wma_idx < ic->nb_streams; wma_idx++) { +- c = &ic->streams[wma_idx]->codec; ++ c = ic->streams[wma_idx]->codec; + if(c->codec_type == CODEC_TYPE_AUDIO) break; + } + ++ if(!c || c->codec_type != CODEC_TYPE_AUDIO) ++ return; ++ + av_find_stream_info(ic); + + codec = avcodec_find_decoder(c->codec_id); +@@ -460,7 +482,8 @@ + { + wma_decode = 0; + if(wma_pause) wma_do_pause(0); +- pthread_join(wma_decode_thread, NULL); ++ if(wma_decode_thread) ++ pthread_join(wma_decode_thread, NULL); + wma_ip.output->close_audio(); + } + +@@ -484,7 +507,7 @@ + #endif + + for(i = 0; i < in->nb_streams; i++) { +- s = &in->streams[i]->codec; ++ s = in->streams[i]->codec; + if(s->codec_type == CODEC_TYPE_AUDIO) break; + } + diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch new file mode 100644 index 0000000..b2e1d82 --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch @@ -0,0 +1,32 @@ +diff -dPNur xmms-wma-1.0.5/xmms-wma.c xmms-wma-1.0.5-ds/xmms-wma.c +--- xmms-wma-1.0.5/xmms-wma.c 2010-02-07 15:46:56.000000000 +0100 ++++ xmms-wma-1.0.5-ds/xmms-wma.c 2010-02-07 15:58:23.000000000 +0100 +@@ -350,14 +350,14 @@ + } + static void wma_playbuff(int out_size) + { +- AVFifoBuffer f; ++ AVFifoBuffer *f; + int sst_buff; + +- av_fifo_init(&f, out_size*2); +- av_fifo_generic_write(&f, wma_outbuf, out_size, NULL); ++ f = av_fifo_alloc(out_size*2); ++ av_fifo_generic_write(f, wma_outbuf, out_size, NULL); + +- while ((av_fifo_size(&f) > 0) && wma_decode) { +- if (av_fifo_read(&f, wma_s_outbuf, wma_st_buff)) break; ++ while ((av_fifo_size(f) > 0) && wma_decode) { ++ if (av_fifo_generic_read(f, wma_s_outbuf, wma_st_buff, NULL)) break; + + if(wma_eq_on) + sst_buff = iir((gpointer)&wma_s_outbuf, wma_st_buff); +@@ -371,7 +371,7 @@ + wma_ip.output->write_audio((short *)wma_s_outbuf, sst_buff); + memset(wma_s_outbuf, 0, sst_buff); + } +- av_fifo_free(&f); ++ av_fifo_free(f); + return; + } + diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-rcc.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-rcc.patch new file mode 100644 index 0000000..fcdc82a --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-rcc.patch @@ -0,0 +1,98 @@ +diff -dPNur xmms-wma-1.0.5-new/xmms-wma.c xmms-wma-1.0.5-new-rcc/xmms-wma.c +--- xmms-wma-1.0.5-new/xmms-wma.c 2007-04-22 00:47:20.000000000 +0200 ++++ xmms-wma-1.0.5-new-rcc/xmms-wma.c 2007-04-22 01:13:08.000000000 +0200 +@@ -36,6 +36,7 @@ + #include <xmms/configfile.h> + #include <xmms/util.h> + #include <xmms/titlestring.h> ++#include <libxmms/rcc.h> + #endif + + #ifdef HAVE_AV_CONFIG_H +@@ -302,7 +303,7 @@ + input->file_path = filename; + #endif + input->file_ext = extname(filename); +- ret = xmms_get_titlestring(xmms_get_gentitle_format(), input); ++ ret = xmms_charset_get_titlestring(xmms_get_gentitle_format(), input, XMMS_RCC_UTF8); + if(input) g_free(input); + + if(!ret) +@@ -488,6 +489,7 @@ + char *title; + char *tmp; + char *message; ++ char *recoded; + AVFormatContext *in = NULL; + AVCodecContext *s = NULL; + AVCodec *codec; +@@ -518,6 +520,11 @@ + + strcpy(message, "\n\n\n"); + strcat(message, "File Name: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_FS, XMMS_RCC_OUT, slashkill(filename)); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, slashkill(filename)); + strcat(message, "\n\n"); + strcat(message, "Audio Info:\n"); +@@ -558,18 +565,33 @@ + if (in->title[0] != '\0') + { + strcat(message, "Title: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, in->title); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, in->title); + strcat(message, "\n"); + } + if (in->author[0] != '\0') + { + strcat(message, "Author: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, in->author); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, in->author); + strcat(message, "\n"); + } + if (in->album[0] != '\0') + { + strcat(message, "Album: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, in->album); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, in->album); + strcat(message, "\n"); + } +@@ -598,12 +620,23 @@ + if (in->comment[0] != '\0') + { + strcat(message, "Comments: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, in->comment); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, in->comment); + strcat(message, "\n"); + } + if (in->copyright[0] != '\0') + { + strcat(message, "Copyright: "); ++ strcat(message, "Comments: "); ++ recoded = xmms_rcc_recode(XMMS_RCC_UTF8, XMMS_RCC_OUT, in->copyright); ++ if (recoded) { ++ strcat(message, recoded); ++ free(recoded); ++ } else + strcat(message, in->copyright); + strcat(message, "\n"); + } diff --git a/media-plugins/xmms-wma/xmms-wma-1.0.5-r1.ebuild b/media-plugins/xmms-wma/xmms-wma-1.0.5-r1.ebuild new file mode 100644 index 0000000..1eb20f1 --- /dev/null +++ b/media-plugins/xmms-wma/xmms-wma-1.0.5-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-wma/xmms-wma-1.0.5.ebuild,v 1.1 2005/10/24 00:46:58 metalgod Exp $ + +IUSE="" + +inherit eutils toolchain-funcs + +DESCRIPTION="XMMS plugin to play wma" +HOMEPAGE="http://mcmcc.bat.ru/xmms-wma/" +SRC_URI="http://mcmcc.bat.ru/xmms-wma/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" + +#~sparc: 1.0.4: Plays a little staticy, x86/adm64 is clear... + +KEYWORDS="amd64 ~ppc ~sparc x86" + +DEPEND="media-sound/xmms + >=media-video/ffmpeg-0.4.9_p20070129" + +src_unpack() { + unpack ${A} + cd ${S} + +# Patches for system ffmpeg, broken + epatch ${FILESDIR}/${PN}-ds-ffmpeg.patch || die + epatch ${FILESDIR}/${PN}-ds-rcc.patch || die +} + +src_compile () { + emake CC="$(tc-getCC)" || die +} + +src_install () { + exeinto `xmms-config --input-plugin-dir` + doexe libwma.so +} diff --git a/media-plugins/xmms-wma/xmms-wma-1.0.5-r2.ebuild b/media-plugins/xmms-wma/xmms-wma-1.0.5-r2.ebuild new file mode 100644 index 0000000..a03e1b7 --- /dev/null +++ b/media-plugins/xmms-wma/xmms-wma-1.0.5-r2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-wma/xmms-wma-1.0.5.ebuild,v 1.1 2005/10/24 00:46:58 metalgod Exp $ + +IUSE="" + +inherit eutils toolchain-funcs + +DESCRIPTION="XMMS plugin to play wma" +HOMEPAGE="http://mcmcc.bat.ru/xmms-wma/" +SRC_URI="http://mcmcc.bat.ru/xmms-wma/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" + +#~sparc: 1.0.4: Plays a little staticy, x86/adm64 is clear... + +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +DEPEND="media-sound/xmms + >=media-video/ffmpeg-0.4.9_p20081014" + +src_unpack() { + unpack ${A} + cd ${S} + +# Patches for system ffmpeg, broken + epatch ${FILESDIR}/${PN}-ds-ffmpeg20081014.patch || die + epatch ${FILESDIR}/${PN}-ds-rcc.patch || die +} + +src_compile () { + emake CC="$(tc-getCC)" || die +} + +src_install () { + exeinto `xmms-config --input-plugin-dir` + doexe libwma.so +} diff --git a/media-plugins/xmms-wma/xmms-wma-1.0.5-r3.ebuild b/media-plugins/xmms-wma/xmms-wma-1.0.5-r3.ebuild new file mode 100644 index 0000000..471a0e9 --- /dev/null +++ b/media-plugins/xmms-wma/xmms-wma-1.0.5-r3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-wma/xmms-wma-1.0.5.ebuild,v 1.1 2005/10/24 00:46:58 metalgod Exp $ + +IUSE="" + +inherit eutils toolchain-funcs + +DESCRIPTION="XMMS plugin to play wma" +HOMEPAGE="http://mcmcc.bat.ru/xmms-wma/" +SRC_URI="http://mcmcc.bat.ru/xmms-wma/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" + +#~sparc: 1.0.4: Plays a little staticy, x86/adm64 is clear... + +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +DEPEND="media-sound/xmms + >=media-video/ffmpeg-0.4.9_p20081014" + +src_unpack() { + unpack ${A} + cd ${S} + +# Patches for system ffmpeg, broken + epatch ${FILESDIR}/${PN}-ds-ffmpeg20081014.patch || die + epatch ${FILESDIR}/${PN}-ds-rcc.patch || die + epatch ${FILESDIR}/${PN}-ds-fifo_init.patch || die +} + +src_compile () { + emake CC="$(tc-getCC)" || die +} + +src_install () { + exeinto `xmms-config --input-plugin-dir` + doexe libwma.so +} diff --git a/media-plugins/xmms-wma/xmms-wma-1.0.5-r4.ebuild b/media-plugins/xmms-wma/xmms-wma-1.0.5-r4.ebuild new file mode 100644 index 0000000..08c63ca --- /dev/null +++ b/media-plugins/xmms-wma/xmms-wma-1.0.5-r4.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-wma/xmms-wma-1.0.5.ebuild,v 1.1 2005/10/24 00:46:58 metalgod Exp $ + +IUSE="" + +inherit eutils toolchain-funcs + +DESCRIPTION="XMMS plugin to play wma" +HOMEPAGE="http://mcmcc.bat.ru/xmms-wma/" +SRC_URI="http://mcmcc.bat.ru/xmms-wma/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" + +#~sparc: 1.0.4: Plays a little staticy, x86/adm64 is clear... + +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +DEPEND="media-sound/xmms + >=media-video/ffmpeg-0.4.9_p20081014" + +src_unpack() { + unpack ${A} + cd ${S} + + epatch "${FILESDIR}"/${PN}-ds-ffmpeg0.10.patch || die +} + +src_compile () { + emake CC="$(tc-getCC)" || die +} + +src_install () { + exeinto `xmms-config --input-plugin-dir` + doexe libwma.so +} |