summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-11-02 11:26:18 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-11-02 11:26:18 -0300
commit01dfa0016c313f5ec5be0a8b624bac5031ff74a8 (patch)
tree6dfcf9c3c4143226d0ef65ce2d139f80f8fcacc1 /community
parent40e1222c1402c0d2aded73b95802f8197d0691a6 (diff)
parent9343f37ee7ba1aa98f65272412d331a280890e12 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/epdfview/PKGBUILD community/gpa/PKGBUILD community/gtk2hs-cairo/PKGBUILD community/gtk2hs-glib/PKGBUILD community/gtk2hs-gtk/PKGBUILD community/gtk2hs-pango/PKGBUILD community/lmctl/PKGBUILD community/mediatomb/PKGBUILD community/ruby-atk/PKGBUILD community/ruby-gdkpixbuf2/PKGBUILD community/ruby-gio2/PKGBUILD community/ruby-glib2/PKGBUILD community/ruby-pango/PKGBUILD core/eglibc/glibc-2.10-bz4781.patch core/eglibc/glibc-2.10-dont-build-timezone.patch core/eglibc/glibc-2.12.1-static-shared-getpagesize.patch core/eglibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch core/eglibc/glibc-2.13-futex.patch core/eglibc/glibc-__i686.patch extra/silc-toolkit/PKGBUILD
Diffstat (limited to 'community')
-rw-r--r--community/cherokee/cherokee-admin-socket-bind.patch23
-rw-r--r--community/clamz/unencrypted-amz.patch27
-rw-r--r--community/dvdstyler/dvdstyler-ffmpeg.patch1915
-rw-r--r--community/e4rat/e4rat.install20
-rw-r--r--community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch60
-rw-r--r--community/epdfview/PKGBUILD41
-rw-r--r--community/epdfview/epdfview.desktop.patch11
-rw-r--r--community/epdfview/epdfview.install12
-rw-r--r--community/gcompris/gcompris-data.install22
-rw-r--r--community/gpa/ChangeLog3
-rw-r--r--community/gpa/PKGBUILD23
-rw-r--r--community/gtk2hs-cairo/PKGBUILD41
-rw-r--r--community/gtk2hs-cairo/gtk2hs-cairo.install18
-rw-r--r--community/gtk2hs-glib/PKGBUILD41
-rw-r--r--community/gtk2hs-glib/gtk2hs-glib.install18
-rw-r--r--community/gtk2hs-gtk/PKGBUILD41
-rw-r--r--community/gtk2hs-gtk/gtk2hs-gtk.install18
-rw-r--r--community/gtk2hs-pango/PKGBUILD41
-rw-r--r--community/gtk2hs-pango/gtk2hs-pango.install18
-rw-r--r--community/libcuefile/ChangeLog3
-rw-r--r--community/lmctl/PKGBUILD39
-rw-r--r--community/lmctl/lmctl.conf.d6
-rw-r--r--community/lmctl/lmctl.rc.d21
-rw-r--r--community/lmctl/mx-support-cmdline.patch37
-rw-r--r--community/lmctl/mx-support-man.patch17
-rw-r--r--community/lmctl/mx-support.patch29
-rw-r--r--community/mediatomb/PKGBUILD49
-rw-r--r--community/mediatomb/gcc46.patch10
-rw-r--r--community/mediatomb/mediatomb.conf23
-rw-r--r--community/mediatomb/mediatomb.install9
-rw-r--r--community/mediatomb/mediatomb.rc54
-rw-r--r--community/mediatomb/tonewjs.patch564
-rw-r--r--community/ruby-atk/PKGBUILD26
-rw-r--r--community/ruby-gdkpixbuf2/PKGBUILD27
-rw-r--r--community/ruby-gio2/PKGBUILD24
-rw-r--r--community/ruby-glib2/PKGBUILD26
-rw-r--r--community/ruby-pango/PKGBUILD26
-rw-r--r--community/solfege/solfege.changelog95
38 files changed, 0 insertions, 3478 deletions
diff --git a/community/cherokee/cherokee-admin-socket-bind.patch b/community/cherokee/cherokee-admin-socket-bind.patch
deleted file mode 100644
index 0b266a245..000000000
--- a/community/cherokee/cherokee-admin-socket-bind.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/cherokee/main_admin.c b/cherokee/main_admin.c
-index 861473f..e52b2d6 100644
---- a/cherokee/main_admin.c
-+++ b/cherokee/main_admin.c
-@@ -89,9 +89,9 @@ find_empty_port (int starting, int *port)
- cherokee_buffer_add_str (&bind_, "127.0.0.1");
-
- cherokee_socket_init (&s);
-- cherokee_socket_create_fd (&s, AF_INET);
-
- while (true) {
-+ cherokee_socket_create_fd (&s, AF_INET);
- ret = cherokee_socket_bind (&s, p, &bind_);
- if (ret == ret_ok)
- break;
-@@ -104,6 +104,7 @@ find_empty_port (int starting, int *port)
- }
- }
-
-+ cherokee_socket_close (&s);
- cherokee_socket_mrproper (&s);
- cherokee_buffer_mrproper (&bind_);
-
diff --git a/community/clamz/unencrypted-amz.patch b/community/clamz/unencrypted-amz.patch
deleted file mode 100644
index 49b03ba8a..000000000
--- a/community/clamz/unencrypted-amz.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- playlist.c 2010-04-19 16:01:59.000000000 -0700
-+++ clamz-0.4/playlist.c 2011-10-18 20:35:39.850146353 -0700
-@@ -499,12 +499,21 @@
- {
- struct parseinfo pi;
- unsigned char *decrypted, *xml;
-- unsigned long decrypted_len;
-+ unsigned long decrypted_len, i;
- int xerr;
-
- decrypted = decrypt_amz_file(b64data, b64len, fname);
-- if (!decrypted)
-- return 1;
-+ if (!decrypted){
-+ // XXX Perhaps the code file is unencrypted already.
-+ decrypted = malloc((b64len + 1) * sizeof(char));
-+ if (!decrypted) {
-+ print_error("Out of memory");
-+ return 1;
-+ }
-+ for (i = 0; i < b64len; i++) {
-+ decrypted[i] = b64data[i];
-+ }
-+ }
- decrypted_len = strlen((char*) decrypted);
-
- pi.parser = XML_ParserCreate(NULL);
diff --git a/community/dvdstyler/dvdstyler-ffmpeg.patch b/community/dvdstyler/dvdstyler-ffmpeg.patch
deleted file mode 100644
index f2f56f6ff..000000000
--- a/community/dvdstyler/dvdstyler-ffmpeg.patch
+++ /dev/null
@@ -1,1915 +0,0 @@
-diff -Naur DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.cpp DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.cpp
---- DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.cpp 2011-05-15 09:23:34.000000000 -0400
-+++ DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.cpp 2011-09-18 18:13:03.000000000 -0400
-@@ -3,7 +3,7 @@
- // Purpose: FFMPEG Media Transcoder
- // Author: Alex Thuering
- // Created: 26.04.2008
--// RCS-ID: $Id: mediatrc_ffmpeg.cpp,v 1.33 2011/05/15 13:23:34 ntalex Exp $
-+// RCS-ID: $Id: mediatrc_ffmpeg.cpp,v 1.34 2011/07/24 07:58:21 ntalex Exp $
- // Copyright: (c) Alex Thuering
- // Licence: GPL
- /////////////////////////////////////////////////////////////////////////////
-@@ -17,21 +17,16 @@
- #include <math.h>
- #include <errno.h>
- extern "C" {
--#ifdef HAVE_FFMPEG_AVUTIL_H
--#include <opt.h>
--#include <swscale.h>
--#include <avutil.h>
--#include <fifo.h>
--#include <avfilter.h>
--#include <avfiltergraph.h>
--#else
--#include <libavcodec/opt.h>
--#include <libswscale/swscale.h>
-+#include <libavutil/opt.h>
- #include <libavutil/avutil.h>
- #include <libavutil/fifo.h>
-+#include <libavutil/dict.h>
-+#include <libavutil/pixdesc.h>
-+#include <libswscale/swscale.h>
-+#include <libavfilter/avcodec.h>
- #include <libavfilter/avfilter.h>
- #include <libavfilter/avfiltergraph.h>
--#endif
-+#include <libavfilter/vsink_buffer.h>
- }
-
- #define AUDIO_BUF_SIZE 50000
-@@ -48,101 +43,19 @@
- #define INT64_MAX INT64_C(9223372036854775807)
- #endif
-
--#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52, 45, 0)
--#define av_guess_format guess_format
--#endif
--
--#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 64, 0)
--#define AVMediaType CodecType
--#define AVMEDIA_TYPE_UNKNOWN CODEC_TYPE_UNKNOWN
--#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
--#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
--#define AVMEDIA_TYPE_DATA CODEC_TYPE_DATA
--#define AVMEDIA_TYPE_SUBTITLE CODEC_TYPE_SUBTITLE
--#define AVMEDIA_TYPE_ATTACHMENT CODEC_TYPE_ATTACHMENT
--#define AVMEDIA_TYPE_NB CODEC_TYPE_NB
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 4, 0)
-+#define AVIO_FLAG_WRITE AVIO_WRONLY
- #endif
-
- //////////////////////////// AVAudioConvert /////////////////////////////////
--
--struct AVAudioConvert {
-- int in_channels, out_channels;
-- int fmt_pair;
--};
--
--AVAudioConvert *av_audio_convert_alloc(enum AVSampleFormat out_fmt, int out_channels,
-- enum AVSampleFormat in_fmt, int in_channels,
-- const float *matrix, int flags) {
-- AVAudioConvert *ctx;
-- if (in_channels != out_channels)
-- return NULL;
-- ctx = (AVAudioConvert*) av_malloc(sizeof(AVAudioConvert));
-- if (!ctx)
-- return NULL;
-- ctx->in_channels = in_channels;
-- ctx->out_channels = out_channels;
-- ctx->fmt_pair = out_fmt + AV_SAMPLE_FMT_NB * in_fmt;
-- return ctx;
--}
--
--void av_audio_convert_free(AVAudioConvert *ctx) {
-- av_free(ctx);
--}
--
--int av_audio_convert(AVAudioConvert *ctx,
-- void * const out[6], const int out_stride[6],
-- const void * const in[6], const int in_stride[6], int len) {
-- int ch;
--
-- //FIXME optimize common cases
--
-- for (ch = 0; ch < ctx->out_channels; ch++) {
-- const int is = in_stride[ch];
-- const int os = out_stride[ch];
-- const uint8_t *pi = (const uint8_t *) in[ch];
-- uint8_t *po = (uint8_t *) out[ch];
-- uint8_t *end = po + os * len;
-- if (!out[ch])
-- continue;
--
--#define CONV(ofmt, otype, ifmt, expr)\
--if(ctx->fmt_pair == ofmt + AV_SAMPLE_FMT_NB*ifmt){\
-- do{\
-- *(otype*)po = expr; pi += is; po += os;\
-- }while(po < end);\
--}
--
--//FIXME put things below under ifdefs so we do not waste space for cases no codec will need
--//FIXME rounding ?
--
-- CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_U8 , *(const uint8_t*)pi)
-- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)<<8)
-- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)<<24)
-- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)*(1.0 / (1<<7)))
-- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)*(1.0 / (1<<7)))
-- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_S16, (*(const int16_t*)pi>>8) + 0x80)
-- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_S16, *(const int16_t*)pi)
-- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_S16, *(const int16_t*)pi<<16)
-- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_S16, *(const int16_t*)pi*(1.0 / (1<<15)))
-- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_S16, *(const int16_t*)pi*(1.0 / (1<<15)))
-- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_S32, (*(const int32_t*)pi>>24) + 0x80)
-- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_S32, *(const int32_t*)pi>>16)
-- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_S32, *(const int32_t*)pi)
-- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_S32, *(const int32_t*)pi*(1.0 / (1U<<31)))
-- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_S32, *(const int32_t*)pi*(1.0 / (1U<<31)))
-- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_FLT, av_clip_uint8( lrintf(*(const float*)pi * (1<<7)) + 0x80))
-- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_FLT, av_clip_int16( lrintf(*(const float*)pi * (1<<15))))
-- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_FLT, av_clipl_int32(llrintf(*(const float*)pi * (1U<<31))))
-- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_FLT, *(const float*)pi)
-- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_FLT, *(const float*)pi)
-- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_DBL, av_clip_uint8( lrint(*(const double*)pi * (1<<7)) + 0x80))
-- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_DBL, av_clip_int16( lrint(*(const double*)pi * (1<<15))))
-- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_DBL, av_clipl_int32(llrint(*(const double*)pi * (1U<<31))))
-- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_DBL, *(const double*)pi)
-- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_DBL, *(const double*)pi)
-- else return -1;
-- }
-- return 0;
-+// audioconvert.h
-+extern "C" {
-+struct AVAudioConvert;
-+AVAudioConvert *av_audio_convert_alloc(enum AVSampleFormat out_fmt, int out_channels, enum AVSampleFormat in_fmt,
-+ int in_channels, const float *matrix, int flags);
-+void av_audio_convert_free(AVAudioConvert *ctx);
-+int av_audio_convert(AVAudioConvert *ctx, void * const out[6], const int out_stride[6], const void * const in[6],
-+ const int in_stride[6], int len);
- }
-
- //////////////////////////// AVOutputStream /////////////////////////////////
-@@ -161,6 +74,8 @@
- struct AVInputStream *sync_ist; /* input stream to sync against */
- int64_t sync_opts; /* output frame counter, could be changed to some true timestamp *///FIXME look at frame_number
- AVBitStreamFilterContext *bitstream_filters;
-+ AVCodec *enc;
-+
- /* video only */
- int video_resample;
- AVFrame resample_frame; /* temporary frame for image resampling */
-@@ -168,17 +83,19 @@
- int resample_height;
- int resample_width;
- int resample_pix_fmt;
-+ AVRational frame_rate;
-
- float frame_aspect_ratio;
-+
- /* forced key frames */
--// int64_t *forced_kf_pts;
--// int forced_kf_count;
--// int forced_kf_index;
-+ int64_t *forced_kf_pts;
-+ int forced_kf_count;
-+ int forced_kf_index;
-
- /* audio only */
- int audio_resample;
- ReSampleContext *resample; /* for audio resampling */
-- int resample_sample_fmt;
-+ AVSampleFormat resample_sample_fmt;
- int resample_channels;
- int resample_sample_rate;
- int reformat_pair;
-@@ -216,94 +133,22 @@
- } AVInputStream;
-
- typedef struct AVInputFile {
-+ AVFormatContext *ctx;
- int eof_reached; /* true if eof reached */
- int ist_index; /* index of first stream in ist_table */
- int buffer_size; /* current total buffer size */
-- int nb_streams; /* nb streams we are aware of */
- } AVInputFile;
-
--//#include <libavfilter/vsrc_buffer.h>
--extern "C" {
-- int av_vsrc_buffer_add_frame2(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts,
-- AVRational pixel_aspect, int width, int height, enum PixelFormat pix_fmt, const char *sws_param);
--}
--
--//#include "cmdutils.h"
--typedef struct {
-- enum PixelFormat pix_fmt;
--} FFSinkContext;
--
--int ffsink_init(AVFilterContext *ctx, const char *args, void *opaque)
-+static int configure_video_filters(AVInputStream *ist, AVOutputStream *ost)
- {
-- FFSinkContext *priv = (FFSinkContext*) ctx->priv;
--
-- if (!opaque)
-- return AVERROR(EINVAL);
-- *priv = *(FFSinkContext *)opaque;
--
-- return 0;
--}
--
--void null_end_frame(AVFilterLink *inlink) { }
--
--int ffsink_query_formats(AVFilterContext *ctx) {
-- FFSinkContext *priv = (FFSinkContext*) ctx->priv;
-- int pix_fmts[] = { priv->pix_fmt, PIX_FMT_NONE };
--
-- avfilter_set_common_formats(ctx, avfilter_make_format_list(pix_fmts));
-- return 0;
--}
--
--int get_filtered_video_frame(AVFilterContext *ctx, AVFrame *frame, AVFilterBufferRef **picref_ptr, AVRational *tb) {
-- int ret;
-- AVFilterBufferRef *picref;
--
-- if ((ret = avfilter_request_frame(ctx->inputs[0])) < 0)
-- return ret;
-- if (!(picref = ctx->inputs[0]->cur_buf))
-- return AVERROR(ENOENT);
-- *picref_ptr = picref;
-- ctx->inputs[0]->cur_buf = NULL;
-- *tb = ctx->inputs[0]->time_base;
--
-- memcpy(frame->data, picref->data, sizeof(frame->data));
-- memcpy(frame->linesize, picref->linesize, sizeof(frame->linesize));
-- frame->interlaced_frame = picref->video->interlaced;
-- frame->top_field_first = picref->video->top_field_first;
--
-- return 1;
--}
--
--AVFilter ffsink;
--AVFilterPad fInputs[2];
--AVFilterPad fOutputs[1];
--
--int configure_filters(AVInputStream *ist, AVOutputStream *ost) {
- AVFilterContext *last_filter, *filter;
- /** filter graph containing all filters including input & output */
- AVCodecContext *codec = ost->st->codec;
- AVCodecContext *icodec = ist->st->codec;
-- FFSinkContext ffsink_ctx;
-- ffsink_ctx.pix_fmt = codec->pix_fmt;
-+ enum PixelFormat pix_fmts[] = { codec->pix_fmt, PIX_FMT_NONE };
- AVRational sample_aspect_ratio;
- char args[255];
- int ret;
--
-- ffsink.name = "ffsink";
-- ffsink.priv_size = sizeof(FFSinkContext);
-- ffsink.init = ffsink_init;
-- ffsink.query_formats = ffsink_query_formats;
--
-- fInputs[0].name = "default";
-- fInputs[0].type = AVMEDIA_TYPE_VIDEO;
-- fInputs[0].end_frame = null_end_frame;
-- fInputs[0].min_perms = AV_PERM_READ;
-- fInputs[1].name = NULL;
-- ffsink.inputs = fInputs;
-- fOutputs[0].name = NULL;
-- ffsink.outputs = fOutputs;
--
-- int sws_flags = SWS_BICUBIC;
-
- ost->graph = avfilter_graph_alloc();
-
-@@ -320,8 +165,8 @@
- "src", args, NULL, ost->graph);
- if (ret < 0)
- return ret;
-- ret = avfilter_graph_create_filter(&ost->output_video_filter, &ffsink,
-- "out", NULL, &ffsink_ctx, ost->graph);
-+ ret = avfilter_graph_create_filter(&ost->output_video_filter, avfilter_get_by_name("buffersink"),
-+ "out", NULL, pix_fmts, ost->graph);
- if (ret < 0)
- return ret;
- last_filter = ost->input_video_filter;
-@@ -330,7 +175,7 @@
- snprintf(args, 255, "%d:%d:flags=0x%X",
- codec->width,
- codec->height,
-- sws_flags);
-+ ost->sws_flags);
- if ((ret = avfilter_graph_create_filter(&filter, avfilter_get_by_name("scale"),
- NULL, args, NULL, ost->graph)) < 0)
- return ret;
-@@ -339,12 +184,12 @@
- last_filter = filter;
- }
-
-- snprintf(args, sizeof(args), "flags=0x%X", sws_flags);
-+ snprintf(args, sizeof(args), "flags=0x%X", ost->sws_flags);
- ost->graph->scale_sws_opts = av_strdup(args);
-
- if (ost->avfilter) {
-- AVFilterInOut* outputs = (AVFilterInOut*) av_malloc(sizeof(AVFilterInOut));
-- AVFilterInOut* inputs = (AVFilterInOut*) av_malloc(sizeof(AVFilterInOut));
-+ AVFilterInOut *outputs = avfilter_inout_alloc();
-+ AVFilterInOut *inputs = avfilter_inout_alloc();
-
- outputs->name = av_strdup("in");
- outputs->filter_ctx = last_filter;
-@@ -356,7 +201,7 @@
- inputs->pad_idx = 0;
- inputs->next = NULL;
-
-- if ((ret = avfilter_graph_parse(ost->graph, ost->avfilter, inputs, outputs, NULL)) < 0)
-+ if ((ret = avfilter_graph_parse(ost->graph, ost->avfilter, &inputs, &outputs, NULL)) < 0)
- return ret;
- av_freep(&ost->avfilter);
- } else {
-@@ -370,8 +215,10 @@
- codec->width = ost->output_video_filter->inputs[0]->w;
- codec->height = ost->output_video_filter->inputs[0]->h;
- codec->sample_aspect_ratio = ost->st->sample_aspect_ratio =
-+ ost->frame_aspect_ratio ? // overriden by the -aspect cli option
-+ av_d2q(ost->frame_aspect_ratio*codec->height/codec->width, 255) :
- ost->output_video_filter->inputs[0]->sample_aspect_ratio;
--
-+
- return 0;
- }
-
-@@ -412,12 +259,11 @@
- }
-
- wxFfmpegMediaTranscoder::wxFfmpegMediaTranscoder(int threadCount) {
-- nb_input_files = 0;
- input_files_ts_scale[0] = NULL;
- nb_input_files_ts_scale[0] = 0;
-- output_codecs = NULL;
-+ input_codecs = NULL;
-+ nb_input_codecs = 0;
- nb_output_files = 0;
-- nb_output_codecs = 0;
- stream_maps = NULL;
- nb_stream_maps = 0;
- nb_meta_data_maps = 0;
-@@ -429,7 +275,6 @@
- frame_width = 0;
- frame_height = 0;
- frame_aspect_ratio = 0;
-- frame_aspect_ratio_override = 0;
- frame_pix_fmt = PIX_FMT_NONE;
- frame_bits_per_raw_sample = 0;
- audio_sample_fmt = SAMPLE_FMT_NONE;
-@@ -476,12 +321,12 @@
- do_psnr = 0;
- do_pass = 0;
- pass_logfilename_prefix = "ffmpeg2pass";
-- video_sync_method= -1;
-- audio_sync_method= 0;
-- audio_drift_threshold= 0.1;
-- copy_ts= 0;
-- opt_shortest = 0; //
-- video_global_header = 0;
-+ video_sync_method = -1;
-+ audio_sync_method = 0;
-+ audio_drift_threshold = 0.1;
-+ copy_ts = 0;
-+ copy_tb = 0;
-+ opt_shortest = 0;
- vstats_filename = NULL;
- vstats_file = NULL;
- opt_programid = 0;
-@@ -519,6 +364,11 @@
- audio_bitstream_filters = NULL;
- subtitle_bitstream_filters = NULL;
-
-+ input_streams = NULL;
-+ nb_input_streams = 0;
-+ input_files = NULL;
-+ nb_input_files = 0;
-+
- av_log_set_callback(&av_log_wxLog_callback);
- }
-
-@@ -531,20 +381,39 @@
- avfilter_register_all();
- }
-
-+// similar to ff_dynarray_add() and av_fast_realloc()
-+void* grow_array(void *array, int elem_size, int *size, int new_size) {
-+ if (new_size >= INT_MAX / elem_size) {
-+ wxLogError(wxT("Array too big."));
-+ return NULL;
-+ }
-+ if (*size < new_size) {
-+ uint8_t* tmp = (uint8_t*) av_realloc(array, new_size*elem_size);
-+ if (!tmp) {
-+ wxLogError(wxT("Could not alloc buffer."));
-+ return NULL;
-+ }
-+ memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size);
-+ *size = new_size;
-+ return tmp;
-+ }
-+ return array;
-+}
-+
- bool wxFfmpegMediaTranscoder::AddInputFile(const wxString& fileName, bool disableVideo, bool disableAudio,
- bool disableSubtitle) {
- AVFormatContext *ic;
- int err, i, ret, rfps, rfps_base;
- int64_t timestamp;
--
-+
- /* get default parameters from command line */
- ic = avformat_alloc_context();
- if (!ic) {
- PrintError(fileName, AVERROR(ENOMEM));
- return false;
- }
-- ic->flags |= AVFMT_FLAG_NONBLOCK;
--
-+ ic->flags |= AVFMT_FLAG_NONBLOCK | AVFMT_FLAG_PRIV_OPT;
-+
- // open the input file with generic libav function
- err = av_open_input_file(&ic, (const char*) fileName.mb_str(), NULL, 0, NULL);
- if (err < 0) {
-@@ -606,39 +475,38 @@
- for (i=0; i<(int)ic->nb_streams; i++) {
- AVStream *st = ic->streams[i];
- AVCodecContext *dec = st->codec;
-+ AVInputStream *ist;
-+
- dec->thread_count = thread_count;
-+ input_codecs = (AVCodec**) grow_array(input_codecs, sizeof(*input_codecs), &nb_input_codecs, nb_input_codecs + 1);
-+
-+ input_streams = (AVInputStream*) grow_array(input_streams, sizeof(*input_streams), &nb_input_streams, nb_input_streams + 1);
-+ ist = &input_streams[nb_input_streams - 1];
-+ ist->st = st;
-+ ist->file_index = nb_input_files;
-+ ist->discard = 1;
-+
- switch (dec->codec_type) {
- case AVMEDIA_TYPE_AUDIO:
-+ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id);
- channel_layout = dec->channel_layout;
-- audio_channels = dec->channels;
-- audio_sample_rate = dec->sample_rate;
- audio_sample_fmt = dec->sample_fmt;
- if (disableAudio)
- st->discard = AVDISCARD_ALL;
-- /* Note that av_find_stream_info can add more streams, and we
-- * currently have no chance of setting up lowres decoding
-- * early enough for them. */
-- if (dec->lowres)
-- audio_sample_rate >>= dec->lowres;
- break;
- case AVMEDIA_TYPE_VIDEO:
-- frame_height = dec->height;
-- frame_width = dec->width;
-+ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id);
- if(st->sample_aspect_ratio.num)
- frame_aspect_ratio=av_q2d(st->sample_aspect_ratio);
- else
- frame_aspect_ratio=av_q2d(dec->sample_aspect_ratio);
- frame_aspect_ratio *= (float) dec->width / dec->height;
-- frame_aspect_ratio_override = 0;
-- frame_pix_fmt = dec->pix_fmt;
- rfps = st->r_frame_rate.num;
- rfps_base = st->r_frame_rate.den;
-- if(dec->lowres) {
-+ if (dec->lowres) {
- dec->flags |= CODEC_FLAG_EMU_EDGE;
-- frame_height >>= dec->lowres;
-- frame_width >>= dec->lowres;
-- dec->height = frame_height;
-- dec->width = frame_width;
-+ dec->height >>= dec->lowres;
-+ dec->width >>= dec->lowres;
- }
- if (me_threshold)
- dec->debug |= FF_DEBUG_MV;
-@@ -650,9 +518,6 @@
- i, (float)dec->time_base.den / dec->time_base.num, dec->time_base.den, dec->time_base.num,
- (float)rfps / rfps_base, rfps, rfps_base);
- }
-- /* update the current frame rate to match the stream frame rate */
-- frame_rate.num = rfps;
-- frame_rate.den = rfps_base;
-
- if (disableVideo)
- st->discard = AVDISCARD_ALL;
-@@ -660,6 +525,7 @@
- case AVMEDIA_TYPE_DATA:
- break;
- case AVMEDIA_TYPE_SUBTITLE:
-+ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id);
- if (disableSubtitle)
- st->discard = AVDISCARD_ALL;
- break;
-@@ -672,17 +538,26 @@
- }
- }
-
-- input_files[nb_input_files] = ic;
- input_files_ts_offset[nb_input_files] = input_ts_offset - (copy_ts ? 0 : timestamp);
- /* dump the file content */
- if (verbose >= 0)
- av_dump_format(ic, nb_input_files, (const char*)fileName.mb_str(), 0);
-
-- nb_input_files++;
-+ input_files = (AVInputFile*) grow_array(input_files, sizeof(*input_files), &nb_input_files, nb_input_files + 1);
-+ input_files[nb_input_files - 1].ctx = ic;
-+ input_files[nb_input_files - 1].ist_index = nb_input_streams - ic->nb_streams;
-+
- input_files_ts_scale[nb_input_files] = NULL;
- nb_input_files_ts_scale[nb_input_files] = 0;
--
-+
-+ top_field_first = -1;
- video_channel = 0;
-+ frame_rate = (AVRational){0, 0};
-+ frame_pix_fmt = PIX_FMT_NONE;
-+ frame_height = 0;
-+ frame_width = 0;
-+ audio_sample_rate = 0;
-+ audio_channels = 0;
- return true;
- }
-
-@@ -742,27 +617,27 @@
-
- oc->timestamp = recording_timestamp;
-
-- av_metadata_copy(&oc->metadata, metadata, 0);
-- av_metadata_free(&metadata);
--
-+ av_dict_copy(&oc->metadata, metadata, 0);
-+ av_dict_free(&metadata);
-+
- output_files[nb_output_files++] = oc;
-
- /* check filename in case of an image number is expected */
- if (oc->oformat->flags & AVFMT_NEEDNUMBER) {
- if (!av_filename_number_test(oc->filename)) {
-- PrintError(fileName, AVERROR_NUMEXPECTED);
-+ PrintError(fileName, AVERROR(EINVAL));
- return false;
- }
- }
-
- /* test if it already exists to avoid loosing precious files */
-- if (url_exist((const char*) fileName.mb_str())) {
-+ if (avio_check((const char*) fileName.mb_str(), 0) == 0) {
- wxLogError(wxT("File '%s' already exists"), fileName.c_str());
- return false;
- }
-
- /* open the file */
-- int err = avio_open(&oc->pb, (const char*) fileName.mb_str(), URL_WRONLY);
-+ int err = avio_open(&oc->pb, (const char*) fileName.mb_str(), AVIO_FLAG_WRITE);
- if (err < 0) {
- PrintError(fileName, err);
- return false;
-@@ -777,39 +652,24 @@
- oc->preload= (int)(mux_preload*AV_TIME_BASE);
- oc->max_delay= (int)(mux_max_delay*AV_TIME_BASE);
- oc->loop_output = loop_output;
-- oc->flags |= AVFMT_FLAG_NONBLOCK;
--
-+
-+ frame_rate = (AVRational){0, 0};
-+ frame_width = 0;
-+ frame_height = 0;
-+ audio_sample_rate = 0;
-+ audio_channels = 0;
-+
- return true;
- }
-
- void wxFfmpegMediaTranscoder::PrintError(const wxString& msg, int err) {
-- switch (err) {
-- case AVERROR_NUMEXPECTED:
-- wxLogError(wxT("%s: Incorrect image filename syntax.\n"
-- "Use '%%d' to specify the image number:\n"
-- " for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n"
-- " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'."), msg.c_str());
-- break;
-- case AVERROR_INVALIDDATA:
-- wxLogError(wxT("%s: Error while parsing header"), msg.c_str());
-- break;
-- case AVERROR_NOFMT:
-- wxLogError(wxT("%s: Unknown format"), msg.c_str());
-- break;
-- case AVERROR(EIO):
-- wxLogError(wxT("%s: I/O error occured\n"
-- "Usually that means that input file is truncated and/or corrupted."), msg.c_str());
-- break;
-- case AVERROR(ENOMEM):
-- wxLogError(wxT("%s: memory allocation error occured"), msg.c_str());
-- break;
-- case AVERROR(ENOENT):
-- wxLogError(wxT("%s: no such file or directory"), msg.c_str());
-- break;
-- default:
-- wxLogError(wxT("%s: Error while opening file"), msg.c_str());
-- break;
-- }
-+ char errbuf[128];
-+ const char *errbuf_ptr = errbuf;
-+
-+ if (av_strerror(err, errbuf, sizeof(errbuf)) < 0)
-+ errbuf_ptr = strerror(AVUNERROR(err));
-+ wxString errorStr(errbuf_ptr, wxConvUTF8);
-+ wxLogError(msg + wxT(": ") + errorStr);
- }
-
- void choose_pixel_fmt(AVStream *st, AVCodec *codec) {
-@@ -819,12 +679,15 @@
- if(*p == st->codec->pix_fmt)
- break;
- }
-- if(*p == -1
-- && !( st->codec->codec_id==CODEC_ID_MJPEG
-- && st->codec->strict_std_compliance <= FF_COMPLIANCE_INOFFICIAL
-- && ( st->codec->pix_fmt == PIX_FMT_YUV420P
-- || st->codec->pix_fmt == PIX_FMT_YUV422P)))
-+ if (*p == -1) {
-+ if(st->codec->pix_fmt != PIX_FMT_NONE)
-+ av_log(NULL, AV_LOG_WARNING,
-+ "Incompatible pixel format '%s' for codec '%s', auto-selecting format '%s'\n",
-+ av_pix_fmt_descriptors[st->codec->pix_fmt].name,
-+ codec->name,
-+ av_pix_fmt_descriptors[codec->pix_fmts[0]].name);
- st->codec->pix_fmt = codec->pix_fmts[0];
-+ }
- }
- }
-
-@@ -835,30 +698,20 @@
- if(*p == st->codec->sample_fmt)
- break;
- }
-- if (*p == -1)
-+ if (*p == -1) {
-+ if ((codec->capabilities & CODEC_CAP_LOSSLESS)
-+ && av_get_sample_fmt_name(st->codec->sample_fmt) > av_get_sample_fmt_name(codec->sample_fmts[0]))
-+ av_log(NULL, AV_LOG_ERROR, "Convertion will not be lossless'\n");
-+ av_log(NULL, AV_LOG_WARNING,
-+ "Incompatible sample format '%s' for codec '%s', auto-selecting format '%s'\n",
-+ av_get_sample_fmt_name(st->codec->sample_fmt),
-+ codec->name,
-+ av_get_sample_fmt_name(codec->sample_fmts[0]));
- st->codec->sample_fmt = codec->sample_fmts[0];
-+ }
- }
- }
-
--// similar to ff_dynarray_add() and av_fast_realloc()
--void* grow_array(void *array, int elem_size, int *size, int new_size) {
-- if (new_size >= INT_MAX / elem_size) {
-- wxLogError(wxT("Array too big."));
-- return NULL;
-- }
-- if (*size < new_size) {
-- uint8_t* tmp = (uint8_t*) av_realloc(array, new_size*elem_size);
-- if (!tmp) {
-- wxLogError(wxT("Could not alloc buffer."));
-- return NULL;
-- }
-- memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size);
-- *size = new_size;
-- return tmp;
-- }
-- return array;
--}
--
- void choose_sample_rate(AVStream *st, AVCodec *codec) {
- if (codec && codec->supported_samplerates){
- const int *p= codec->supported_samplerates;
-@@ -893,6 +746,8 @@
- }
- ost->file_index = fileIdx;
- ost->index = idx;
-+
-+ ost->sws_flags = SWS_BICUBIC;
- return ost;
- }
-
-@@ -913,8 +768,6 @@
- if (!ost)
- return false;
-
-- output_codecs = (AVCodec**)
-- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1);
- if (videoFormat != vfCOPY) {
- wxSize frameSize = GetFrameSize(videoFormat);
- frame_width = frameSize.GetWidth();
-@@ -929,21 +782,13 @@
- frame_rate.den = 1001;
- }
- codec = avcodec_find_encoder(codecId);
-- output_codecs[nb_output_codecs-1] = codec;
-+ ost->enc = codec;
-
- char* vfilters = NULL;
- if (m_videoFilters.length()) {
- vfilters = (char*) av_realloc(vfilters, m_videoFilters.length() + 1);
- snprintf(vfilters, m_videoFilters.length() + 1, "%s", (const char*) m_videoFilters.mb_str());
- }
-- if (frame_aspect_ratio_override) {
-- int i = vfilters ? strlen(vfilters) : 0;
-- vfilters = (char*) av_realloc(vfilters, i + 100);
-- snprintf(vfilters + i, 100, "%csetdar=%f", i ? ',' : ' ', frame_aspect_ratio);
-- frame_aspect_ratio = 0;
-- frame_aspect_ratio_override = 0;
-- }
--
- ost->avfilter = vfilters;
- }
-
-@@ -954,17 +799,14 @@
- st->codec->thread_count = thread_count;
-
- video_enc = st->codec;
--
-+
- if (video_codec_tag)
- video_enc->codec_tag= video_codec_tag;
--
-- if ((video_global_header&1) || (video_global_header==0 && (oc->oformat->flags & AVFMT_GLOBALHEADER))) {
-+
-+ if (oc->oformat->flags & AVFMT_GLOBALHEADER) {
- video_enc->flags |= CODEC_FLAG_GLOBAL_HEADER;
- }
-- if (video_global_header&2) {
-- video_enc->flags2 |= CODEC_FLAG2_LOCAL_HEADER;
-- }
--
-+
- if (videoFormat == vfCOPY) {
- st->stream_copy = 1;
- video_enc->codec_type = AVMEDIA_TYPE_VIDEO;
-@@ -974,8 +816,6 @@
- const char *p;
- int i;
-
-- AVRational fps= frame_rate.num ? frame_rate : (AVRational) {25,1};
--
- av_set_int(video_enc, "gop", isNTSC(videoFormat) ? 15 : 12);
- av_set_int(video_enc, "b", bitrate * 1000);
- av_set_int(video_enc, "maxrate", vbr ? 9000000 : bitrate * 1000);
-@@ -985,20 +825,16 @@
- av_set_int(video_enc, "packetsize", 2048);
- av_set_int(video_enc, "muxrate", 10080000);
-
-+ if (frame_rate.num)
-+ ost->frame_rate = frame_rate;
- video_enc->codec_id = codecId;
-
-- if (codec && codec->supported_framerates && !force_fps)
-- fps = codec->supported_framerates[av_find_nearest_q_idx(fps, codec->supported_framerates)];
-- video_enc->time_base.den = fps.num;
-- video_enc->time_base.num = fps.den;
- video_enc->width = frame_width;
- video_enc->height = frame_height;
- video_enc->sample_aspect_ratio = av_d2q(frame_aspect_ratio*frame_height/frame_width, 255);
- video_enc->pix_fmt = frame_pix_fmt;
- st->sample_aspect_ratio = video_enc->sample_aspect_ratio;
--
-- choose_pixel_fmt(st, codec);
--
-+
- if (intra_only)
- video_enc->gop_size = 0;
- if (video_qscale || same_quality) {
-@@ -1059,7 +895,7 @@
- // parse_forced_key_frames(forced_key_frames, ost, video_enc);
- }
- if (video_language) {
-- av_metadata_set2(&st->metadata, "language", video_language, 0);
-+ av_dict_set(&st->metadata, "language", video_language, 0);
- av_freep(&video_language);
- }
-
-@@ -1084,12 +920,10 @@
- if (!ost)
- return false;
-
-- output_codecs = (AVCodec**)
-- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1);
- if (audioFormat != afNONE && audioFormat != afCOPY) {
- codecId = audioFormat == afMP2 ? CODEC_ID_MP2 : CODEC_ID_AC3;
- codec = avcodec_find_encoder(codecId);
-- output_codecs[nb_output_codecs-1] = codec;
-+ ost->enc = codec;
- }
-
- audio_sample_rate = 48000;
-@@ -1110,8 +944,6 @@
- }
- if (audioFormat == afCOPY) {
- st->stream_copy = 1;
-- audio_enc->channels = audio_channels;
-- audio_enc->sample_rate = audio_sample_rate;
- } else {
- av_set_int(audio_enc, "ab", bitrate*1000);
- codec = avcodec_find_encoder(codecId);
-@@ -1122,19 +954,16 @@
- st->quality = FF_QP2LAMBDA * audio_qscale;
- audio_enc->global_quality = (int) st->quality;
- }
-- audio_enc->channels = audio_channels;
-+ if (audio_channels)
-+ audio_enc->channels = audio_channels;
- audio_enc->sample_fmt = audio_sample_fmt;
-- audio_enc->sample_rate = audio_sample_rate;
-+ if (audio_sample_rate)
-+ audio_enc->sample_rate = audio_sample_rate;
- audio_enc->channel_layout = channel_layout;
-- if (av_get_channel_layout_nb_channels(channel_layout) != audio_channels)
-- audio_enc->channel_layout = 0;
- choose_sample_fmt(st, codec);
-- choose_sample_rate(st, codec);
- }
-- audio_enc->sample_rate = audio_sample_rate;
-- audio_enc->time_base= (AVRational) {1, audio_sample_rate};
- if (audio_language) {
-- av_metadata_set2(&st->metadata, "language", audio_language, 0);
-+ av_dict_set(&st->metadata, "language", audio_language, 0);
- av_freep(&audio_language);
- }
-
-@@ -1158,11 +987,10 @@
- return false;
- subtitle_enc = st->codec;
-
-- output_codecs = (AVCodec**)
-- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1);
- if (subtitleFormat != sfNONE) {
- codecId = CODEC_ID_DVD_SUBTITLE;
-- codec = output_codecs[nb_output_codecs-1] = avcodec_find_encoder(codecId);
-+ codec = avcodec_find_encoder(codecId);
-+ ost->enc = codec;
- }
- avcodec_get_context_defaults3(st->codec, codec);
-
-@@ -1181,7 +1009,7 @@
- }
-
- if (subtitle_language) {
-- av_metadata_set2(&st->metadata, "language", subtitle_language, 0);
-+ av_dict_set(&st->metadata, "language", subtitle_language, 0);
- av_freep(&subtitle_language);
- }
-
-@@ -1233,7 +1061,7 @@
- }
-
- int wxFfmpegMediaTranscoder::CopyChapters(int infile, int outfile) {
-- AVFormatContext *is = input_files[infile];
-+ AVFormatContext *is = input_files[infile].ctx;
- AVFormatContext *os = output_files[outfile];
-
- for (unsigned int i = 0; i < is->nb_chapters; i++) {
-@@ -1259,7 +1087,7 @@
- out_ch->end = FFMIN(rt, in_ch->end - ts_off);
-
- if (metadata_chapters_autocopy)
-- av_metadata_copy(&out_ch->metadata, in_ch->metadata, 0);
-+ av_dict_copy(&out_ch->metadata, in_ch->metadata, 0);
-
- os->nb_chapters++;
- os->chapters = (AVChapter**) av_realloc(os->chapters, sizeof(AVChapter)*os->nb_chapters);
-@@ -1272,11 +1100,11 @@
-
- /** Starts transcoding. */
- bool wxFfmpegMediaTranscoder::Run(bool& canceled) {
-- int ret = 0, i, j, k, n, nb_istreams = 0, nb_ostreams = 0, step;
-+ int ret = 0, i, j, k, n, nb_ostreams = 0, step;
- AVFormatContext *is, *os;
- AVCodecContext *codec, *icodec;
- AVOutputStream *ost, **ost_table= NULL;
-- AVInputStream *ist, **ist_table= NULL;
-+ AVInputStream *ist = NULL;
- wxString error;
- int want_sdp = 1;
- int bit_buffer_size = 1024*256;
-@@ -1289,46 +1117,10 @@
- if (canceled)
- return false;
-
-- AVInputFile* file_table = (AVInputFile*) av_mallocz(nb_input_files*sizeof(AVInputFile));
-- if (!file_table)
-- goto fail;
--
-- /* input stream init */
-- j = 0;
-- for (i=0; i<nb_input_files; i++) {
-- is = input_files[i];
-- file_table[i].ist_index = j;
-- file_table[i].nb_streams = is->nb_streams;
-- j += is->nb_streams;;
-- }
-- nb_istreams = j;
--
-- ist_table = (AVInputStream**) av_mallocz(nb_istreams * sizeof(AVInputStream *));
-- if (!ist_table)
-- goto fail;
--
-- for (i=0; i<nb_istreams; i++) {
-- ist = (AVInputStream*) av_mallocz(sizeof(AVInputStream));
-- if (!ist)
-- goto fail;
-- ist_table[i] = ist;
-- }
-- j = 0;
-- for (i=0; i<nb_input_files; i++) {
-- is = input_files[i];
-- for (k=0; k<(int)is->nb_streams; k++) {
-- ist = ist_table[j++];
-- ist->st = is->streams[k];
-- ist->file_index = i;
-- ist->index = k;
-- ist->discard = 1; /* the stream is discarded by default (changed later) */
--
-- if (rate_emu) {
-- ist->start = av_gettime();
-- }
-- }
-- }
--
-+ if (rate_emu)
-+ for (i = 0; i < nb_input_streams; i++)
-+ input_streams[i].start = av_gettime();
-+
- /* output stream init */
- nb_ostreams = 0;
- for (i=0; i<nb_output_files; i++) {
-@@ -1350,15 +1142,15 @@
- int fi = stream_maps[i].file_index;
- int si = stream_maps[i].stream_index;
-
-- if (fi < 0 || fi > nb_input_files - 1 ||
-- si < 0 || si > file_table[fi].nb_streams - 1) {
-+ if (fi < 0 || fi > (int) nb_input_files - 1 ||
-+ si < 0 || si > (int) input_files[fi].ctx->nb_streams - 1) {
- wxLogError(wxT("Could not find input stream #%d.%d"), fi, si);
- return false;
- }
- fi = stream_maps[i].sync_file_index;
- si = stream_maps[i].sync_stream_index;
- if (fi < 0 || fi> nb_input_files - 1 ||
-- si < 0 || si> file_table[fi].nb_streams - 1) {
-+ si < 0 || si > (int) input_files[fi].ctx->nb_streams - 1) {
- wxLogError(wxT("Could not find sync stream #%d.%d"), fi, si);
- return false;
- }
-@@ -1379,11 +1171,11 @@
- for(j=0; j<AVMEDIA_TYPE_NB; j++)
- nb_frame_threshold[j] += step;
-
-- for(j=0; j<nb_istreams; j++) {
-+ for(j=0; j<nb_input_streams; j++) {
- int skip=0;
-- ist = ist_table[j];
-+ ist = &input_streams[j];
- if(opt_programid){
-- AVFormatContext *f= input_files[ ist->file_index ];
-+ AVFormatContext *f= input_files[ist->file_index].ctx;
- skip=1;
- for (unsigned int pi=0; pi<f->nb_programs; pi++) {
- AVProgram *p= f->programs[pi];
-@@ -1411,11 +1203,11 @@
- ost = ost_table[n] = output_streams_for_file[k][i];
- ost->st = os->streams[i];
- if (nb_stream_maps > 0) {
-- ost->source_index = file_table[stream_maps[n].file_index].ist_index +
-+ ost->source_index = input_files[stream_maps[n].file_index].ist_index +
- stream_maps[n].stream_index;
-
- /* Sanity check that the stream types match */
-- if (ist_table[ost->source_index]->st->codec->codec_type
-+ if (input_streams[ost->source_index].st->codec->codec_type
- != ost->st->codec->codec_type) {
- wxLogError(wxT("Codec type mismatch for mapping #%d.%d -> #%d.%d"),
- stream_maps[n].file_index, stream_maps[n].stream_index,
-@@ -1426,12 +1218,12 @@
- } else {
- /* get corresponding input stream index : we select the first one with the right type */
- found = 0;
-- for(j=0;j<nb_istreams;j++) {
-+ for (j=0; j < nb_input_streams; j++) {
- int skip=0;
-- ist = ist_table[j];
-+ ist = &input_streams[j];
- if(opt_programid){
- unsigned int pi,si;
-- AVFormatContext *f= input_files[ ist->file_index ];
-+ AVFormatContext *f = input_files[ist->file_index].ctx;
- skip=1;
- for(pi=0; pi<f->nb_programs; pi++){
- AVProgram *p= f->programs[pi];
-@@ -1453,8 +1245,8 @@
- if (!found) {
- if(! opt_programid) {
- /* try again and reuse existing stream */
-- for(j=0;j<nb_istreams;j++) {
-- ist = ist_table[j];
-+ for (j = 0; j < nb_input_streams; j++) {
-+ ist = &input_streams[j];
- if ( ist->st->codec->codec_type == ost->st->codec->codec_type
- && ist->st->discard != AVDISCARD_ALL) {
- ost->source_index = j;
-@@ -1471,10 +1263,10 @@
- }
- }
- }
-- ist = ist_table[ost->source_index];
-+ ist = &input_streams[ost->source_index];
- ist->discard = 0;
- ost->sync_ist = (nb_stream_maps > 0) ?
-- ist_table[file_table[stream_maps[n].sync_file_index].ist_index +
-+ &input_streams[input_files[stream_maps[n].sync_file_index].ist_index +
- stream_maps[n].sync_stream_index] : ist;
- }
- }
-@@ -1483,13 +1275,13 @@
- for (i=0; i<nb_ostreams; i++) {
- ost = ost_table[i];
- os = output_files[ost->file_index];
-- ist = ist_table[ost->source_index];
-+ ist = &input_streams[ost->source_index];
-
- codec = ost->st->codec;
- icodec = ist->st->codec;
-
- if (metadata_streams_autocopy)
-- av_metadata_copy(&ost->st->metadata, ist->st->metadata, AV_METADATA_DONT_OVERWRITE);
-+ av_dict_copy(&ost->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);
-
- ost->st->disposition = ist->st->disposition;
- codec->bits_per_raw_sample= icodec->bits_per_raw_sample;
-@@ -1520,11 +1312,13 @@
- goto fail;
- memcpy(codec->extradata, icodec->extradata, icodec->extradata_size);
- codec->extradata_size= icodec->extradata_size;
-- if(av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/1000){
-- codec->time_base = icodec->time_base;
-- codec->time_base.num *= icodec->ticks_per_frame;
-- } else
-- codec->time_base = ist->st->time_base;
-+ if(!copy_tb && av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/500){
-+ codec->time_base = icodec->time_base;
-+ codec->time_base.num *= icodec->ticks_per_frame;
-+ av_reduce(&codec->time_base.num, &codec->time_base.den,
-+ codec->time_base.num, codec->time_base.den, INT_MAX);
-+ } else
-+ codec->time_base = ist->st->time_base;
- switch (codec->codec_type) {
- case AVMEDIA_TYPE_AUDIO:
- if(audio_volume != 256) {
-@@ -1566,12 +1360,25 @@
- return false;
- }
- } else {
-+ if (!ost->enc)
-+ ost->enc = avcodec_find_encoder(ost->st->codec->codec_id);
- switch (codec->codec_type) {
- case AVMEDIA_TYPE_AUDIO:
- ost->fifo= av_fifo_alloc(1024);
- if(!ost->fifo)
- goto fail;
- ost->reformat_pair = MAKE_SFMT_PAIR(AV_SAMPLE_FMT_NONE,AV_SAMPLE_FMT_NONE);
-+ if (!codec->sample_rate) {
-+ codec->sample_rate = icodec->sample_rate;
-+ if (icodec->lowres)
-+ codec->sample_rate >>= icodec->lowres;
-+ }
-+ choose_sample_rate(ost->st, ost->enc);
-+ codec->time_base = (AVRational){1, codec->sample_rate};
-+ if (!codec->channels)
-+ codec->channels = icodec->channels;
-+ if (av_get_channel_layout_nb_channels(codec->channel_layout) != codec->channels)
-+ codec->channel_layout = 0;
- ost->audio_resample = codec->sample_rate != icodec->sample_rate || audio_sync_method > 1;
- icodec->request_channels = codec->channels;
- ist->decoding_needed = 1;
-@@ -1581,6 +1388,9 @@
- ost->resample_channels = icodec->channels;
- break;
- case AVMEDIA_TYPE_VIDEO:
-+ if (codec->pix_fmt == PIX_FMT_NONE)
-+ codec->pix_fmt = icodec->pix_fmt;
-+ choose_pixel_fmt(ost->st, ost->enc);
- if (ost->st->codec->pix_fmt == PIX_FMT_NONE) {
- wxLogError(wxT("Video pixel format is unknown, stream cannot be encoded"));
- return false;
-@@ -1590,13 +1400,30 @@
- if (ost->video_resample) {
- codec->bits_per_raw_sample= frame_bits_per_raw_sample;
- }
-+ if (!codec->width || !codec->height) {
-+ codec->width = icodec->width;
-+ codec->height = icodec->height;
-+ }
- ost->resample_height = icodec->height;
- ost->resample_width = icodec->width;
- ost->resample_pix_fmt= icodec->pix_fmt;
- ost->encoding_needed = 1;
- ist->decoding_needed = 1;
-+
-+ if (!ost->frame_rate.num)
-+ ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25,1};
-+ if (ost->enc && ost->enc->supported_framerates && !force_fps) {
-+ int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
-+ ost->frame_rate = ost->enc->supported_framerates[idx];
-+ }
-+ codec->time_base = (AVRational){ost->frame_rate.den, ost->frame_rate.num};
-+ if( av_q2d(codec->time_base) < 0.001 && video_sync_method
-+ && (video_sync_method==1 || (video_sync_method<0 && !(os->oformat->flags & AVFMT_VARIABLE_FPS)))){
-+ av_log(os, AV_LOG_WARNING, "Frame rate very high for a muxer not effciciently supporting it.\n"
-+ "Please consider specifiying a lower framerate, a different muxer or -vsync 2\n");
-+ }
-
-- if (configure_filters(ist, ost)) {
-+ if (configure_video_filters(ist, ost)) {
- wxLogError(wxT("Error opening filters!"));
- return false;
- }
-@@ -1653,10 +1480,8 @@
- for (i=0; i<nb_ostreams; i++) {
- ost = ost_table[i];
- if (ost->encoding_needed) {
-- AVCodec *codec = i < nb_output_codecs ? output_codecs[i] : NULL;
-- AVCodecContext *dec = ist_table[ost->source_index]->st->codec;
-- if (!codec)
-- codec = avcodec_find_encoder(ost->st->codec->codec_id);
-+ AVCodec *codec = ost->enc;
-+ AVCodecContext *dec = input_streams[ost->source_index].st->codec;
- if (!codec) {
- error = wxString::Format(wxT("Encoder (codec id %d) not found for output stream #%d.%d"),
- ost->st->codec->codec_id, ost->file_index, ost->index);
-@@ -1683,18 +1508,18 @@
- }
-
- /* open each decoder */
-- for (i=0; i<nb_istreams; i++) {
-- ist = ist_table[i];
-+ for (i = 0; i < nb_input_streams; i++) {
-+ ist = &input_streams[i];
- if (ist->decoding_needed) {
- AVCodec *codec = avcodec_find_decoder(ist->st->codec->codec_id);
- if (!codec) {
- wxLogError(wxT("Decoder (codec id %d) not found for input stream #%d.%d"),
-- ist->st->codec->codec_id, ist->file_index, ist->index);
-+ ist->st->codec->codec_id, ist->file_index, ist->st->index);
- return false;
- }
- if (avcodec_open(ist->st->codec, codec) < 0) {
- wxLogError(wxT("Error while opening decoder for input stream #%d.%d"),
-- ist->file_index, ist->index);
-+ ist->file_index, ist->st->index);
- return false;
- }
- //if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
-@@ -1703,20 +1528,68 @@
- }
-
- /* init pts */
-- for (i=0; i<nb_istreams; i++) {
-+ for (i = 0; i < nb_input_streams; i++) {
- AVStream *st;
-- ist = ist_table[i];
-+ ist = &input_streams[i];
- st= ist->st;
- ist->pts = st->avg_frame_rate.num ? - st->codec->has_b_frames*AV_TIME_BASE / av_q2d(st->avg_frame_rate) : 0;
- ist->next_pts = AV_NOPTS_VALUE;
- ist->is_start = 1;
- }
-+
-+ /* set meta data information from input file if required */
-+ for (i=0;i<nb_meta_data_maps;i++) {
-+ AVFormatContext *files[2];
-+ AVDictionary **meta[2];
-+ int j;
-+
-+#define METADATA_CHECK_INDEX(index, nb_elems, desc)\
-+ if ((index) < 0 || (index) >= (int) (nb_elems)) {\
-+ error = wxString::Format(wxT("Invalid %s index %d while processing metadata maps."), (desc), (index));\
-+ ret = AVERROR(EINVAL);\
-+ goto dump_format;\
-+ }
-+
-+ int out_file_index = meta_data_maps[i][0].file;
-+ int in_file_index = meta_data_maps[i][1].file;
-+ if (in_file_index < 0 || out_file_index < 0)
-+ continue;
-+ METADATA_CHECK_INDEX(out_file_index, nb_output_files, "output file")
-+ METADATA_CHECK_INDEX(in_file_index, nb_input_files, "input file")
-+
-+ files[0] = output_files[out_file_index];
-+ files[1] = input_files[in_file_index].ctx;
-+
-+ for (j = 0; j < 2; j++) {
-+ AVMetaDataMap *map = &meta_data_maps[i][j];
-
-+ switch (map->type) {
-+ case 'g':
-+ meta[j] = &files[j]->metadata;
-+ break;
-+ case 's':
-+ METADATA_CHECK_INDEX(map->index, files[j]->nb_streams, "stream")
-+ meta[j] = &files[j]->streams[map->index]->metadata;
-+ break;
-+ case 'c':
-+ METADATA_CHECK_INDEX(map->index, files[j]->nb_chapters, "chapter")
-+ meta[j] = &files[j]->chapters[map->index]->metadata;
-+ break;
-+ case 'p':
-+ METADATA_CHECK_INDEX(map->index, files[j]->nb_programs, "program")
-+ meta[j] = &files[j]->programs[map->index]->metadata;
-+ break;
-+ }
-+ }
-+
-+ av_dict_copy(meta[0], *meta[1], AV_DICT_DONT_OVERWRITE);
-+ }
-+
- /* copy global metadata by default */
- if (metadata_global_autocopy) {
-
- for (i = 0; i < nb_output_files; i++)
-- av_metadata_copy(&output_files[i]->metadata, input_files[0]->metadata, AV_METADATA_DONT_OVERWRITE);
-+ av_dict_copy(&output_files[i]->metadata, input_files[0].ctx->metadata, AV_DICT_DONT_OVERWRITE);
- }
-
- /* copy chapters according to chapter maps */
-@@ -1742,7 +1615,7 @@
- /* copy chapters from the first input file that has them*/
- if (!nb_chapter_maps)
- for (i = 0; i < nb_input_files; i++) {
-- if (!input_files[i]->nb_chapters)
-+ if (!input_files[i].ctx->nb_chapters)
- continue;
-
- for (j = 0; j < nb_output_files; j++)
-@@ -1776,10 +1649,10 @@
- for(i=0;i<nb_ostreams;i++) {
- ost = ost_table[i];
- wxString msg = wxString::Format(wxT(" Stream #%d.%d -> #%d.%d"),
-- ist_table[ost->source_index]->file_index, ist_table[ost->source_index]->index,
-+ input_streams[ost->source_index].file_index, input_streams[ost->source_index].st->index,
- ost->file_index, ost->index);
-- if (ost->sync_ist != ist_table[ost->source_index])
-- msg += wxString::Format(wxT(" [sync #%d.%d]"), ost->sync_ist->file_index, ost->sync_ist->index);
-+ if (ost->sync_ist != &input_streams[ost->source_index])
-+ msg += wxString::Format(wxT(" [sync #%d.%d]"), ost->sync_ist->file_index, ost->sync_ist->st->index);
- wxLogMessage(msg);
- }
- }
-@@ -1815,12 +1688,12 @@
- double ipts, opts;
- ost = ost_table[i];
- os = output_files[ost->file_index];
-- ist = ist_table[ost->source_index];
-+ ist = &input_streams[ost->source_index];
- if (ist->is_past_recording_time || no_packet[ist->file_index])
- continue;
- opts = ost->st->pts.val * av_q2d(ost->st->time_base);
- ipts = (double)ist->pts;
-- if (!file_table[ist->file_index].eof_reached) {
-+ if (!input_files[ist->file_index].eof_reached) {
- if (ipts < ipts_min) {
- ipts_min = ipts;
- if (input_sync)
-@@ -1853,7 +1726,7 @@
- break;
-
- /* read a frame from it and output it in the fifo */
-- is = input_files[file_index];
-+ is = input_files[file_index].ctx;
- ret= av_read_frame(is, &pkt);
- if(ret == AVERROR(EAGAIN)){
- no_packet[file_index]=1;
-@@ -1861,7 +1734,7 @@
- continue;
- }
- if (ret < 0) {
-- file_table[file_index].eof_reached = 1;
-+ input_files[file_index].eof_reached = 1;
- if (opt_shortest)
- break;
- else
-@@ -1876,11 +1749,11 @@
- // }
-
- /* the following test is needed in case new streams appear
-- dynamically in stream : we ignore them */
-- if (pkt.stream_index >= file_table[file_index].nb_streams)
-+ dynamically in stream : we ignore them */
-+ if (pkt.stream_index >= (int) input_files[file_index].ctx->nb_streams)
- goto discard_packet;
-- ist_index = file_table[file_index].ist_index + pkt.stream_index;
-- ist = ist_table[ist_index];
-+ ist_index = input_files[file_index].ist_index + pkt.stream_index;
-+ ist = &input_streams[ist_index];
- if (ist->discard)
- goto discard_packet;
-
-@@ -1926,7 +1799,7 @@
- //wxLogMessage(wxT("read #%d.%d size=%d"), ist->file_index, ist->index, pkt.size);
- if (!OutputPacket(ist, ist_index, ost_table, nb_ostreams, &pkt, bit_buffer_size, bit_buffer)) {
- if (verbose >= 0)
-- wxLogMessage(wxT("Error while decoding stream #%d.%d"), ist->file_index, ist->index);
-+ wxLogMessage(wxT("Error while decoding stream #%d.%d"), ist->file_index, ist->st->index);
- if (exit_on_error)
- return false;
- av_free_packet(&pkt);
-@@ -1941,8 +1814,8 @@
- }
-
- /* at the end of stream, we must flush the decoder buffers */
-- for (i=0; i<nb_istreams; i++) {
-- ist = ist_table[i];
-+ for (i = 0; i < nb_input_streams; i++) {
-+ ist = &input_streams[i];
- if (ist->decoding_needed)
- OutputPacket(ist, i, ost_table, nb_ostreams, NULL, bit_buffer_size, bit_buffer);
- }
-@@ -1967,8 +1840,8 @@
- }
-
- /* close each decoder */
-- for (i=0; i<nb_istreams; i++) {
-- ist = ist_table[i];
-+ for (i = 0; i < nb_input_streams; i++) {
-+ ist = &input_streams[i];
- if (ist->decoding_needed) {
- avcodec_close(ist->st->codec);
- }
-@@ -1978,15 +1851,7 @@
- ret = 0;
- fail:
- av_freep(&bit_buffer);
-- av_free(file_table);
-
-- if (ist_table) {
-- for (i=0; i<nb_istreams; i++) {
-- ist = ist_table[i];
-- av_free(ist);
-- }
-- av_free(ist_table);
-- }
- if (ost_table) {
- for (i=0; i<nb_ostreams; i++) {
- ost = ost_table[i];
-@@ -2000,7 +1865,7 @@
- av_fifo_free(ost->fifo); /* works even if fifo is not initialized but set to zero */
- av_freep(&ost->st->codec->subtitle_header);
- av_free(ost->resample_frame.data[0]);
--// av_free(ost->forced_kf_pts);
-+ av_free(ost->forced_kf_pts);
- if (ost->video_resample)
- sws_freeContext(ost->img_resample_ctx);
- if (ost->resample)
-@@ -2029,15 +1894,15 @@
- AVFormatContext *os;
- AVOutputStream *ost;
- int ret, i;
-- int got_picture;
-+ int got_output;
- AVFrame picture;
-- void *buffer_to_free;
-+ void *buffer_to_free = NULL;
- unsigned int samples_size = 0;
- AVSubtitle subtitle, *subtitle_to_free;
- int frame_available;
-
- AVPacket avpkt;
-- int bps = av_get_bits_per_sample_fmt(ist->st->codec->sample_fmt)>>3;
-+ int bps = av_get_bytes_per_sample(ist->st->codec->sample_fmt);
-
- if(ist->next_pts == (int64_t) AV_NOPTS_VALUE)
- ist->next_pts= ist->pts;
-@@ -2056,7 +1921,7 @@
- ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
-
- //while we have more to decode or while the decoder did output something on EOF
-- while (avpkt.size > 0 || (!pkt && ist->next_pts != ist->pts)) {
-+ while (avpkt.size > 0 || (!pkt && got_output)) {
- uint8_t *data_buf, *decoded_data_buf;
- int data_size, decoded_data_size;
- handle_eof:
-@@ -2090,9 +1955,10 @@
- avpkt.data += ret;
- avpkt.size -= ret;
- data_size = ret;
-+ got_output = decoded_data_size > 0;
- // Some bug in mpeg audio decoder gives
- // decoded_data_size < 0, it seems they are overflows
-- if (decoded_data_size <= 0) {
-+ if (!got_output) {
- // no audio frame
- continue;
- }
-@@ -2106,11 +1972,11 @@
- // XXX: allocate picture correctly
- avcodec_get_frame_defaults(&picture);
-
-- ret = avcodec_decode_video2(ist->st->codec, &picture, &got_picture, &avpkt);
-+ ret = avcodec_decode_video2(ist->st->codec, &picture, &got_output, &avpkt);
- ist->st->quality= picture.quality;
- if (ret < 0)
- goto fail_decode;
-- if (!got_picture) {
-+ if (!got_output) {
- // no picture yet
- goto discard_packet;
- }
-@@ -2121,12 +1987,14 @@
- / ist->st->codec->time_base.den;
- }
- avpkt.size = 0;
-+ buffer_to_free = NULL;
-+ pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free);
- break;
- case AVMEDIA_TYPE_SUBTITLE:
-- ret = avcodec_decode_subtitle2(ist->st->codec, &subtitle, &got_picture, &avpkt);
-+ ret = avcodec_decode_subtitle2(ist->st->codec, &subtitle, &got_output, &avpkt);
- if (ret < 0)
- goto fail_decode;
-- if (!got_picture) {
-+ if (!got_output) {
- goto discard_packet;
- }
- subtitle_to_free = &subtitle;
-@@ -2157,26 +2025,19 @@
- avpkt.size = 0;
- }
-
-- buffer_to_free = NULL;
-- if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
-- pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free);
-- }
--
-- if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO){
-- for(i=0;i<nb_ostreams;i++) {
-- ost = ost_table[i];
-- if (ost->input_video_filter && ost->source_index == ist_index) {
-- AVRational sar;
-- if (ist->st->sample_aspect_ratio.num) sar = ist->st->sample_aspect_ratio;
-- else sar = ist->st->codec->sample_aspect_ratio;
-- // add it to be filtered
-- av_vsrc_buffer_add_frame2(ost->input_video_filter, &picture,
-- ist->pts,
-- sar, ist->st->codec->width, ist->st->codec->height,
-- ist->st->codec->pix_fmt, "0:0");
-- }
-- }
-- }
-+ if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
-+ if (start_time == 0 || ist->pts >= start_time) {
-+ for(i=0;i<nb_ostreams;i++) {
-+ ost = ost_table[i];
-+ if (ost->input_video_filter && ost->source_index == ist_index) {
-+ if (!picture.sample_aspect_ratio.num)
-+ picture.sample_aspect_ratio = ist->st->sample_aspect_ratio;
-+ picture.pts = ist->pts;
-+
-+ av_vsrc_buffer_add_frame(ost->input_video_filter, &picture, AV_VSRC_BUF_FLAG_OVERWRITE);
-+ }
-+ }
-+ }
-
- // preprocess audio (volume)
- if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
-@@ -2209,14 +2070,18 @@
-
- ost = ost_table[i];
- if (ost->source_index == ist_index) {
-- frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO ||
-- !ost->output_video_filter || avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-- while (frame_available) {
-- AVRational ist_pts_tb;
-- if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->output_video_filter)
-- get_filtered_video_frame(ost->output_video_filter, &picture, &ost->picref, &ist_pts_tb);
-- if (ost->picref)
-- ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q);
-+ frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO ||
-+ !ost->output_video_filter || avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-+ while (frame_available) {
-+ if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->output_video_filter) {
-+ AVRational ist_pts_tb = ost->output_video_filter->inputs[0]->time_base;
-+ if (av_vsink_buffer_get_video_buffer_ref(ost->output_video_filter, &ost->picref, 0) < 0)
-+ goto cont;
-+ if (ost->picref) {
-+ avfilter_fill_frame_from_video_buffer_ref(&picture, ost->picref);
-+ ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q);
-+ }
-+ }
- os = output_files[ost->file_index];
-
- // set the input output pts pairs
-@@ -2232,7 +2097,7 @@
- break;
- case AVMEDIA_TYPE_VIDEO:
- if (ost->picref->video)
-- ost->st->codec->sample_aspect_ratio = ost->picref->video->pixel_aspect;
-+ ost->st->codec->sample_aspect_ratio = ost->picref->video->sample_aspect_ratio;
- if (!DoVideoOut(os, ost, ist, &picture, &frame_size, bit_buffer_size, bit_buffer))
- return false;
- // if (vstats_filename && frame_size)
-@@ -2249,6 +2114,7 @@
- }
- } else {
- AVFrame avframe; //FIXME/XXX remove this
-+ AVPicture pict;
- AVPacket opkt;
- int64_t ost_tb_start_time= av_rescale_q(start_time, AV_TIME_BASE_Q, ost->st->time_base);
-
-@@ -2298,6 +2164,14 @@
- opkt.size = data_size;
- }
-
-+ if (os->oformat->flags & AVFMT_RAWPICTURE) {
-+ /* store AVPicture in AVPacket, as expected by the output format */
-+ avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height);
-+ opkt.data = (uint8_t *)&pict;
-+ opkt.size = sizeof(AVPicture);
-+ opkt.flags |= AV_PKT_FLAG_KEY;
-+ }
-+
- if (!WriteFrame(os, &opkt, ost->st->codec, ost->bitstream_filters))
- return false;
-
-@@ -2308,8 +2182,7 @@
- cont:
- frame_available = (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&
- ost->output_video_filter && avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-- if(ost->picref)
-- avfilter_unref_buffer(ost->picref);
-+ avfilter_unref_buffer(ost->picref);
- }
- }
- }
-@@ -2348,7 +2221,7 @@
- ret = 0;
- // encode any samples remaining in fifo
- if (fifo_bytes > 0) {
-- int osize = av_get_bits_per_sample_fmt(enc->sample_fmt) >> 3;
-+ int osize = av_get_bytes_per_sample(enc->sample_fmt);
- int fs_tmp = enc->frame_size;
- av_fifo_generic_read(ost->fifo, audio_buf, fifo_bytes, NULL);
- if (enc->codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME) {
-@@ -2447,11 +2320,11 @@
- int64_t audio_out_size, audio_buf_size;
- int64_t allocated_for_size= size;
-
-- int size_out, frame_bytes, ret;
-+ int size_out, frame_bytes, ret, resample_changed;
- AVCodecContext *enc= ost->st->codec;
- AVCodecContext *dec= ist->st->codec;
-- int osize= av_get_bits_per_sample_fmt(enc->sample_fmt)/8;
-- int isize= av_get_bits_per_sample_fmt(dec->sample_fmt)/8;
-+ int osize= av_get_bytes_per_sample(enc->sample_fmt);
-+ int isize= av_get_bytes_per_sample(dec->sample_fmt);
- const int coded_bps = av_get_bits_per_sample(enc->codec->id);
-
- need_realloc:
-@@ -2481,18 +2354,42 @@
- if (enc->channels != dec->channels)
- ost->audio_resample = 1;
-
-- if (ost->audio_resample && !ost->resample) {
-- if (dec->sample_fmt != SAMPLE_FMT_S16)
-- wxLogWarning(wxT("Warning, using s16 intermediate sample format for resampling"));
-- ost->resample = av_audio_resample_init(enc->channels, dec->channels,
-- enc->sample_rate, dec->sample_rate,
-- enc->sample_fmt, dec->sample_fmt,
-- 16, 10, 0, 0.8);
-- if (!ost->resample) {
-- wxLogError(wxT("Can not resample %d channels @ %d Hz to %d channels @ %d Hz"),
-- dec->channels, dec->sample_rate,
-- enc->channels, enc->sample_rate);
-- return false;
-+ resample_changed = ost->resample_sample_fmt != dec->sample_fmt ||
-+ ost->resample_channels != dec->channels ||
-+ ost->resample_sample_rate != dec->sample_rate;
-+
-+ if ((ost->audio_resample && !ost->resample) || resample_changed) {
-+ if (resample_changed) {
-+ av_log(NULL, AV_LOG_INFO, "Input stream #%d.%d frame changed from rate:%d fmt:%s ch:%d to rate:%d fmt:%s ch:%d\n",
-+ ist->file_index, ist->st->index,
-+ ost->resample_sample_rate, av_get_sample_fmt_name(ost->resample_sample_fmt), ost->resample_channels,
-+ dec->sample_rate, av_get_sample_fmt_name(dec->sample_fmt), dec->channels);
-+ ost->resample_sample_fmt = dec->sample_fmt;
-+ ost->resample_channels = dec->channels;
-+ ost->resample_sample_rate = dec->sample_rate;
-+ if (ost->resample)
-+ audio_resample_close(ost->resample);
-+ }
-+ /* if audio_sync_method is >1 the resampler is needed for audio drift compensation */
-+ if (audio_sync_method <= 1 &&
-+ ost->resample_sample_fmt == enc->sample_fmt &&
-+ ost->resample_channels == enc->channels &&
-+ ost->resample_sample_rate == enc->sample_rate) {
-+ ost->resample = NULL;
-+ ost->audio_resample = 0;
-+ } else {
-+ if (dec->sample_fmt != SAMPLE_FMT_S16)
-+ wxLogWarning(wxT("Warning, using s16 intermediate sample format for resampling"));
-+ ost->resample = av_audio_resample_init(enc->channels, dec->channels,
-+ enc->sample_rate, dec->sample_rate,
-+ enc->sample_fmt, dec->sample_fmt,
-+ 16, 10, 0, 0.8);
-+ if (!ost->resample) {
-+ wxLogError(wxT("Can not resample %d channels @ %d Hz to %d channels @ %d Hz"),
-+ dec->channels, dec->sample_rate,
-+ enc->channels, enc->sample_rate);
-+ return false;
-+ }
- }
- }
-
-@@ -2619,7 +2516,7 @@
- pkt.size= ret;
- if(enc->coded_frame && enc->coded_frame->pts != (int64_t) AV_NOPTS_VALUE)
- pkt.pts= av_rescale_q(enc->coded_frame->pts, enc->time_base, ost->st->time_base);
-- pkt.flags |= PKT_FLAG_KEY;
-+ pkt.flags |= AV_PKT_FLAG_KEY;
- if (!WriteFrame(s, &pkt, ost->st->codec, ost->bitstream_filters))
- return false;
-
-@@ -2704,7 +2601,7 @@
- bool wxFfmpegMediaTranscoder::DoVideoOut(AVFormatContext *s, AVOutputStream *ost,
- AVInputStream *ist, AVFrame *in_picture, int *frame_size,
- int bit_buffer_size, uint8_t* bit_buffer) {
-- int nb_frames, i, ret, av_unused resample_changed;
-+ int nb_frames, i, ret;
- AVFrame *final_picture, *formatted_picture;
- AVCodecContext *enc, *dec;
- double sync_ipts;
-@@ -2787,15 +2684,13 @@
- // handles sameq here. This is not correct because it may not be a global option
- big_picture.quality = same_quality ? (int) ist->st->quality : (int) ost->st->quality;
- if (!me_threshold)
-- big_picture.pict_type = 0;
--// big_picture.pts = AV_NOPTS_VALUE;
-+ big_picture.pict_type = (AVPictureType) 0;
- big_picture.pts= ost->sync_opts;
--// big_picture.pts= av_rescale(ost->sync_opts, AV_TIME_BASE*(int64_t)enc->time_base.num, enc->time_base.den);
--// if (ost->forced_kf_index < ost->forced_kf_count &&
--// big_picture.pts >= ost->forced_kf_pts[ost->forced_kf_index]) {
--// big_picture.pict_type = AV_PICTURE_TYPE_I;
--// ost->forced_kf_index++;
--// }
-+ if (ost->forced_kf_index < ost->forced_kf_count &&
-+ big_picture.pts >= ost->forced_kf_pts[ost->forced_kf_index]) {
-+ big_picture.pict_type = AV_PICTURE_TYPE_I;
-+ ost->forced_kf_index++;
-+ }
- ret = avcodec_encode_video(enc, bit_buffer, bit_buffer_size, &big_picture);
- if (ret < 0) {
- wxLogError(wxT("Video encoding failed"));
-@@ -2806,17 +2701,12 @@
- pkt.size= ret;
- if(enc->coded_frame->pts != (int64_t) AV_NOPTS_VALUE)
- pkt.pts= av_rescale_q(enc->coded_frame->pts, enc->time_base, ost->st->time_base);
-- //av_log(NULL, AV_LOG_DEBUG, "encoder -> %"PRId64"/%"PRId64"\n",
-- //pkt.pts != AV_NOPTS_VALUE ? av_rescale(pkt.pts, enc->time_base.den, AV_TIME_BASE*(int64_t)enc->time_base.num) : -1,
-- //pkt.dts != AV_NOPTS_VALUE ? av_rescale(pkt.dts, enc->time_base.den, AV_TIME_BASE*(int64_t)enc->time_base.num) : -1);
--
-+
- if(enc->coded_frame->key_frame)
- pkt.flags |= AV_PKT_FLAG_KEY;
- WriteFrame(s, &pkt, ost->st->codec, ost->bitstream_filters);
- *frame_size = ret;
- video_size += ret;
-- //wxLogError(wxT("Frame: %3d size: %5d type: %d"),
-- // enc->frame_number-1, ret, enc->pict_type);
- // if two pass, output log
- if (ost->logfile && enc->stats_out) {
- fprintf(ost->logfile, "%s", enc->stats_out);
-@@ -2896,7 +2786,8 @@
- int64_t total_size;
- AVCodecContext *enc;
- int frame_number, vid, i;
-- double bitrate, ti1, pts;
-+ double bitrate;
-+ int64_t pts = INT64_MAX;
- static int64_t last_time = -1;
- static int qp_histogram[52];
-
-@@ -2920,11 +2811,13 @@
- total_size= avio_tell(oc->pb);
-
- wxString msg;
-- ti1 = 1e10;
- vid = 0;
- for (i=0; i<nb_ostreams; i++) {
-+ float q = -1;
- ost = ost_table[i];
- enc = ost->st->codec;
-+ if (!ost->st->stream_copy && enc->coded_frame)
-+ q = enc->coded_frame->quality/(float)FF_QP2LAMBDA;
- if (vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) {
- msg += wxString::Format(wxT("q=%2.1f "),
- !ost->st->stream_copy ? enc->coded_frame->quality/(float)FF_QP2LAMBDA : -1);
-@@ -2940,7 +2833,7 @@
- msg += wxString::Format(wxT("L"));
- if (qp_hist) {
- int j;
-- int qp = (int) rint(enc->coded_frame->quality/(float)FF_QP2LAMBDA);
-+ int qp = lrintf(q);
- if (qp>=0 && qp < (int) (FF_ARRAY_ELEMS(qp_histogram)))
- qp_histogram[qp]++;
- for (j=0; j<32; j++)
-@@ -2971,18 +2864,22 @@
- vid = 1;
- }
- // compute min output value
-- pts = (double)ost->st->pts.val * av_q2d(ost->st->time_base);
-- if ((pts < ti1) && (pts > 0))
-- ti1 = pts;
-+ pts = FFMIN(pts, av_rescale_q(ost->st->pts.val, ost->st->time_base, AV_TIME_BASE_Q));
- }
-- if (ti1 < 0.01)
-- ti1 = 0.01;
-
- if (verbose || is_last_report) {
-- bitrate = (double)(total_size * 8) / ti1 / 1000.0;
-+ int hours, mins, secs, us;
-+ secs = pts / AV_TIME_BASE;
-+ us = pts % AV_TIME_BASE;
-+ mins = secs / 60;
-+ secs %= 60;
-+ hours = mins / 60;
-+ mins %= 60;
-+
-+ bitrate = pts ? total_size * 8 / (pts / 1000.0) : 0;
-
-- msg += wxString::Format(wxT("size=%8.0fkB time=%0.2f bitrate=%6.1fkbits/s"),
-- (double)total_size / 1024, ti1, bitrate);
-+ msg += wxString::Format(wxT("size=%8.0fkB time=%02d:%02d:%02d.%02d bitrate=%6.1fkbits/s"),
-+ (double) total_size / 1024, hours, mins, secs, (100 * us) / AV_TIME_BASE, bitrate);
-
- if (nb_frames_dup || nb_frames_drop)
- msg += wxString::Format(wxT(" dup=%d drop=%d"), nb_frames_dup, nb_frames_drop);
-@@ -3013,10 +2910,9 @@
- }
- nb_output_files = 0;
- for (int i=0; i<nb_input_files; i++) {
-- av_close_input_file(input_files[i]);
-+ av_close_input_file(input_files[i].ctx);
- av_free(input_files_ts_scale[i]);
- }
-- nb_input_files = 0;
-
- av_freep(&intra_matrix);
- av_freep(&inter_matrix);
-@@ -3025,11 +2921,14 @@
- fclose(vstats_file);
- av_freep(&vstats_filename);
-
-- av_freep(&output_codecs);
-- nb_output_codecs = 0;
- av_freep(&stream_maps);
- nb_stream_maps = 0;
-
-+ av_freep(&input_streams);
-+ nb_input_streams = 0;
-+ av_freep(&input_files);
-+ nb_input_files = 0;
-+
- av_freep(&video_standard);
- av_freep(&audio_buf);
- av_freep(&audio_out);
-diff -Naur DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.h DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.h
---- DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.h 2011-05-15 09:23:34.000000000 -0400
-+++ DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.h 2011-09-18 18:13:29.000000000 -0400
-@@ -3,7 +3,7 @@
- // Purpose: FFMPEG Media Transcoder
- // Author: Alex Thuering
- // Created: 26.04.2008
--// RCS-ID: $Id: mediatrc_ffmpeg.h,v 1.19 2011/05/15 13:23:34 ntalex Exp $
-+// RCS-ID: $Id: mediatrc_ffmpeg.h,v 1.20 2011/07/24 07:58:21 ntalex Exp $
- // Copyright: (c) Alex Thuering
- // Licence: GPL
- /////////////////////////////////////////////////////////////////////////////
-@@ -20,13 +20,8 @@
- extern "C" {
- #define __STDC_CONSTANT_MACROS
- #define __STDC_LIMIT_MACROS
--#ifdef HAVE_FFMPEG_AVUTIL_H
--#include <avformat.h>
--#include <swscale.h>
--#else
- #include <libavformat/avformat.h>
- #include <libswscale/swscale.h>
--#endif
- }
-
- // select an input stream for an output stream
-@@ -39,8 +34,9 @@
-
- // select an input file for an output file
- typedef struct AVMetaDataMap {
-- int out_file;
-- int in_file;
-+ int file; //< file index
-+ char type; //< type of metadata to copy -- (g)lobal, (s)tream, (c)hapter or (p)rogram
-+ int index; //< stream/chapter/program number
- } AVMetaDataMap;
-
- typedef struct AVChapterMap {
-@@ -50,6 +46,8 @@
-
- struct AVInputStream;
- struct AVOutputStream;
-+struct AVDictionary;
-+struct AVInputFile;
-
- #define MAX_FILES 50
- #define MAX_STREAMS_ 20
-@@ -108,21 +106,20 @@
- void PrintReport(AVFormatContext **output_files, AVOutputStream **ost_table,
- int nb_ostreams, int is_last_report);
- int CopyChapters(int infile, int outfile);
-- AVFormatContext *input_files[MAX_FILES];
-- int nb_input_files;
- int64_t input_files_ts_offset[MAX_FILES];
- double* input_files_ts_scale[MAX_FILES];
- int nb_input_files_ts_scale[MAX_FILES];
-+
-+ AVCodec **input_codecs;
-+ int nb_input_codecs;
-
- AVFormatContext* output_files[MAX_FILES];
-- AVCodec** output_codecs;
- int nb_output_files;
-- int nb_output_codecs;
-
- AVStreamMap* stream_maps;
- int nb_stream_maps;
-
-- AVMetaDataMap meta_data_maps[MAX_FILES];
-+ AVMetaDataMap (*meta_data_maps)[2];
- int nb_meta_data_maps;
- int metadata_global_autocopy;
- int metadata_streams_autocopy;
-@@ -134,7 +131,6 @@
- int frame_width;
- int frame_height;
- float frame_aspect_ratio;
-- int frame_aspect_ratio_override;
- PixelFormat frame_pix_fmt;
- int frame_bits_per_raw_sample;
- SampleFormat audio_sample_fmt;
-@@ -163,10 +159,10 @@
- int audio_channels;
- unsigned int audio_codec_tag;
- char *audio_language;
--
-+
- char *subtitle_language;
- unsigned int subtitle_codec_tag;
--
-+
- float mux_preload;
- float mux_max_delay;
-
-@@ -174,7 +170,7 @@
- int64_t start_time;
- int64_t recording_timestamp;
- int64_t input_ts_offset;
-- AVMetadata* metadata;
-+ AVDictionary *metadata;
- int do_psnr;
- int do_pass;
- const char *pass_logfilename_prefix;
-@@ -182,8 +178,8 @@
- int audio_sync_method;
- float audio_drift_threshold;
- int copy_ts;
-- int opt_shortest; //
-- int video_global_header;
-+ int copy_tb;
-+ int opt_shortest;
- char *vstats_filename;
- FILE *vstats_file;
- int opt_programid;
-@@ -222,6 +218,12 @@
- AVBitStreamFilterContext *video_bitstream_filters;
- AVBitStreamFilterContext *audio_bitstream_filters;
- AVBitStreamFilterContext *subtitle_bitstream_filters;
-+
-+ AVInputStream *input_streams;
-+ int nb_input_streams;
-+ AVInputFile *input_files;
-+ int nb_input_files;
-+
- AVOutputStream** output_streams_for_file[MAX_FILES];
- int nb_output_streams_for_file[MAX_FILES];
- };
diff --git a/community/e4rat/e4rat.install b/community/e4rat/e4rat.install
deleted file mode 100644
index 4990280e3..000000000
--- a/community/e4rat/e4rat.install
+++ /dev/null
@@ -1,20 +0,0 @@
-post_install() {
- echo '--------------------------------------------------------------------------'
- echo ' SETUP INSTRUCTIONS'
- echo
- echo ' https://wiki.archlinux.org/index.php/E4rat'
- echo '--------------------------------------------------------------------------'
- echo
- echo '--------------------------------------------------------------------------'
- echo ' SUMMARY'
- echo 'add to grub kernel line:'
- echo ' init=/sbin/e4rat-collect'
- echo
- echo 'log data for 2 min, then'
- echo ' sudo init 1'
- echo ' e4rat-realloc /var/lib/e4rat/startup.log'
- echo
- echo 'substitute init=/sbin/e4rat-collect with'
- echo ' init=/sbin/e4rat-preload'
- echo '--------------------------------------------------------------------------'
-}
diff --git a/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch b/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch
deleted file mode 100644
index e077a15cf..000000000
--- a/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From d30496f52b85f82947bd07b9bd60f8482843ece8 Mon Sep 17 00:00:00 2001
-From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e>
-Date: Tue, 5 Jul 2011 09:23:38 +0000
-Subject: [PATCH 1/2] When using Poppler 0.17.0, I needed to swap the blue and
- red channels, otherwise the colors (other than black
- and white) looked wierd.
-
-git-svn-id: svn://svn.emma-soft.com/epdfview/trunk@367 cb4bfb15-1111-0410-82e2-95233c8f1c7e
----
- src/PDFDocument.cxx | 20 ++++++++++++++++++++
- 1 files changed, 20 insertions(+), 0 deletions(-)
-
-diff --git a/src/PDFDocument.cxx b/src/PDFDocument.cxx
-index df5d75f..63b3513 100644
---- a/src/PDFDocument.cxx
-+++ b/src/PDFDocument.cxx
-@@ -20,6 +20,7 @@
- #include <time.h>
- #include <poppler.h>
- #include <unistd.h>
-+#include <algorithm>
- #include "epdfview.h"
-
- using namespace ePDFView;
-@@ -33,6 +34,24 @@ static PageLayout convertPageLayout (gint pageLayout);
- static PageMode convertPageMode (gint pageMode);
- static gchar *getAbsoluteFileName (const gchar *fileName);
-
-+namespace
-+{
-+ void
-+ convert_bgra_to_rgba (guint8 *data, int width, int height)
-+ {
-+ using std::swap;
-+
-+ for (int y = 0; y < height; y++)
-+ {
-+ for (int x = 0; x < width; x++)
-+ {
-+ swap(data[0], data[2]);
-+ data += 4;
-+ }
-+ }
-+ }
-+}
-+
- ///
- /// @brief Constructs a new PDFDocument object.
- ///
-@@ -650,6 +669,7 @@ PDFDocument::renderPage (gint pageNum)
- poppler_page_render (page, context);
- cairo_destroy(context);
- cairo_surface_destroy (surface);
-+ convert_bgra_to_rgba(renderedPage->getData (), width, height);
- #else // !HAVE_POPPLER_0_17_0
- // Create the pixbuf from the data and render to it.
- GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (renderedPage->getData (),
---
-1.7.7
-
diff --git a/community/epdfview/PKGBUILD b/community/epdfview/PKGBUILD
deleted file mode 100644
index f5f895e03..000000000
--- a/community/epdfview/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 57042 2011-10-19 06:13:49Z schuay $
-# Maintainer: schuay <jakob.gruber@gmail.com>
-# Contributor: Tom K <tomk@runbox.com>
-# Contributor: Thayer Williams <thayer@archlinux.org>
-
-pkgname=epdfview
-pkgver=0.1.8
-pkgrel=3
-pkgdesc="A free lightweight PDF document viewer."
-url="http://www.emma-soft.com/projects/epdfview/"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-depends=('poppler-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'gtk2')
-makedepends=('pkgconfig')
-install='epdfview.install'
-source=("http://www.emma-soft.com/projects/${pkgname}/chrome/site/releases/${pkgname}-${pkgver}.tar.bz2"
- "${pkgname}.desktop.patch"
- "0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch")
-md5sums=('e50285b01612169b2594fea375f53ae4'
- 'fbf22bbabdbb7544db615ac5775d57e2'
- '7f9ea101a41f5b4e999fd024f423d41f')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- patch -Np0 -i "${srcdir}/${pkgname}.desktop.patch"
- patch -Np1 -i "${srcdir}/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch"
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make
-}
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- for size in 24 32 48; do
- install -Dm644 data/icon_${pkgname}-${size}.png \
- "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/${pkgname}.png"
- done
-}
diff --git a/community/epdfview/epdfview.desktop.patch b/community/epdfview/epdfview.desktop.patch
deleted file mode 100644
index d86fc3088..000000000
--- a/community/epdfview/epdfview.desktop.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- data/epdfview.desktop.bak 2009-04-05 16:55:56.000000000 -0700
-+++ data/epdfview.desktop 2009-04-05 16:56:33.000000000 -0700
-@@ -7,7 +7,7 @@
- GenericName=PDF Viewer
- GenericName[ca]=Visor PDF
- GenericName[es]=Visor PDF
--Icon=icon_epdfview-48
-+Icon=epdfview
- Name=ePDFViewer
- Name[ca]=ePDFViewer
- Name[es]=ePDFViewer
diff --git a/community/epdfview/epdfview.install b/community/epdfview/epdfview.install
deleted file mode 100644
index c317fbaca..000000000
--- a/community/epdfview/epdfview.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/community/gcompris/gcompris-data.install b/community/gcompris/gcompris-data.install
deleted file mode 100644
index 950d17bd7..000000000
--- a/community/gcompris/gcompris-data.install
+++ /dev/null
@@ -1,22 +0,0 @@
-infodir=/usr/share/info
-filelist=(gcompris.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/community/gpa/ChangeLog b/community/gpa/ChangeLog
deleted file mode 100644
index 811f87d4f..000000000
--- a/community/gpa/ChangeLog
+++ /dev/null
@@ -1,3 +0,0 @@
-2007-06-28 tardo <tardo@nagi-fanboi.net>
-* Built for x86_64
-
diff --git a/community/gpa/PKGBUILD b/community/gpa/PKGBUILD
deleted file mode 100644
index 2fc9a8255..000000000
--- a/community/gpa/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 528 2009-08-01 19:41:58Z giovanni $
-# Maintainer: Mateusz Herych <heniekk@gmail.com>
-# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
-# Contributor: Ravi Desai <ravster3@hotmail.com>
-
-pkgname=gpa
-pkgver=0.9.0
-pkgrel=1
-pkgdesc="A graphical user interface for the GnuPG"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://wald.intevation.org/projects/gpa/"
-license=('GPL')
-depends=('gpgme' 'gtk2')
-makedepends=('pkgconfig')
-source=(http://wald.intevation.org/frs/download.php/603/gpa-$pkgver.tar.bz2)
-md5sums=('8859f9cf69e94e10e4895f633a0b268a')
-
-build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=$startdir/pkg install
-}
diff --git a/community/gtk2hs-cairo/PKGBUILD b/community/gtk2hs-cairo/PKGBUILD
deleted file mode 100644
index ddd42b403..000000000
--- a/community/gtk2hs-cairo/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 50211 2011-06-26 20:14:36Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-_hkgname=cairo
-pkgname=gtk2hs-cairo
-pkgver=0.12.0
-pkgrel=4
-pkgdesc="Binding to the cairo library for Gtk2Hs."
-url="http://hackage.haskell.org/package/cairo"
-license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc' 'cairo' 'haskell-mtl=2.0.1.0')
-makedepends=(gtk2hs-buildtools)
-options=('strip')
-install=${pkgname}.install
-source=(http://hackage.haskell.org/packages/archive/cairo/$pkgver/cairo-$pkgver.tar.gz)
-md5sums=('e17c7ce086062282dbb405bfdf68191e')
-
-build() {
- cd ${srcdir}/${_hkgname}-$pkgver
- runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
- --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
- --libsubdir=\$compiler/site-local/\$pkgid
- runhaskell Setup build
- runhaskell Setup haddock
- runhaskell Setup register --gen-script
- runhaskell Setup unregister --gen-script
- sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
-}
-
-package() {
- _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
- depends=("ghc=${_ghcver}" 'cairo' 'haskell-mtl=2.0.1.0')
-
- cd ${srcdir}/${_hkgname}-${pkgver}
- install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
- install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
- install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
- ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
- runhaskell Setup copy --destdir=${pkgdir}
-}
diff --git a/community/gtk2hs-cairo/gtk2hs-cairo.install b/community/gtk2hs-cairo/gtk2hs-cairo.install
deleted file mode 100644
index 4ec5096b6..000000000
--- a/community/gtk2hs-cairo/gtk2hs-cairo.install
+++ /dev/null
@@ -1,18 +0,0 @@
-HS_DIR=usr/share/haskell/gtk2hs-cairo
-post_install() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_upgrade() {
- ${HS_DIR}/unregister.sh
-}
-post_upgrade() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_remove() {
- ${HS_DIR}/unregister.sh
-}
-post_remove() {
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
diff --git a/community/gtk2hs-glib/PKGBUILD b/community/gtk2hs-glib/PKGBUILD
deleted file mode 100644
index a6a03a1b2..000000000
--- a/community/gtk2hs-glib/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 50214 2011-06-26 20:15:38Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-_hkgname=glib
-pkgname=gtk2hs-glib
-pkgver=0.12.0
-pkgrel=3
-pkgdesc="Binding to the GLIB library for Gtk2Hs."
-url="http://hackage.haskell.org/package/glib"
-license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc' 'glib2')
-makedepends=('gtk2hs-buildtools=0.12.0')
-options=('strip')
-install=gtk2hs-glib.install
-source=(http://hackage.haskell.org/packages/archive/glib/$pkgver/glib-$pkgver.tar.gz)
-md5sums=('2f334374d14a2f3e221a2ebfce1f8817')
-
-build() {
- cd ${srcdir}/${_hkgname}-$pkgver
- runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
- --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
- --libsubdir=\$compiler/site-local/\$pkgid
- runhaskell Setup build
- runhaskell Setup haddock
- runhaskell Setup register --gen-script
- runhaskell Setup unregister --gen-script
- sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
-}
-
-package() {
- _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
- depends=("ghc=${_ghcver}" "glib2")
-
- cd ${srcdir}/${_hkgname}-${pkgver}
- install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
- install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
- install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
- ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
- runhaskell Setup copy --destdir=${pkgdir}
-}
diff --git a/community/gtk2hs-glib/gtk2hs-glib.install b/community/gtk2hs-glib/gtk2hs-glib.install
deleted file mode 100644
index 24025f5d8..000000000
--- a/community/gtk2hs-glib/gtk2hs-glib.install
+++ /dev/null
@@ -1,18 +0,0 @@
-HS_DIR=usr/share/haskell/gtk2hs-glib
-post_install() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_upgrade() {
- ${HS_DIR}/unregister.sh
-}
-post_upgrade() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_remove() {
- ${HS_DIR}/unregister.sh
-}
-post_remove() {
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
diff --git a/community/gtk2hs-gtk/PKGBUILD b/community/gtk2hs-gtk/PKGBUILD
deleted file mode 100644
index 8a9d12b95..000000000
--- a/community/gtk2hs-gtk/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 50218 2011-06-26 20:25:06Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-_hkgname=gtk
-pkgname=gtk2hs-gtk
-pkgver=0.12.0
-pkgrel=4
-pkgdesc="Binding to the gtk library for Gtk2Hs."
-url="http://hackage.haskell.org/package/gtk"
-license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc' 'gtk2' 'gtk2hs-pango=0.12.0' 'haskell-mtl=2.0.1.0')
-makedepends=('gtk2hs-buildtools=0.12.0')
-options=('strip')
-install=gtk2hs-gtk.install
-source=(http://hackage.haskell.org/packages/archive/gtk/$pkgver/gtk-$pkgver.tar.gz)
-md5sums=('17a9d34085b703510d8feb2608b5d776')
-
-build() {
- cd ${srcdir}/${_hkgname}-${pkgver}
- runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
- --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
- --libsubdir=\$compiler/site-local/\$pkgid
- runhaskell Setup build
- runhaskell Setup haddock
- runhaskell Setup register --gen-script
- runhaskell Setup unregister --gen-script
- sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
-}
-
-package() {
- _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
- depends=("ghc=${_ghcver}" 'gtk2' 'gtk2hs-pango=0.12.0' 'haskell-mtl=2.0.1.0')
-
- cd ${srcdir}/${_hkgname}-${pkgver}
- install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
- install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
- install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
- ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
- runhaskell Setup copy --destdir=${pkgdir}
-}
diff --git a/community/gtk2hs-gtk/gtk2hs-gtk.install b/community/gtk2hs-gtk/gtk2hs-gtk.install
deleted file mode 100644
index 7ed674b78..000000000
--- a/community/gtk2hs-gtk/gtk2hs-gtk.install
+++ /dev/null
@@ -1,18 +0,0 @@
-HS_DIR=usr/share/haskell/gtk2hs-gtk
-post_install() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_upgrade() {
- ${HS_DIR}/unregister.sh
-}
-post_upgrade() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_remove() {
- ${HS_DIR}/unregister.sh
-}
-post_remove() {
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
diff --git a/community/gtk2hs-pango/PKGBUILD b/community/gtk2hs-pango/PKGBUILD
deleted file mode 100644
index 67fdaf916..000000000
--- a/community/gtk2hs-pango/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 50217 2011-06-26 20:24:03Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-_hkgname=pango
-pkgname=gtk2hs-pango
-pkgver=0.12.0
-pkgrel=4
-pkgdesc="Binding to the pango library for Gtk2Hs."
-url="http://hackage.haskell.org/package/pango"
-license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc' 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
-makedepends=('gtk2hs-buildtools=0.12.0')
-options=('strip')
-source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
-install=${pkgname}.install
-md5sums=('0260ed21d6ca2a52ebaa0aa212390cf7')
-
-build() {
- cd ${srcdir}/${_hkgname}-${pkgver}
- runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
- --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
- --libsubdir=\$compiler/site-local/\$pkgid
- runhaskell Setup build
- runhaskell Setup haddock
- runhaskell Setup register --gen-script
- runhaskell Setup unregister --gen-script
- sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
-}
-
-package() {
- _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
- depends=("ghc=${_ghcver}" 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
-
- cd ${srcdir}/${_hkgname}-${pkgver}
- install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
- install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
- install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
- ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
- runhaskell Setup copy --destdir=${pkgdir}
-}
diff --git a/community/gtk2hs-pango/gtk2hs-pango.install b/community/gtk2hs-pango/gtk2hs-pango.install
deleted file mode 100644
index f2be2100f..000000000
--- a/community/gtk2hs-pango/gtk2hs-pango.install
+++ /dev/null
@@ -1,18 +0,0 @@
-HS_DIR=usr/share/haskell/gtk2hs-pango
-post_install() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_upgrade() {
- ${HS_DIR}/unregister.sh
-}
-post_upgrade() {
- ${HS_DIR}/register.sh
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
-pre_remove() {
- ${HS_DIR}/unregister.sh
-}
-post_remove() {
- (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
-}
diff --git a/community/libcuefile/ChangeLog b/community/libcuefile/ChangeLog
deleted file mode 100644
index e5a5d81dd..000000000
--- a/community/libcuefile/ChangeLog
+++ /dev/null
@@ -1,3 +0,0 @@
-2010-02-04 Corrado Primier <bardo@aur.archlinux.org>
-
- * PKGBUILD: added to [community]
diff --git a/community/lmctl/PKGBUILD b/community/lmctl/PKGBUILD
deleted file mode 100644
index a86335c8c..000000000
--- a/community/lmctl/PKGBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Jeff Mickey <j@codemac.net>
-# Contributor: Shadowhand <woody.gilk@gmail.com>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
-
-pkgname=lmctl
-pkgver=0.3.2
-pkgrel=6
-pkgdesc="Logitech Mouse configuration program"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-url="http://www.bedroomlan.org/~alexios/coding_lmctl.html"
-depends=('libusb-compat')
-source=(http://www.bedroomlan.org/~alexios/files/SOFTWARE/lmctl/${pkgname}\_${pkgver}.tar.gz \
- mx-support-cmdline.patch mx-support-man.patch mx-support.patch \
- lmctl.rc.d lmctl.conf.d)
-md5sums=('c2acb088c95adeac68b6de8f05ddc0e4' '431521026fc07b27e21d65124dd1134f' \
- 'cfc222209b9a9d6b203c5a00dafe57dd' '1b943fe045d8273677be43c79bfd1031'
- 'a62ad322e93c1cbc931bba33fb0a518c' 'a77682cf2d2c9e3d1a53a6444a74ce66' )
-
-build() {
- cd ${srcdir}/${pkgname}-0.3.1
-
- patch -Np1 < ${srcdir}/mx-support-cmdline.patch
- patch -Np1 < ${srcdir}/mx-support-man.patch
- patch -Np1 < ${srcdir}/mx-support.patch
-
- ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share
- make
-}
-
-package() {
- cd ${srcdir}/${pkgname}-0.3.1
-
- make DESTDIR=${pkgdir} install
-
- # install the init scripts
- install -D -m755 ${srcdir}/lmctl.rc.d ${pkgdir}/etc/rc.d/lmctl
- install -D -m644 ${srcdir}/lmctl.conf.d ${pkgdir}/etc/conf.d/lmctl
-}
diff --git a/community/lmctl/lmctl.conf.d b/community/lmctl/lmctl.conf.d
deleted file mode 100644
index 54e532e25..000000000
--- a/community/lmctl/lmctl.conf.d
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# Parameters to be passed to lmctl
-#
-# lmctl --help for more info
-#
-LMCTL_ARGS="--1600 --no-sms"
diff --git a/community/lmctl/lmctl.rc.d b/community/lmctl/lmctl.rc.d
deleted file mode 100644
index e9eaf7de1..000000000
--- a/community/lmctl/lmctl.rc.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-LMCTL_ARGS=
-[ -f /etc/conf.d/lmctl ] && . /etc/conf.d/lmctl
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
- start)
- stat_busy "Setting up Logitech Mouse"
- /usr/bin/lmctl ${LMCTL_ARGS} &>/dev/null
- if [ $? -eq 0 ] ; then
- stat_fail
- else
- stat_done
- add_daemon lmctl
- fi
- ;;
- *)
- echo "usage: $0 {start}"
-esac
diff --git a/community/lmctl/mx-support-cmdline.patch b/community/lmctl/mx-support-cmdline.patch
deleted file mode 100644
index f2f7cf068..000000000
--- a/community/lmctl/mx-support-cmdline.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- lmctl-org/src/cmdline.c 2004-09-07 22:40:15.000000000 +0000
-+++ lmctl-0.3.1/src/cmdline.c 2005-06-29 13:36:33.000000000 +0000
-@@ -128,6 +128,10 @@
- "Set matching devices to a resolution of 400cpi"},
- { "800", '8', NULL, 0,
- "Set matching devices to a resolution of 800cpi"},
-+ { "1200", 'm', NULL, 0,
-+ "Set matching devices to a medium resolution of 1200cpi"},
-+ { "1600", 'h', NULL, 0,
-+ "Set matching devices to a high resolution of 1600cpi"},
-
- { NULL, 0, NULL, 0, _("SmartScroll/Cruise Control (SMS command set)") },
-
-@@ -227,13 +231,22 @@
- command = cmd_set;
- set_res = (int) (key - '0') * 100;
- break;
-+
-+ case 'm':
-+ command = cmd_set;
-+ set_res = (int) (12) * 100;
-+ break;
-+ case 'h':
-+ command = cmd_set;
-+ set_res = (int) (16) *100;
-+ break;
-
- case '1': /* set the channel */
- case '2':
- command = cmd_set;
- set_channel = (int) (key - '0');
- break;
--
-+
- case 'u':
- command = cmd_set;
- set_unlock = 1;
diff --git a/community/lmctl/mx-support-man.patch b/community/lmctl/mx-support-man.patch
deleted file mode 100644
index 78d4ff023..000000000
--- a/community/lmctl/mx-support-man.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- lmctl-org/src/lmctl.1 2004-09-07 22:32:25.000000000 +0000
-+++ lmctl-0.3.1/src/lmctl.1 2005-06-29 14:02:32.000000000 +0000
-@@ -116,6 +116,14 @@
- .BR -8 ", " --800
- Sets matching devices to a resolution of 800 cpi. Very useful on
- certain Logitech mice (the MX500 is one of them) that boot in 400 cpi.
-+.TP
-+.BR -m ", " --1200
-+Sets matching devices to a resolution of 1200 cpi. Very useful on
-+certain Logitech mice (the MX518 is one of them) that boot in 400 cpi.
-+.TP
-+.BR -h ", " --1600
-+Sets matching devices to a resolution of 1600 cpi. Very useful on
-+certain Logitech mice (the MX518 is one of them) that boot in 400 cpi.
- .PP
- The following settings control SmartScroll/Cruise Control, for mice
- that support it (i.e. include the SMS capability).
diff --git a/community/lmctl/mx-support.patch b/community/lmctl/mx-support.patch
deleted file mode 100644
index 9c09a9c9b..000000000
--- a/community/lmctl/mx-support.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- lmctl-org/src/lmctl.c 2004-09-08 07:59:55.000000000 +0000
-+++ lmctl-0.3.1/src/lmctl.c 2005-06-29 14:03:50.000000000 +0000
-@@ -99,6 +99,8 @@
- {0xc00e, "Wheel Mouse Optical", "M-BJ58", 0, 1, 0, 0},
- {0xc00f, "MouseMan Traveler", "M-BJ79", 0, 1, 0, 0},
- {0xc012, "MouseMan Dual Optical", "M-BL63B", 0, 1, 0, 0},
-+ {0xc01d, "MX510 Optical Mouse", "M-BS81A", 0, 1, 1, 0},
-+ {0xc01e, "MX518 Optical Mouse", "M-BS81A", 0, 1, 0, 0},
- {0xc024, "MX300 Optical Mouse", "M-BP82", 0, 1, 0, 0},
- {0xc025, "MX500 Optical Mouse", "M-BP81A", 0, 1, 1, 0},
- {0xc031, "iFeel Mouse (silver)", "M-UT58A", 0, 1, 0, 0},
-@@ -270,7 +272,7 @@
- exit(1);
- }
-
-- assert ((buf [0] == 3) || (buf [0] == 4));
-+ assert ((buf [0] == 3) || (buf [0] == 4) || (buf [0] == 5) || (buf [0] == 6));
-
- printf ("\tResolution (RES): %d cpi\n", (buf [0] - 2) * 400);
- }
-@@ -355,7 +357,7 @@
- unsigned char buf [80];
- if (!set_res) return;
-
-- assert ((set_res == 400) || (set_res == 800));
-+ assert ((set_res == 400) || (set_res == 800) || (set_res == 1200) || (set_res == 1600));
- if (usb_control_msg (handle, 0x40, 0x02, 0x000e, (set_res / 400) + 2,
- buf, 0, TIMEOUT) != 0) {
- perror("Writing to USB device");
diff --git a/community/mediatomb/PKGBUILD b/community/mediatomb/PKGBUILD
deleted file mode 100644
index a8be8fc8a..000000000
--- a/community/mediatomb/PKGBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id: PKGBUILD 51077 2011-07-05 06:51:52Z jconder $
-# Contributor: William Rea <sillywilly@gmail.com>
-# Contributor: Nikhil Bysani <nikron@gmail.com>
-# Contributor: Mika Hynnä <igheax@gmail.com>
-# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
-
-pkgname=mediatomb
-pkgver=0.12.1
-pkgrel=5
-pkgdesc="Free UPnP/DLNA media server"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://mediatomb.cc/"
-license=('GPL')
-depends=('curl' 'ffmpegthumbnailer' 'js' 'libexif' 'libmp4v2' 'sqlite3' 'taglib')
-backup=('etc/conf.d/mediatomb')
-install=mediatomb.install
-source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
- 'mediatomb.rc'
- 'mediatomb.conf'
- 'gcc46.patch'
- 'tonewjs.patch')
-md5sums=('e927dd5dc52d3cfcebd8ca1af6f0d3c2'
- 'aa1191ec508d8bd4b3b9a5fe48efc079'
- 'bec297e4178332a26b42bbde873b94cd'
- '0ae34c0d73b76e3d215887834c3c08cf'
- 'd9e02a9956eecf5ff645bddf6dac0331')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- patch -Np1 -i $srcdir/gcc46.patch
- patch -Np1 -i $srcdir/tonewjs.patch
-
- ./configure --prefix=/usr \
- --disable-mysql \
- --enable-libmagic \
- --enable-libjs \
- --enable-ffmpeg
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make DESTDIR="$pkgdir/" install
-
- install -D -m0755 "$srcdir/mediatomb.rc" "$pkgdir/etc/rc.d/mediatomb"
- install -D -m0755 "$srcdir/mediatomb.conf" "$pkgdir/etc/conf.d/mediatomb"
- install -d "$pkgdir/var/lib/mediatomb"
-}
diff --git a/community/mediatomb/gcc46.patch b/community/mediatomb/gcc46.patch
deleted file mode 100644
index 0f4fe490f..000000000
--- a/community/mediatomb/gcc46.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/zmm/object.h
-+++ b/src/zmm/object.h
-@@ -33,6 +33,7 @@
- #define __ZMM_OBJECT_H__
-
- #include <new> // for size_t
-+#include <cstddef>
- #include "atomic.h"
-
- namespace zmm
diff --git a/community/mediatomb/mediatomb.conf b/community/mediatomb/mediatomb.conf
deleted file mode 100644
index 798018d2a..000000000
--- a/community/mediatomb/mediatomb.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Parameters to be passed to mediatomb
-#
-
-# Port to listen on
-MT_PORT='50500'
-
-# User and group to run as
-MT_USER='nobody'
-MT_GROUP='nobody'
-
-# Location of the PID file
-MT_PIDFILE='/var/run/mediatomb.pid'
-
-# Location of the log file
-MT_LOGFILE='/var/log/mediatomb.log'
-
-# Location of the config file/database
-MT_HOME='/var/lib/mediatomb'
-MT_CFGDIR='.mediatomb'
-
-# User defined command line options
-MT_OPTIONS=''
diff --git a/community/mediatomb/mediatomb.install b/community/mediatomb/mediatomb.install
deleted file mode 100644
index 56f6ef92c..000000000
--- a/community/mediatomb/mediatomb.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
- echo 'Warning: the MediaTomb web interface exposes your filesystem to the network'
- echo 'For maximum security, set <ui enabled="no"> in your MediaTomb config file'
-}
-
-post_upgrade() {
- # TODO: disable next update
- post_install
-}
diff --git a/community/mediatomb/mediatomb.rc b/community/mediatomb/mediatomb.rc
deleted file mode 100644
index 7b93012cd..000000000
--- a/community/mediatomb/mediatomb.rc
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/mediatomb
-
-MT_OPTIONS="-p $MT_PORT -u $MT_USER -g $MT_GROUP -P $MT_PIDFILE \
- -l $MT_LOGFILE -m $MT_HOME -f $MT_CFGDIR $MT_OPTIONS"
-
-case "$1" in
- start)
- stat_busy "Starting Mediatomb UPnP Media Server"
-
- chown "$MT_USER:$MT_GROUP" "$MT_HOME"
-
- if ! pidof -o %PPID /usr/bin/mediatomb &> /dev/null; then
- rm -f "$MT_PIDFILE"
- fi
-
- PID="$(cat "$MT_PIDFILE" 2> /dev/null)"
-
- if [ -z "$PID" ] && /usr/bin/mediatomb -d $MT_OPTIONS; then
- add_daemon mediatomb
- stat_done
- else
- stat_fail
- fi
- ;;
-
- stop)
- stat_busy "Stopping Mediatomb UPnP Media Server"
-
- PID="$(cat "$MT_PIDFILE" 2> /dev/null)"
-
- if [ -n "$PID" ] && kill "$PID" &> /dev/null; then
- rm -f "$MT_PIDFILE"
- rm_daemon mediatomb
- stat_done
- else
- stat_fail
- fi
- ;;
-
- restart)
- "$0" stop
- sleep 1
- "$0" start
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart}"
- ;;
-esac
-exit 0
diff --git a/community/mediatomb/tonewjs.patch b/community/mediatomb/tonewjs.patch
deleted file mode 100644
index 115968530..000000000
--- a/community/mediatomb/tonewjs.patch
+++ /dev/null
@@ -1,564 +0,0 @@
-diff -up mediatomb-0.12.1-back/build/Makefile.in.tonewjs mediatomb-0.12.1-back/build/Makefile.in
---- mediatomb-0.12.1-back/build/Makefile.in.tonewjs 2010-04-08 00:40:15.000000000 +0200
-+++ mediatomb-0.12.1-back/build/Makefile.in 2011-04-19 17:17:01.343509944 +0200
-@@ -257,7 +257,7 @@ CURL_LIBS = @CURL_LIBS@
- CXX = @CXX@
- CXXCPP = @CXXCPP@
- CXXDEPMODE = @CXXDEPMODE@
--CXXFLAGS = @CXXFLAGS@
-+CXXFLAGS = -fpermissive @CXXFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DB_AUTOCREATE_OPTION_ENABLED = @DB_AUTOCREATE_OPTION_ENABLED@
- DB_AUTOCREATE_OPTION_REQUESTED = @DB_AUTOCREATE_OPTION_REQUESTED@
-diff -up mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/import_script.cc
---- mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs 2011-04-18 13:10:48.000000000 +0200
-+++ mediatomb-0.12.1-back/src/scripting/import_script.cc 2011-04-18 13:29:36.000000000 +0200
-@@ -53,8 +53,8 @@ ImportScript::ImportScript(Ref<Runtime>
- try
- {
- load(scriptPath);
-- root = JS_NewScriptObject(cx, script);
-- JS_AddNamedRoot(cx, &root, "ImportScript");
-+ root = JS_NewObject(cx, NULL, script, NULL);
-+ JS_AddNamedObjectRoot(cx, &root, "ImportScript");
- }
- catch (Exception ex)
- {
-@@ -117,7 +117,7 @@ ImportScript::~ImportScript()
- #endif
-
- if (root)
-- JS_RemoveRoot(cx, &root);
-+ JS_RemoveObjectRoot(cx, &root);
-
- #ifdef JS_THREADSAFE
- JS_EndRequest(cx);
-diff -up mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.cc
---- mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs 2011-04-18 13:29:55.000000000 +0200
-+++ mediatomb-0.12.1-back/src/scripting/js_functions.cc 2011-04-19 16:48:04.009229611 +0200
-@@ -49,7 +49,7 @@ using namespace zmm;
- extern "C" {
-
- JSBool
--js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_print(JSContext *cx, uintN argc, jsval *argv)
- {
- uintN i;
- JSString *str;
-@@ -60,19 +60,21 @@ js_print(JSContext *cx, JSObject *obj, u
- if (!str)
- return JS_TRUE;
- argv[i] = STRING_TO_JSVAL(str);
-- log_js("%s\n", JS_GetStringBytes(str));
-+ char * log_str = JS_EncodeString(cx, str);
-+ log_js("%s\n", log_str);
-+ JS_free(cx, log_str);
- }
- return JS_TRUE;
- }
-
- JSBool
--js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_copyObject(JSContext *cx, uintN argc, jsval *argv)
- {
- jsval arg;
- JSObject *js_cds_obj;
- JSObject *js_cds_clone_obj;
-
-- Script *self = (Script *)JS_GetPrivate(cx, obj);
-+ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
-
- try
- {
-@@ -91,7 +93,7 @@ js_copyObject(JSContext *cx, JSObject *o
-
- self->cdsObject2jsObject(cds_obj, js_cds_clone_obj);
-
-- *rval = OBJECT_TO_JSVAL(js_cds_clone_obj);
-+ JS_SET_RVAL(cx, argv, OBJECT_TO_JSVAL(js_cds_clone_obj));
-
- return JS_TRUE;
-
-@@ -110,7 +112,7 @@ js_copyObject(JSContext *cx, JSObject *o
- }
-
- JSBool
--js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_addCdsObject(JSContext *cx, uintN argc, jsval *argv)
- {
- try
- {
-@@ -126,7 +128,7 @@ js_addCdsObject(JSContext *cx, JSObject
- Ref<StringConverter> p2i;
- Ref<StringConverter> i2i;
-
-- Script *self = (Script *)JS_GetPrivate(cx, obj);
-+ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
-
- if (self == NULL)
- {
-@@ -156,20 +158,20 @@ js_addCdsObject(JSContext *cx, JSObject
- if (!str)
- path = _("/");
- else
-- path = JS_GetStringBytes(str);
-+ path = JS_EncodeString(cx, str);
-
- JSString *cont = JS_ValueToString(cx, argv[2]);
- if (cont)
- {
-- containerclass = JS_GetStringBytes(cont);
-+ containerclass = JS_EncodeString(cx, cont);
- if (!string_ok(containerclass) || containerclass == "undefined")
- containerclass = nil;
- }
-
- if (self->whoami() == S_PLAYLIST)
-- js_orig_obj = self->getObjectProperty(obj, _("playlist"));
-+ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("playlist"));
- else if (self->whoami() == S_IMPORT)
-- js_orig_obj = self->getObjectProperty(obj, _("orig"));
-+ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("orig"));
-
- if (js_orig_obj == NULL)
- {
-@@ -285,8 +287,7 @@ js_addCdsObject(JSContext *cx, JSObject
- JSString *str2 = JS_NewStringCopyN(cx, tmp.c_str(), tmp.length());
- if (!str2)
- return JS_TRUE;
-- *rval = STRING_TO_JSVAL(str2);
--
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
- return JS_TRUE;
- }
- catch (ServerShutdownException se)
-@@ -302,7 +303,7 @@ js_addCdsObject(JSContext *cx, JSObject
- return JS_TRUE;
- }
-
--static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, charset_convert_t chr)
-+static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, charset_convert_t chr)
- {
- try
- {
-@@ -321,7 +322,7 @@ static JSBool convert_charset_generic(JS
- {
- str = JS_ValueToString(cx, argv[0]);
- if (str)
-- result = JS_GetStringBytes(str);
-+ result = JS_EncodeString(cx, str);
- }
-
- if (result != nil)
-@@ -330,7 +331,7 @@ static JSBool convert_charset_generic(JS
- JSString *str2 = JS_NewStringCopyN(cx, result.c_str(), result.length());
- if (!str2)
- return JS_TRUE;
-- *rval = STRING_TO_JSVAL(str2);
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
- }
- }
- catch (ServerShutdownException se)
-@@ -347,24 +348,23 @@ static JSBool convert_charset_generic(JS
- }
-
-
--JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, F2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, F2I);
- }
-
--JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, M2I);
--}
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, M2I); }
-
--JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, P2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, P2I);
- }
-
--JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, J2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, J2I);
- }
-
- } // extern "C"
-diff -up mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.h
---- mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs 2010-03-25 15:58:05.000000000 +0100
-+++ mediatomb-0.12.1-back/src/scripting/js_functions.h 2011-04-18 13:59:29.000000000 +0200
-@@ -40,18 +40,18 @@
- extern "C" {
-
- /// \brief Log output.
--JSBool js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_print(JSContext *cx, uintN argc, jsval *argv);
-
- /// \brief Adds an object to the database.
--JSBool js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_addCdsObject(JSContext *cx, uintN argc, jsval *argv);
-
- /// \brief Makes a copy of an CDS object.
--JSBool js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_copyObject(JSContext *cx, uintN argc, jsval *argv);
-
--JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv);
-
- } // extern "C"
-
-diff -up mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc
---- mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs 2011-04-18 13:34:14.000000000 +0200
-+++ mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc 2011-04-18 13:51:59.000000000 +0200
-@@ -46,9 +46,9 @@ using namespace zmm;
- extern "C" {
-
- static JSBool
--js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_readln(JSContext *cx, uintN argc, jsval *argv)
- {
-- PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, obj);
-+ PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
-
- String line;
-
-@@ -69,7 +69,7 @@ js_readln(JSContext *cx, JSObject *obj,
-
- JSString *jsline = JS_NewStringCopyZ(cx, line.c_str());
-
-- *rval = STRING_TO_JSVAL(jsline);
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(jsline));
-
- return JS_TRUE;
- }
-@@ -93,8 +93,8 @@ PlaylistParserScript::PlaylistParserScri
-
- String scriptPath = ConfigManager::getInstance()->getOption(CFG_IMPORT_SCRIPTING_PLAYLIST_SCRIPT);
- load(scriptPath);
-- root = JS_NewScriptObject(cx, script);
-- JS_AddNamedRoot(cx, &root, "PlaylistScript");
-+ root = JS_NewObject(cx, NULL, script, NULL);
-+ JS_AddNamedObjectRoot(cx, &root, "PlaylistScript");
- }
- catch (Exception ex)
- {
-@@ -245,7 +245,7 @@ PlaylistParserScript::~PlaylistParserScr
- #endif
-
- if (root)
-- JS_RemoveRoot(cx, &root);
-+ JS_RemoveObjectRoot(cx, &root);
-
- #ifdef JS_THREADSAFE
- JS_EndRequest(cx);
-diff -up mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/script.cc
---- mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs 2011-04-18 13:53:07.000000000 +0200
-+++ mediatomb-0.12.1-back/src/scripting/script.cc 2011-04-19 18:26:34.460338804 +0200
-@@ -87,7 +87,7 @@ String Script::getProperty(JSObject *obj
- str = JS_ValueToString(cx, val);
- if (! str)
- return nil;
-- return JS_GetStringBytes(str);
-+ return JS_EncodeString(cx, str);
- }
-
- int Script::getBoolProperty(JSObject *obj, String name)
-@@ -427,14 +427,14 @@ static JSFunctionSpec js_global_function
- try
- {
- common_script = _load(common_scr_path);
-- common_root = JS_NewScriptObject(cx, common_script);
-- JS_AddNamedRoot(cx, &common_root, "common-script");
-+ common_root = JS_NewObject(cx, NULL, common_script, NULL);
-+ JS_AddNamedObjectRoot(cx, &common_root, "common-script");
- _execute(common_script);
- }
- catch (Exception e)
- {
- if (common_root)
-- JS_RemoveRoot(cx, &common_root);
-+ JS_RemoveObjectRoot(cx, &common_root);
-
- log_js("Unable to load %s: %s\n", common_scr_path.c_str(),
- e.getMessage().c_str());
-@@ -460,7 +460,7 @@ Script::~Script()
- JS_BeginRequest(cx);
- #endif
- if (common_root)
-- JS_RemoveRoot(cx, &common_root);
-+ JS_RemoveObjectRoot(cx, &common_root);
-
- /*
- * scripts are unrooted and will be cleaned up by GC
-@@ -504,11 +504,11 @@ void Script::initGlobalObject()
- static JSClass global_class =
- {
- "global", /* name */
-- JSCLASS_HAS_PRIVATE, /* flags */
-+ JSCLASS_HAS_PRIVATE | JSCLASS_GLOBAL_FLAGS,/* flags */
- JS_PropertyStub, /* add property */
- JS_PropertyStub, /* del property */
- JS_PropertyStub, /* get property */
-- JS_PropertyStub, /* set property */
-+ JS_StrictPropertyStub, /* set property */
- JS_EnumerateStandardClasses, /* enumerate */
- JS_ResolveStub, /* resolve */
- JS_ConvertStub, /* convert */
-@@ -517,7 +517,7 @@ void Script::initGlobalObject()
- };
-
- /* create the global object here */
-- glob = JS_NewObject(cx, &global_class, NULL, NULL);
-+ glob = JS_NewCompartmentAndGlobalObject(cx, &global_class, NULL);
- if (! glob)
- throw _Exception(_("Scripting: could not initialize glboal class"));
-
-@@ -539,12 +539,12 @@ void Script::defineFunctions(JSFunctionS
- throw _Exception(_("Scripting: JS_DefineFunctions failed"));
- }
-
--JSScript *Script::_load(zmm::String scriptPath)
-+JSObject *Script::_load(zmm::String scriptPath)
- {
- if (glob == NULL)
- initGlobalObject();
-
-- JSScript *scr;
-+ JSObject *scr;
-
- String scriptText = read_text_file(scriptPath);
-
-@@ -571,14 +571,11 @@ JSScript *Script::_load(zmm::String scri
-
- void Script::load(zmm::String scriptPath)
- {
-- if (script)
-- JS_DestroyScript(cx, script);
--
- script = _load((scriptPath));
- }
-
-
--void Script::_execute(JSScript *scr)
-+void Script::_execute(JSObject *scr)
- {
- jsval ret_val;
-
-@@ -662,7 +659,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec
- JSObject *js_meta = getObjectProperty(js, _("meta"));
- if (js_meta)
- {
-- JS_AddNamedRoot(cx, &js_meta, "meta");
-+ JS_AddNamedObjectRoot(cx, &js_meta, "meta");
- /// \todo: only metadata enumerated in MT_KEYS is taken
- for (int i = 0; i < M_MAX; i++)
- {
-@@ -687,7 +684,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec
- }
- }
- }
-- JS_RemoveRoot(cx, &js_meta);
-+ JS_RemoveObjectRoot(cx, &js_meta);
- }
-
- // stuff that has not been exported to js
-diff -up mediatomb-0.12.1-back/src/scripting/script.h.tonewjs mediatomb-0.12.1-back/src/scripting/script.h
---- mediatomb-0.12.1-back/src/scripting/script.h.tonewjs 2011-04-18 12:56:14.000000000 +0200
-+++ mediatomb-0.12.1-back/src/scripting/script.h 2011-04-18 12:56:51.000000000 +0200
-@@ -66,8 +66,8 @@ public:
- JSRuntime *rt;
- JSContext *cx;
- JSObject *glob;
-- JSScript *script;
-- JSScript *common_script;
-+ JSObject *script;
-+ JSObject *common_script;
-
- public:
- Script(zmm::Ref<Runtime> runtime);
-@@ -115,8 +115,8 @@ private:
- JSObject *common_root;
-
- void initGlobalObject();
-- JSScript *_load(zmm::String scriptPath);
-- void _execute(JSScript *scr);
-+ JSObject *_load(zmm::String scriptPath);
-+ void _execute(JSObject *scr);
- zmm::Ref<StringConverter> _p2i;
- zmm::Ref<StringConverter> _j2i;
- zmm::Ref<StringConverter> _f2i;
---- mediatomb-0.12.1/configure.tonewjs 2011-07-04 20:20:00.290227110 +1200
-+++ mediatomb-0.12.1/configure 2011-07-04 20:20:28.186894644 +1200
-@@ -23784,14 +23784,14 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
-
- else
-
-- LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs $ADD_PTHREAD_CFLAGS"
-- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
--$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
--if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
-+ LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs185 $ADD_PTHREAD_CFLAGS"
-+ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
-+$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
-+if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lmozjs $LIBS"
-+LIBS="-lmozjs185 $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -23835,12 +23835,12 @@ $as_echo "$ac_try_echo") >&5
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
-- ac_cv_lib_mozjs_JS_NewObject=yes
-+ ac_cv_lib_mozjs185_JS_NewObject=yes
- else
- $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- ac_cv_lib_mozjs_JS_NewObject=no
-+ ac_cv_lib_mozjs185_JS_NewObject=no
- fi
-
- rm -rf conftest.dSYM
-@@ -23848,12 +23848,12 @@ rm -f core conftest.err conftest.$ac_obj
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
--$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
--if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
-+$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
-+if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
-
-- JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs"
-- MOZLIB=mozjs
-+ JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs185"
-+ MOZLIB=mozjs185
-
- else
-
-@@ -24020,13 +24020,13 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
- else
-
- unset ac_cv_lib_smjs_JS_NewObject
-- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
--$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
--if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
-+ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
-+$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
-+if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lmozjs $LIBS"
-+LIBS="-lmozjs185 $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -24070,12 +24070,12 @@ $as_echo "$ac_try_echo") >&5
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
-- ac_cv_lib_mozjs_JS_NewObject=yes
-+ ac_cv_lib_mozjs185_JS_NewObject=yes
- else
- $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- ac_cv_lib_mozjs_JS_NewObject=no
-+ ac_cv_lib_mozjs185_JS_NewObject=no
- fi
-
- rm -rf conftest.dSYM
-@@ -24083,12 +24083,12 @@ rm -f core conftest.err conftest.$ac_obj
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
--$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
--if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
-+$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
-+if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
-
-- MOZLIB=mozjs
-- JS_LIBS="-lmozjs"
-+ MOZLIB=mozjs185
-+ JS_LIBS="-lmozjs185"
-
- else
-
-@@ -24239,15 +24239,15 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
-
- else
-
-- LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs"
-- unset ac_cv_lib_mozjs_JS_NewObject
-- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
--$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
--if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
-+ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs185"
-+ unset ac_cv_lib_mozjs185_JS_NewObject
-+ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
-+$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
-+if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lmozjs $LIBS"
-+LIBS="-lmozjs185 $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -24291,12 +24291,12 @@ $as_echo "$ac_try_echo") >&5
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
-- ac_cv_lib_mozjs_JS_NewObject=yes
-+ ac_cv_lib_mozjs185_JS_NewObject=yes
- else
- $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- ac_cv_lib_mozjs_JS_NewObject=no
-+ ac_cv_lib_mozjs185_JS_NewObject=no
- fi
-
- rm -rf conftest.dSYM
-@@ -24304,12 +24304,12 @@ rm -f core conftest.err conftest.$ac_obj
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
--$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
--if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
-+$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
-+if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
-
-- JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs"
-- MOZLIB=mozjs
-+ JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs185"
-+ MOZLIB=mozjs185
-
- else
-
diff --git a/community/ruby-atk/PKGBUILD b/community/ruby-atk/PKGBUILD
deleted file mode 100644
index 781fdfd0c..000000000
--- a/community/ruby-atk/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 53612 2011-08-07 01:11:19Z bfanella $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
-# Contributor: kritoke <kritoke@nospam.gmail.com>
-
-pkgname=ruby-atk
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="Ruby bindings for atk."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://ruby-gnome2.sourceforge.jp"
-license=('LGPL')
-depends=('ruby-glib2')
-makedepends=('ruby-glib2' 'atk' 'ruby-pkgconfig')
-source=(http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz)
-md5sums=('e9711eb5bd88debda90a920deb96d7d0')
-
-build() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- ruby extconf.rb atk --topdir=$pkgdir
- make
-}
-package() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/community/ruby-gdkpixbuf2/PKGBUILD b/community/ruby-gdkpixbuf2/PKGBUILD
deleted file mode 100644
index ab085806a..000000000
--- a/community/ruby-gdkpixbuf2/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 53620 2011-08-07 02:18:34Z bfanella $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
-# Contributor: kritoke <kritoke@nospam.gmail.com>
-
-pkgname=ruby-gdkpixbuf2
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="Ruby bindings for gdkpixbuf2."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://ruby-gnome2.sourceforge.jp"
-license=('LGPL')
-depends=('ruby-glib2' 'gtk2')
-makedepends=('ruby-glib2' 'ruby-pkgconfig')
-source=(http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz)
-md5sums=('e9711eb5bd88debda90a920deb96d7d0')
-
-build() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- ruby extconf.rb gdk_pixbuf2 --topdir=$pkgdir
- make
-}
-package() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- mkdir -p $pkgdir/usr/lib/pkgconfig
- make DESTDIR="$pkgdir" install
-}
diff --git a/community/ruby-gio2/PKGBUILD b/community/ruby-gio2/PKGBUILD
deleted file mode 100644
index fe7e250e7..000000000
--- a/community/ruby-gio2/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 31087 2010-10-27 01:37:14Z bfanella $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
-
-pkgname=ruby-gio2
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="Ruby bindings for gio2."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://ruby-gnome2.sourceforge.jp"
-license=('LGPL')
-depends=('ruby-glib2')
-makedepends=('ruby-pkgconfig')
-source=(http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz)
-md5sums=('e9711eb5bd88debda90a920deb96d7d0')
-
-build() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- ruby extconf.rb gio2 --topdir=$pkgdir
- make
-}
-package() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/community/ruby-glib2/PKGBUILD b/community/ruby-glib2/PKGBUILD
deleted file mode 100644
index 35baa822d..000000000
--- a/community/ruby-glib2/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 53576 2011-08-05 22:47:58Z bfanella $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
-# Contributor: kritoke <kritoke@nospam.gmail.com>
-
-pkgname=ruby-glib2
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="Ruby bindings for glib2."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://ruby-gnome2.sourceforge.jp"
-license=('LGPL')
-depends=('ruby')
-makedepends=('ruby-pkgconfig')
-source=(http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz)
-md5sums=('e9711eb5bd88debda90a920deb96d7d0')
-
-build() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- ruby extconf.rb glib2 --topdir=$pkgdir
- make
-}
-package() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/community/ruby-pango/PKGBUILD b/community/ruby-pango/PKGBUILD
deleted file mode 100644
index 577980c5c..000000000
--- a/community/ruby-pango/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 53626 2011-08-07 02:29:56Z bfanella $
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
-# Contributor: kritoke <kritoke@nospam.gmail.com>
-
-pkgname=ruby-pango
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="Ruby bindings for pango."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://ruby-gnome2.sourceforge.jp"
-license=('LGPL')
-depends=('ruby-glib2' 'ruby-cairo')
-makedepends=('ruby-glib2' 'pango' 'ruby-pkgconfig' 'ruby-cairo')
-source=(http://downloads.sourceforge.net/ruby-gnome2/ruby-gtk2-$pkgver.tar.gz)
-md5sums=('e9711eb5bd88debda90a920deb96d7d0')
-
-build() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- ruby extconf.rb pango --topdir=$pkgdir
- make
-}
-package() {
- cd "$srcdir/ruby-gtk2-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/community/solfege/solfege.changelog b/community/solfege/solfege.changelog
deleted file mode 100644
index b42401c9c..000000000
--- a/community/solfege/solfege.changelog
+++ /dev/null
@@ -1,95 +0,0 @@
-2011-06-17 Ray Rashif <schiv@archlinux.org>
-
- * 3.20.0-1:
- Upstream release
- Added some optional dependencies
- Removed install file;
- timidity is now the default synthesizer
- users should be able to figure stuff out
- Removed desktop file;
- already included in upstream tarball
-
-2010-10-02 Ray Rashif <schiv@archlinux.org>
-
- * Version bump: 3.17.0
- workaround managed for build issue
-
-2010-09-23 Ray Rashif <schiv@archlinux.org>
-
- * Version bump: 3.16.4
- 3.17.0 does not build; upstream issue [1]
- rebuilt for python(2)
-
- [1] http://code.google.com/p/solfege/issues/detail?id=197
-
-2010-05-20 Ray Rashif <schiv@archlinux.org>
-
- * Version bump: 3.16.3
-
- * solfege.desktop: fixed categories for better fit
-
-2010-04-20 Ray Rashif <schiv@archlinux.org>
-
- * Version bump: 3.16.1
-
- * PKGBUILD: minor changes
-
- * solfege.install: added to remove any MIDI confusion
-
-2009-09-08 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.15.2
-
- * PKGBUILD: fixed timidity++ dependency
-
-2009-07-15 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.14.5
-
- * PKGBUILD: removed desktop-file-utils dependency since
- solfege.desktop does not declare any MimeType entry; added
- ghostscript, gnome-doc-utils, librsvg and lilypond makedepends
-
-2009-04-19 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.14.2
-
- * PKGBUILD: removed old sed fix, added optdepends, moved texinfo to
- makedepends, added swig and libxslt to makedepends
-
- * solfege.install: removed
-
-2008-11-12 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.12.0
-
- * PKGBUILD: added txt2man make dependency
-
-2008-06-15 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.10.4
-
- * PKGBUILD: moved from $startdir to $srcdir/$pkgdir
-
- * solfege.install: removed unnecessary reference to the AUR
-
-2008-03-24 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.10.3
-
- * PKGBUILD: moved desktop-file-utils to depends, added pkgconfig
- makedepend, added a sed fix to allow compilation of all files
-
- * ChangeLog: fixed file format
-
- * solfege.install: removed post_upgrade(), a few other small changes
-
-2007-10-20 Corrado Primier <bardo@aur.archlinux.org>
-
- * Version bump: 3.8.2
-
- * PKGBUILD: added desktop-file-utils to makedepends
-
- * solfege.install: added
-
- * solfege.desktop: added