* Fri Apr 03 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.16.3-1

- xine-lib-1.1.16.3, plugin-abi 1.26
This commit is contained in:
Rex Dieter 2009-04-03 17:07:18 +00:00
parent 4fc20dbcd4
commit 966bc61b76
5 changed files with 119 additions and 276 deletions

View File

@ -1,2 +1,2 @@
xine-lib-1.1.16.2-pruned.tar.bz2
xine-lib-1.1.16.2-autotools.patch.bz2
xine-lib-1.1.16.3-autotools.patch.bz2
xine-lib-1.1.16.3-pruned.tar.bz2

View File

@ -1,2 +1,2 @@
e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2
07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2
e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2
0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2

View File

@ -1,23 +0,0 @@
--- src/demuxers/demux_mod.c 2009-02-08 20:56:51.000000000 +0200
+++ src/demuxers/demux_mod.c.add-mime 2009-03-25 19:41:03.259017840 +0200
@@ -379,7 +379,19 @@
}
static const char *get_mimetypes (demux_class_t *this_gen) {
- return NULL;
+ return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
+ "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
+ "audio/it: it: ImpulseTracker Module;"
+ "audio/x-it: it: ImpulseTracker Module;"
+ "audio/x-stm: stm: ScreamTracker 2 Module;"
+ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
+ "audio/s3m: s3m: ScreamTracker 3 Module;"
+ "application/playerpro: 669: 669 Tracker Module;"
+ "application/adrift; amf: ADRIFT Module File;"
+ "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
+ "audio/x-amf; amf: ADRIFT Module File;"
+ "audio/x-xm; xm: FastTracker II Audio;"
+ "audio/xm; xm: FastTracker II Audio;";
}
static void class_dispose (demux_class_t *this_gen) {

View File

@ -1,132 +0,0 @@
# HG changeset patch
# User Miguel Freitas <miguelfreitas@users.sourceforge.net>
# Date 1234834587 10800
# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318
# Parent 24a9b3d531419405f71dbcf96da93876769eb990
Protect audio loop so it cannot write to a paused device (fix
pause/resume freeze with pulseaudio).
diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c
--- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000
+++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300
@@ -243,6 +243,7 @@
audio_fifo_t *free_fifo;
audio_fifo_t *out_fifo;
int64_t last_audio_vpts;
+ pthread_mutex_t current_speed_lock;
uint32_t current_speed; /* the current playback speed */
/* FIXME: replace all this->clock->speed with this->current_speed. we should make
* sure nobody will change speed without going through xine.c:set_speed_internal */
@@ -1040,6 +1041,7 @@
* we must process/free buffers otherwise the entire engine will stop.
*/
+ pthread_mutex_lock(&this->current_speed_lock);
if ( this->audio_loop_running &&
(this->clock->speed == XINE_SPEED_PAUSE ||
(this->clock->speed != XINE_FINE_SPEED_NORMAL &&
@@ -1055,6 +1057,7 @@
_x_refcounter_dec(in_buf->stream->refcounter);
fifo_append (this->free_fifo, in_buf);
in_buf = NULL;
+ pthread_mutex_unlock(&this->current_speed_lock);
continue;
}
@@ -1065,6 +1068,7 @@
}
lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers);
+ pthread_mutex_unlock(&this->current_speed_lock);
xine_usec_sleep (10000);
lprintf ("loop:pause: I wake up.\n");
continue;
@@ -1274,6 +1278,7 @@
fifo_append (this->free_fifo, in_buf);
in_buf = NULL;
}
+ pthread_mutex_unlock(&this->current_speed_lock);
/* Give other threads a chance to use functions which require this->driver_lock to
* be available. This is needed when using NPTL on Linux (and probably PThreads
@@ -1684,6 +1689,7 @@
free (this->frame_buf[1]);
free (this->zero_space);
+ pthread_mutex_destroy(&this->current_speed_lock);
pthread_mutex_destroy(&this->flush_audio_driver_lock);
pthread_cond_destroy(&this->flush_audio_driver_reached);
@@ -1910,8 +1916,15 @@
if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
- this->ao.control(&this->ao,
- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
+ if( value == XINE_SPEED_PAUSE ) {
+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
+ * that is, we cannot pause writing to device, filling gaps etc. */
+ pthread_mutex_lock(&this->current_speed_lock);
+ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL);
+ pthread_mutex_unlock(&this->current_speed_lock);
+ } else {
+ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL);
+ }
this->current_speed = value;
if( this->slow_fast_audio )
ao_update_resample_factor(this);
@@ -2056,6 +2069,7 @@
this->driver = driver;
this->xine = xine;
this->clock = xine->clock;
+ this->current_speed = xine->clock->speed;
this->streams = xine_list_new();
/* warning: driver_lock is a recursive mutex. it must NOT be
@@ -2087,6 +2101,7 @@
this->discard_buffers = 0;
this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
+ pthread_mutex_init( &this->current_speed_lock, NULL );
pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
pthread_cond_init( &this->flush_audio_driver_reached, NULL );
diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c
--- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000
+++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300
@@ -330,17 +330,20 @@
static void set_speed_internal (xine_stream_t *stream, int speed) {
xine_t *xine = stream->xine;
+ int old_speed = xine->clock->speed;
- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
/* get all decoder and post threads in a state where they agree to be blocked */
xine->port_ticket->revoke(xine->port_ticket, 0);
- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
/* all decoder and post threads may continue now */
xine->port_ticket->issue(xine->port_ticket, 0);
- stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
-
+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
+ /* set master clock so audio_out loop can pause in a safe place */
+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
+
/* see coment on audio_out loop about audio_paused */
if( stream->audio_out ) {
xine->port_ticket->acquire(xine->port_ticket, 1);
@@ -350,6 +353,10 @@
xine->port_ticket->release(xine->port_ticket, 1);
}
+
+ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE)
+ /* master clock is set after resuming the audio device (audio_out loop may continue) */
+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
}

