rebuilt [release 1.2.13-2mamba;Mon Apr 15 2024]

This commit is contained in:
Silvan Calarco 2024-04-15 21:36:29 +02:00
parent 69db302394
commit b6b8cd2aeb
5 changed files with 10 additions and 614 deletions

View File

@ -1,380 +0,0 @@
diff -r 717450d734f7 src/combined/ffmpeg/ff_audio_decoder.c
--- a/src/combined/ffmpeg/ff_audio_decoder.c Mon May 16 15:49:02 2011 +0100
+++ b/src/combined/ffmpeg/ff_audio_decoder.c Mon May 16 19:46:49 2011 -0400
@@ -46,6 +46,12 @@
#define AUDIOBUFSIZE (64 * 1024)
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
+# define AVAUDIO 3
+#else
+# define AVAUDIO 2
+#endif
+
typedef struct {
audio_decoder_class_t decoder_class;
} ff_audio_class_t;
@@ -255,6 +261,9 @@
buf->decoder_info[2]);
} else if (!(buf->decoder_flags & BUF_FLAG_SPECIAL)) {
+#if AVAUDIO > 2
+ AVPacket avpkt;
+#endif
if( !this->decoder_ok ) {
if ( ! this->context || ! this->codec ) {
@@ -286,11 +295,21 @@
if (!this->output_open) {
if (!this->audio_bits || !this->audio_sample_rate || !this->audio_channels) {
decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+ av_init_packet (&avpkt);
+ avpkt.data = (uint8_t *)&this->buf[0];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ avcodec_decode_audio3 (this->context,
+ (int16_t *)this->decode_buffer,
+ &decode_buffer_size, &avpkt);
+#else
avcodec_decode_audio2 (this->context,
(int16_t *)this->decode_buffer,
&decode_buffer_size,
&this->buf[0],
this->size);
+#endif
this->audio_bits = this->context->bits_per_sample;
this->audio_sample_rate = this->context->sample_rate;
this->audio_channels = this->context->channels;
@@ -311,12 +330,21 @@
offset = 0;
while (this->size>0) {
decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+ av_init_packet (&avpkt);
+ avpkt.data = (uint8_t *)&this->buf[offset];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ bytes_consumed = avcodec_decode_audio3 (this->context,
+ (int16_t *)this->decode_buffer,
+ &decode_buffer_size, &avpkt);
+#else
bytes_consumed = avcodec_decode_audio2 (this->context,
(int16_t *)this->decode_buffer,
&decode_buffer_size,
&this->buf[offset],
this->size);
-
+#endif
if (bytes_consumed<0) {
xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
"ffmpeg_audio_dec: error decompressing audio frame\n");
diff -r 717450d734f7 src/combined/ffmpeg/ff_video_decoder.c
--- a/src/combined/ffmpeg/ff_video_decoder.c Mon May 16 15:49:02 2011 +0100
+++ b/src/combined/ffmpeg/ff_video_decoder.c Mon May 16 19:46:49 2011 -0400
@@ -58,6 +58,14 @@
#define ENABLE_DIRECT_RENDERING
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
+# define AVVIDEO 2
+#else
+# define AVVIDEO 1
+# define pp_context pp_context_t
+# define pp_mode pp_mode_t
+#endif
+
/* reordered_opaque appeared in libavcodec 51.68.0 */
#define AVCODEC_HAS_REORDERED_OPAQUE
#if LIBAVCODEC_VERSION_INT < 0x334400
@@ -116,8 +124,8 @@
int pp_quality;
int pp_flags;
- pp_context_t *pp_context;
- pp_mode_t *pp_mode;
+ pp_context *our_context;
+ pp_mode *our_mode;
/* mpeg-es parsing */
mpeg_parser_t *mpeg_parser;
@@ -444,23 +452,23 @@
this->pp_quality = this->class->pp_quality;
if(this->pp_available && this->pp_quality) {
- if(!this->pp_context && this->context)
- this->pp_context = pp_get_context(this->context->width, this->context->height,
+ if(!this->our_context && this->context)
+ this->our_context = pp_get_context(this->context->width, this->context->height,
this->pp_flags);
- if(this->pp_mode)
- pp_free_mode(this->pp_mode);
+ if(this->our_mode)
+ pp_free_mode(this->our_mode);
- this->pp_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
+ this->our_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
this->pp_quality);
} else {
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
- if(this->pp_context) {
- pp_free_context(this->pp_context);
- this->pp_context = NULL;
+ if(this->our_context) {
+ pp_free_context(this->our_context);
+ this->our_context = NULL;
}
}
}
@@ -1055,12 +1063,26 @@
}
/* skip decoding b frames if too late */
+#if AVVIDEO > 1
+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT;
+#else
this->context->hurry_up = (this->skipframes > 0);
+#endif
lprintf("avcodec_decode_video: size=%d\n", this->mpeg_parser->buffer_size);
+#if AVVIDEO > 1
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = (uint8_t *)this->mpeg_parser->chunk_buffer;
+ avpkt.size = this->mpeg_parser->buffer_size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ len = avcodec_decode_video2 (this->context, this->av_frame,
+ &got_picture, &avpkt);
+#else
len = avcodec_decode_video (this->context, this->av_frame,
&got_picture, this->mpeg_parser->chunk_buffer,
this->mpeg_parser->buffer_size);
+#endif
lprintf("avcodec_decode_video: decoded_size=%d, got_picture=%d\n",
len, got_picture);
len = current - buf->content - offset;
@@ -1112,7 +1134,13 @@
} else {
- if (this->context->hurry_up) {
+ if (
+#if AVVIDEO > 1
+ this->context->skip_frame != AVDISCARD_DEFAULT
+#else
+ this->context->hurry_up
+#endif
+ ) {
/* skipped frame, output a bad frame */
img = this->stream->video_out->get_frame (this->stream->video_out,
this->bih.biWidth,
@@ -1304,13 +1332,25 @@
got_picture = 0;
} else {
/* skip decoding b frames if too late */
+#if AVVIDEO > 1
+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT;
+#else
this->context->hurry_up = (this->skipframes > 0);
-
+#endif
lprintf("buffer size: %d\n", this->size);
+#if AVVIDEO > 1
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = (uint8_t *)&chunk_buf[offset];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ len = avcodec_decode_video2 (this->context, this->av_frame,
+ &got_picture, &avpkt);
+#else
len = avcodec_decode_video (this->context, this->av_frame,
&got_picture, &chunk_buf[offset],
this->size);
-
+#endif
#ifdef AVCODEC_HAS_REORDERED_OPAQUE
/* reset consumed pts value */
this->context->reordered_opaque = ff_tag_pts(this, 0);
@@ -1432,7 +1472,7 @@
img->base, img->pitches,
img->width, img->height,
this->av_frame->qscale_table, this->av_frame->qstride,
- this->pp_mode, this->pp_context,
+ this->our_mode, this->our_context,
this->av_frame->pict_type);
} else if (!this->av_frame->opaque) {
@@ -1676,11 +1716,11 @@
free(this->buf);
this->buf = NULL;
- if(this->pp_context)
- pp_free_context(this->pp_context);
+ if(this->our_context)
+ pp_free_context(this->our_context);
- if(this->pp_mode)
- pp_free_mode(this->pp_mode);
+ if(this->our_mode)
+ pp_free_mode(this->our_mode);
mpeg_parser_dispose(this->mpeg_parser);
@@ -1721,8 +1761,8 @@
this->aspect_ratio = 0;
this->pp_quality = 0;
- this->pp_context = NULL;
- this->pp_mode = NULL;
+ this->our_context = NULL;
+ this->our_mode = NULL;
this->mpeg_parser = NULL;
diff -r 717450d734f7 src/post/planar/pp.c
--- a/src/post/planar/pp.c Mon May 16 15:49:02 2011 +0100
+++ b/src/post/planar/pp.c Mon May 16 19:46:49 2011 -0400
@@ -35,6 +35,12 @@
# include <libpostproc/postprocess.h>
#endif
+#if LIBPOSTPROC_VERSION_MAJOR < 52
+# define pp_context pp_context_t
+# define pp_mode pp_mode_t
+# define PP_PARAMETERS_T
+#endif
+
#define PP_STRING_SIZE 256 /* size of pp mode string (including all options) */
/* plugin class initialization function */
@@ -76,14 +82,15 @@
/* libpostproc specific stuff */
int pp_flags;
- pp_context_t *pp_context;
- pp_mode_t *pp_mode;
+ pp_context *our_context;
+ pp_mode *our_mode;
pthread_mutex_t lock;
};
static int set_parameters (xine_post_t *this_gen, void *param_gen) {
+#ifdef PP_PARAMETERS_T
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
pp_parameters_t *param = (pp_parameters_t *)param_gen;
@@ -92,17 +99,18 @@
memcpy( &this->params, param, sizeof(pp_parameters_t) );
pthread_mutex_unlock (&this->lock);
-
+#endif
return 1;
}
static int get_parameters (xine_post_t *this_gen, void *param_gen) {
+#ifdef PP_PARAMETERS_T
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
pp_parameters_t *param = (pp_parameters_t *)param_gen;
memcpy( param, &this->params, sizeof(pp_parameters_t) );
-
+#endif
return 1;
}
@@ -202,8 +210,8 @@
if(cpu_caps & MM_ACCEL_X86_3DNOW)
this->pp_flags |= PP_CPU_CAPS_3DNOW;
- this->pp_mode = NULL;
- this->pp_context = NULL;
+ this->our_mode = NULL;
+ this->our_context = NULL;
pthread_mutex_init (&this->lock, NULL);
@@ -248,13 +256,13 @@
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
if (_x_post_dispose(this_gen)) {
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
- if(this->pp_context) {
- pp_free_context(this->pp_context);
- this->pp_context = NULL;
+ if(this->our_context) {
+ pp_free_context(this->our_context);
+ this->our_context = NULL;
}
free(this);
}
@@ -304,7 +312,7 @@
pthread_mutex_lock (&this->lock);
- if( !this->pp_context ||
+ if( !this->our_context ||
this->frame_width != yv12_frame->width ||
this->frame_height != yv12_frame->height ) {
@@ -312,32 +320,32 @@
this->frame_height = yv12_frame->height;
pp_flags = this->pp_flags;
- if(this->pp_context)
- pp_free_context(this->pp_context);
+ if(this->our_context)
+ pp_free_context(this->our_context);
- this->pp_context = pp_get_context(frame->width, frame->height, pp_flags);
+ this->our_context = pp_get_context(frame->width, frame->height, pp_flags);
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
}
- if(!this->pp_mode)
- this->pp_mode = pp_get_mode_by_name_and_quality(this->params.mode,
+ if(!this->our_mode)
+ this->our_mode = pp_get_mode_by_name_and_quality(this->params.mode,
this->params.quality);
- if(this->pp_mode)
+ if(this->our_mode)
pp_postprocess(yv12_frame->base, yv12_frame->pitches,
out_frame->base, out_frame->pitches,
(frame->width+7)&(~7), frame->height,
NULL, 0,
- this->pp_mode, this->pp_context,
+ this->our_mode, this->our_context,
0 /*this->av_frame->pict_type*/);
pthread_mutex_unlock (&this->lock);
- if(this->pp_mode) {
+ if(this->our_mode) {
skip = out_frame->draw(out_frame, stream);
_x_post_frame_copy_up(frame, out_frame);
} else {

View File

@ -1,20 +0,0 @@
--- a/src/video_dec/dav1d.c
+++ b/src/video_dec/dav1d.c
@@ -544,11 +544,17 @@
/* multithreading */
ncpu = xine_cpu_count();
+#if DAV1D_API_VERSION_MAJOR > 5
+ settings.n_threads = ncpu + 1;
+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
+ "Using %d threads\n", settings.n_threads);
+#else
settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
"Using %d frame threads, %d tile threads\n",
settings.n_frame_threads, settings.n_tile_threads);
+#endif
/* dri frame allocator */
settings.allocator.cookie = this;

View File

@ -1,46 +0,0 @@
From 5ea5bc2bc27d45da6c6d30279df7d824188a7745 Mon Sep 17 00:00:00 2001
From: Petri Hintukainen
Date: Sun, 10 Jun 2012 06:45:02 +0000
Subject: Fix building on non-x86 systems
---
diff --git a/src/post/deinterlace/plugins/greedy2frame_template.c b/src/post/deinterlace/plugins/greedy2frame_template.c
index d7e5ef5..e881248 100644
--- a/src/post/deinterlace/plugins/greedy2frame_template.c
+++ b/src/post/deinterlace/plugins/greedy2frame_template.c
@@ -85,6 +85,7 @@
*/
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
#if !defined(MASKS_DEFINED)
#define MASKS_DEFINED
static const mmx_t Mask = { uq: 0x7f7f7f7f7f7f7f7fll };
@@ -92,6 +93,7 @@ static const mmx_t Mask = { uq: 0x7f7f7f7f7f7f7f7fll };
static const mmx_t GreedyTwoFrameThreshold = { ub: {TP, TP, TP, TP} };
#undef TP
#endif
+#endif
#if defined(IS_MMXEXT)
static void DeinterlaceGreedy2Frame_MMXEXT(uint8_t *output, int outstride,
diff --git a/src/post/deinterlace/plugins/greedy2frame_template_sse2.c b/src/post/deinterlace/plugins/greedy2frame_template_sse2.c
index 53c6876..5bc76d5 100644
--- a/src/post/deinterlace/plugins/greedy2frame_template_sse2.c
+++ b/src/post/deinterlace/plugins/greedy2frame_template_sse2.c
@@ -84,11 +84,12 @@
** B0 | | B1 | |
*/
-
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
static const sse_t Mask128 = { uq: { 0x7f7f7f7f7f7f7f7fll, 0x7f7f7f7f7f7f7f7fll} };
#define TP GREEDYTWOFRAMETHRESHOLD, GREEDYTWOFRAMETHRESHOLD2
static const sse_t GreedyTwoFrameThreshold128 = { ub: {TP, TP, TP, TP, TP, TP, TP, TP} };
#undef TP
+#endif
static void DeinterlaceGreedy2Frame_SSE2(uint8_t *output, int outstride,
deinterlace_frame_data_t *data,
--
cgit v0.9.0.2-39-g756e

View File

@ -1,139 +0,0 @@
diff -Nru xine-lib-1.2.3.orig/src/xine-engine/accel_vaapi.h xine-lib-1.2.3/src/xine-engine/accel_vaapi.h
--- xine-lib-1.2.3.orig/src/xine-engine/accel_vaapi.h 1970-01-01 01:00:00.000000000 +0100
+++ xine-lib-1.2.3/src/xine-engine/accel_vaapi.h 2013-05-31 21:25:50.006068027 +0200
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2008 the xine project
+ *
+ * This file is part of xine, a free video player.
+ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * xine is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ * Common acceleration definitions for vdpau
+ *
+ *
+ */
+
+#ifndef HAVE_XINE_ACCEL_VAAPI_H
+#define HAVE_XINE_ACCEL_VAAPI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <va/va_x11.h>
+#include <pthread.h>
+#ifdef HAVE_FFMPEG_AVUTIL_H
+# include <avcodec.h>
+#else
+# include <libavcodec/avcodec.h>
+#endif
+
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32)
+# define AVVIDEO 2
+#else
+# define AVVIDEO 1
+# define pp_context pp_context_t
+# define pp_mode pp_mode_t
+#endif
+
+#define NUM_OUTPUT_SURFACES 22
+
+#define SURFACE_FREE 0
+#define SURFACE_ALOC 1
+#define SURFACE_RELEASE 2
+#define SURFACE_RENDER 3
+#define SURFACE_RENDER_RELEASE 5
+
+struct vaapi_equalizer {
+ VADisplayAttribute brightness;
+ VADisplayAttribute contrast;
+ VADisplayAttribute hue;
+ VADisplayAttribute saturation;
+};
+
+typedef struct ff_vaapi_context_s ff_vaapi_context_t;
+
+struct ff_vaapi_context_s {
+ VADisplay va_display;
+ VAContextID va_context_id;
+ VAConfigID va_config_id;
+ int width;
+ int height;
+ int sw_width;
+ int sw_height;
+ int va_profile;
+ unsigned int va_colorspace;
+ VAImage va_subpic_image;
+ VASubpictureID va_subpic_id;
+ int va_subpic_width;
+ int va_subpic_height;
+ int is_bound;
+ void *gl_surface;
+ unsigned int soft_head;
+ unsigned int valid_context;
+ unsigned int va_head;
+ unsigned int va_soft_head;
+ vo_driver_t *driver;
+ unsigned int last_sub_image_fmt;
+ VASurfaceID last_sub_surface_id;
+ struct vaapi_equalizer va_equalizer;
+ VAImageFormat *va_image_formats;
+ int va_num_image_formats;
+ VAImageFormat *va_subpic_formats;
+ int va_num_subpic_formats;
+};
+
+typedef struct ff_vaapi_surface_s ff_vaapi_surface_t;
+typedef struct vaapi_accel_s vaapi_accel_t;
+
+struct ff_vaapi_surface_s {
+ unsigned int index;
+ vaapi_accel_t *accel;
+ VASurfaceID va_surface_id;
+ unsigned int status;
+};
+
+struct vaapi_accel_s {
+ unsigned int index;
+ vo_frame_t *vo_frame;
+
+#if AVVIDEO > 1
+ int (*avcodec_decode_video2)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr, AVPacket *avpkt);
+#else
+ int (*avcodec_decode_video)(vo_frame_t *frame_gen, AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr, uint8_t *buf, int buf_size);
+#endif
+ VAStatus (*vaapi_init)(vo_frame_t *frame_gen, int va_profile, int width, int height, int softrender);
+ int (*profile_from_imgfmt)(vo_frame_t *frame_gen, enum PixelFormat pix_fmt, int codec_id, int vaapi_mpeg_sofdec);
+ ff_vaapi_context_t *(*get_context)(vo_frame_t *frame_gen);
+ int (*guarded_render)(vo_frame_t *frame_gen);
+ ff_vaapi_surface_t *(*get_vaapi_surface)(vo_frame_t *frame_gen);
+ void (*render_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+ void (*release_vaapi_surface)(vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface);
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+

View File

@ -2,7 +2,7 @@
Name: libxine
Version: 1.2.13
Release: 1mamba
Release: 2mamba
Epoch: 2
Summary: A free multimedia player. It plays back CDs, DVDs, and VCDs
Group: System/Libraries
@ -11,19 +11,13 @@ Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://xinehq.de
Source: http://downloads.sourceforge.net/sourceforge/xine/%{pkgname}-%{version}.tar.xz
Patch0: %{name}-1.1.19-ffmpeg.patch
Patch1: %{name}-1.2.2-fix_building_on_non_x86_systems.patch
Patch2: libxine-1.2.3-missing-header.patch
Patch3: libxine-1.2.12-libdav1d-1.0.0.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libGConf-devel
BuildRequires: libGLU-devel
BuildRequires: libICE-devel
BuildRequires: libMagick-devel
BuildRequires: libORBit2-devel
BuildRequires: libSDL-devel
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
@ -38,7 +32,6 @@ BuildRequires: libavcodec-ffmpeg-devel
BuildRequires: libavformat-ffmpeg-devel
BuildRequires: libavutil-ffmpeg-devel
BuildRequires: libbluray-devel
BuildRequires: libbrotli-devel
BuildRequires: libbzip2-devel
BuildRequires: libcaca-devel
BuildRequires: libcdio-devel
@ -48,16 +41,15 @@ BuildRequires: libdca-devel
BuildRequires: libdirectfb-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
BuildRequires: libe2fs-devel
BuildRequires: libfaad2-devel
BuildRequires: libfame-devel
BuildRequires: libflac-devel
BuildRequires: libfreeglut-devel
BuildRequires: libfreetype-devel
BuildRequires: libftgl-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libglib-devel
BuildRequires: libglu-devel
BuildRequires: libglvnd-devel
BuildRequires: libgnome-vfs-devel
BuildRequires: libgnutls-devel
@ -66,7 +58,7 @@ BuildRequires: libgpm-devel
BuildRequires: libgraphite2-devel
BuildRequires: libjack-devel
BuildRequires: libjpeg-devel
BuildRequires: libkrb5-devel
BuildRequires: libmad-devel
BuildRequires: libmng-devel
BuildRequires: libmodplug-devel
BuildRequires: libmusepack-devel
@ -79,20 +71,20 @@ BuildRequires: libpcre-devel
BuildRequires: libpng-devel
BuildRequires: libpostproc-ffmpeg-devel
BuildRequires: libpulseaudio-devel
BuildRequires: libsdl12-compat-devel
BuildRequires: libslang-devel
BuildRequires: libsmbclient-devel
BuildRequires: libsndio-devel
BuildRequires: libspeex-devel
BuildRequires: libssh2-devel
BuildRequires: libsystemd-devel
BuildRequires: libtheora-devel
BuildRequires: libtirpc-devel
BuildRequires: libts-devel
BuildRequires: libv4l-devel
BuildRequires: libva-devel
BuildRequires: libvcdimager-devel
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
BuildRequires: libvpx6-devel
BuildRequires: libvpx-devel
BuildRequires: libwavpack-devel
BuildRequires: libwayland-devel
BuildRequires: libwayland-egl-devel
@ -100,7 +92,6 @@ BuildRequires: libxcb-devel
BuildRequires: libxdg-basedir-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: libMagick-devel >= 7.1.0.35-1mamba
BuildRequires: libfreetype-devel
BuildRequires: libbonobo-devel
BuildRequires: libgomp-devel
@ -118,15 +109,6 @@ Provides: %{pkgname} = %{epoch}:%{version}-%{release}
Requires: %{name}-tools = %{epoch}:%{version}-%{release}
Obsoletes: libxine1 < 2:1.2.12
# FIXME (missing Build Requirements):
# - sgmltools
# - checking for Libstk... no
# - checking for DirectFB... no
# - checking for DirectX... no
# - checking for rte_init in -lrte... no
# conftest.c:(.text+0xd): undefined reference to `rte_init'
# - checking for polypaudio... no
%description
xine is a free (GPL-licensed) high-performance, portable and reusable multimedia playback engine.
xine itself is a shared library with an easy to use, yet powerful API which is used by many applications for smooth video playback and video processing purposes.
@ -142,7 +124,6 @@ Obsoletes: libxine1-devel < 2:1.2.12
%description devel
xine is a free (GPL-licensed) high-performance, portable and reusable multimedia playback engine.
xine itself is a shared library with an easy to use, yet powerful API which is used by many applications for smooth video playback and video processing purposes.
This is the devel package for the xine-lib library.
%package tools
@ -153,16 +134,13 @@ Requires: %{name} = %{epoch}:%{version}-%{release}
%description tools
xine is a free (GPL-licensed) high-performance, portable and reusable multimedia playback engine.
xine itself is a shared library with an easy to use, yet powerful API which is used by many applications for smooth video playback and video processing purposes.
This is the devel package for the xine-lib library.
This is the tools package for the xine-lib library.
%debug_package
%prep
%setup -q -n %{pkgname}.%{version}
#%patch2 -p1
#%patch3 -p1 -b .libdav1d-1.0.0
sed -i "s,| arm-\* |,| aarch64-\* | arm-\* |," config.sub
#./autogen.sh
%build
export CFLAGS="$RPM_OPT_FLAGS -fomit-frame-pointer -Xlinker -zmuldefs"
@ -247,6 +225,9 @@ mv %{buildroot}%{_datadir}/doc/xine-lib \
%{_datadir}/xine-lib/*
%changelog
* Mon Apr 15 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.13-2mamba
- rebuilt
* Tue Jan 31 2023 Automatic Build System <autodist@mambasoft.it> 1.2.13-1mamba
- automatic version update by autodist