View File

@ -4,7 +4,7 @@
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - deprecate ESD support?
%define abiver 1.25
%define plugin_abi 1.26
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@ -33,8 +33,8 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
Release: 6%{?dist}
Version: 1.1.16.3
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@ -56,12 +56,10 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause3.patch
Patch101: xine-lib-add-mime-for-mod.patch
Provides: xine-lib(plugin-abi) = %{abiver}
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%if "%{?_isa}" != "%{nil}"
Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
%endif
# X11
BuildRequires: libX11-devel
@ -144,7 +142,7 @@ This package contains development files for %{name}.
Summary: aRts plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
@ -166,7 +164,7 @@ This package contains the pulseaudio plugin for %{name}.
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
@ -210,9 +208,6 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
%patch100 -p1 -b .safe_audio_pause
%patch101 -p0 -b .add-mime-for-mod
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@ -292,142 +287,142 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{abiver}/
%{_libdir}/xine/plugins/%{abiver}/mime.types
%dir %{_libdir}/xine/plugins/%{plugin_abi}/
%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
%dir %{_libdir}/xine/plugins/%{abiver}/post/
%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so
%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so
%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so
%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so
%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so
%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
%if %{have_vidix}
%dir %{_libdir}/xine/plugins/%{abiver}/vidix/
%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so
%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
%endif # vidix
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
%endif # ix86
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
%endif # ix86
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%endif # xcb
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
%endif
%if %{with_pa}
%files pulseaudio
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
%endif # aalib
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
%endif # directfb
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@ -444,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Apr 03 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.16.3-1
- xine-lib-1.1.16.3, plugin-abi 1.26
* Thu Mar 26 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.16.2-6
- add-mime-for-mod.patch
@ -472,7 +470,7 @@ rm -rf $RPM_BUILD_ROOT
- safe-audio-pause patch (kdebug#180339)
* Mon Jan 26 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
- touchup Summary/Description
* Fri Jan 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.16.1-1