summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile.am7
-rw-r--r--misc/Makefile.common4
-rw-r--r--misc/Makefile.plugins.in1
-rw-r--r--misc/cdda_server.c73
-rw-r--r--misc/fonts/Makefile.am4
-rw-r--r--misc/libxine.pc.in17
-rw-r--r--misc/xine-config.in100
-rw-r--r--misc/xine-fontconv.c110
-rw-r--r--misc/xine-lib.spec.in353
-rw-r--r--misc/xine-list.c159
-rw-r--r--misc/xine_logo.pngbin46649 -> 44337 bytes
11 files changed, 508 insertions, 320 deletions
diff --git a/misc/Makefile.am b/misc/Makefile.am
index a5ef28635..7f7e8db7c 100644
--- a/misc/Makefile.am
+++ b/misc/Makefile.am
@@ -7,18 +7,23 @@ EXTRA_DIST = build_rpms.sh \
SlackBuild.in \
SlackBuild \
vga.xinefont.gz \
+ xine-config \
xine-fontconv.c \
xine-lib.spec.in \
xine-lib.spec \
libxine.pc.in \
libdvdcss-1.2.6-network.patch \
+ Makefile.plugins.in \
Makefile.common
bin_SCRIPTS = xine-config
+bin_PROGRAMS = xine-list-@XINE_SERIES@
-pkgconfigdir=$(libdir)/pkgconfig
pkgconfig_DATA=libxine.pc
+xine_list_@XINE_SERIES@_SOURCES = xine-list.c
+xine_list_@XINE_SERIES@_LDADD = $(XINE_LIB)
+
xine-fontconv: xine-fontconv.c
$(CC) -W -Wall -g -o xine-fontconv xine-fontconv.c -lz `freetype-config --cflags` `freetype-config --libs`
diff --git a/misc/Makefile.common b/misc/Makefile.common
index d23ea5b5e..4adab1527 100644
--- a/misc/Makefile.common
+++ b/misc/Makefile.common
@@ -3,13 +3,13 @@ XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
xineincludedir = $(includedir)/xine
xineplugdir = $(XINE_PLUGINDIR)
-xineplug_ldflags = $(NOUNDEF) -avoid-version -module
+xineplug_ldflags = $(LDFLAGS_NOUNDEFINED) -avoid-version -module
xinepostdir = $(XINE_PLUGINDIR)/post
vidixdir = $(XINE_PLUGINDIR)/vidix
$(XINE_LIB):
- @cd $(top_srcdir)/src/xine-engine && $(MAKE)
+ @cd $(top_builddir)/src/xine-engine && $(MAKE)
install-data-hook:
@if test $$MAKELEVEL -le 4 ; then \
diff --git a/misc/Makefile.plugins.in b/misc/Makefile.plugins.in
new file mode 100644
index 000000000..adee79479
--- /dev/null
+++ b/misc/Makefile.plugins.in
@@ -0,0 +1 @@
+DESTDIR:=$(if $(DESTDIR),$(DESTDIR),@LIBTOOL_DESTDIR_DEFAULT@)
diff --git a/misc/cdda_server.c b/misc/cdda_server.c
index 553ec0a8a..0fe09c1ba 100644
--- a/misc/cdda_server.c
+++ b/misc/cdda_server.c
@@ -2,19 +2,19 @@
* CDDA / DVD server
*
* Copyright (C) 2003-2007 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
@@ -185,21 +185,21 @@ static int sock_check_opened(int socket) {
fd_set readfds, writefds, exceptfds;
int retval;
struct timeval timeout;
-
+
for(;;) {
- FD_ZERO(&readfds);
- FD_ZERO(&writefds);
+ FD_ZERO(&readfds);
+ FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
FD_SET(socket, &exceptfds);
-
- timeout.tv_sec = 0;
+
+ timeout.tv_sec = 0;
timeout.tv_usec = 0;
-
+
retval = select(socket + 1, &readfds, &writefds, &exceptfds, &timeout);
-
+
if(retval == -1 && (errno != EAGAIN && errno != EINTR))
return 0;
-
+
if (retval != -1)
return 1;
}
@@ -209,7 +209,7 @@ static int sock_check_opened(int socket) {
#if 0
/*
- * read binary data from socket
+ * read binary data from socket
*/
static int sock_data_read (int socket, char *buf, int nlen) {
int n, num_bytes;
@@ -219,7 +219,7 @@ static int sock_data_read (int socket, char *buf, int nlen) {
if(!sock_check_opened(socket))
return -1;
-
+
num_bytes = 0;
while (num_bytes < nlen) {
@@ -259,40 +259,40 @@ static int sock_data_read (int socket, char *buf, int nlen) {
#endif
/*
- * read a line (\n-terminated) from socket
+ * read a line (\n-terminated) from socket
*/
static int sock_string_read(int socket, char *buf, int len) {
char *pbuf;
int r, rr;
void *nl;
-
+
if((socket < 0) || (buf == NULL))
return -1;
if(!sock_check_opened(socket))
return -1;
-
+
if (--len < 1)
return(-1);
-
+
pbuf = buf;
-
+
do {
-
+
if((r = recv(socket, pbuf, len, MSG_PEEK)) <= 0)
return -1;
if((nl = memchr(pbuf, '\n', r)) != NULL)
r = ((char *) nl) - pbuf + 1;
-
+
if((rr = read(socket, pbuf, r)) < 0)
return -1;
-
+
pbuf += rr;
len -= rr;
} while((nl == NULL) && len);
-
+
if (pbuf > buf && *(pbuf-1) == '\n'){
*(pbuf-1) = '\0';
}
@@ -306,21 +306,21 @@ static int sock_string_read(int socket, char *buf, int len) {
static int sock_data_write(int socket, char *buf, int len) {
ssize_t size;
int wlen = 0;
-
+
if((socket < 0) || (buf == NULL))
return -1;
-
+
if(!sock_check_opened(socket))
return -1;
-
+
while(len) {
size = write(socket, buf, len);
-
+
if(size <= 0) {
printf("error writing to socket %d\n",socket);
return -1;
}
-
+
len -= size;
wlen += size;
buf += size;
@@ -332,15 +332,15 @@ static int sock_data_write(int socket, char *buf, int len) {
int sock_string_write(int socket, char *msg, ...) {
char buf[_BUFSIZ];
va_list args;
-
+
va_start(args, msg);
vsnprintf(buf, _BUFSIZ - 1, msg, args);
va_end(args);
-
+
/* Each line sent is '\n' terminated */
if((buf[strlen(buf)] == '\0') && (buf[strlen(buf) - 1] != '\n'))
strcat(buf, "\n");
-
+
return sock_data_write(socket, buf, strlen(buf));
}
@@ -480,6 +480,12 @@ static int process_commands( int socket )
sscanf(cmd,"%*s %d %d", &start_frame, &num_frames);
+ if (num_frames > INT_MAX / CD_RAW_FRAME_SIZE)
+ {
+ printf ("fatal error: integer overflow\n");
+ exit (1);
+ }
+
n = num_frames * CD_RAW_FRAME_SIZE;
buf = malloc( n );
if( !buf )
@@ -556,6 +562,11 @@ static int process_commands( int socket )
char *buf;
sscanf(cmd,"%*s %d %d", &blocks, &flags);
+ if (blocks > INT_MAX / DVD_BLOCK_SIZE)
+ {
+ printf ("fatal error: integer overflow\n");
+ exit (1);
+ }
n = blocks * DVD_BLOCK_SIZE;
buf = malloc( n );
diff --git a/misc/fonts/Makefile.am b/misc/fonts/Makefile.am
index ae22beefa..2246db20d 100644
--- a/misc/fonts/Makefile.am
+++ b/misc/fonts/Makefile.am
@@ -1,6 +1,6 @@
include $(top_srcdir)/misc/Makefile.common
-fontdir = $(XINE_FONTPATH)
+fontdir = $(XINE_FONTDIR)
font_DATA = \
cetus-16.xinefont.gz \
cetus-20.xinefont.gz \
@@ -37,7 +37,7 @@ font_DATA = \
serif-24.xinefont.gz \
serif-32.xinefont.gz \
serif-48.xinefont.gz \
- serif-64.xinefont.gz
+ serif-64.xinefont.gz
#
# font used for osd
diff --git a/misc/libxine.pc.in b/misc/libxine.pc.in
index c27e8aa94..754acc5ca 100644
--- a/misc/libxine.pc.in
+++ b/misc/libxine.pc.in
@@ -1,11 +1,26 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+
+xinelibdir=@xinelibdir@
+xinedatadir=@xinedatadir@
+
+acflags=@XINE_ACFLAGS@
+plugindir=@XINE_PLUGINDIR@
+scriptdir=@XINE_SCRIPTPATH@
+localedir=@XINE_LOCALEDIR@
+objcflags=@OBJCFLAGS@
+
+xine_list=${bindir}/xine-list-@XINE_SERIES@
+
Name: libxine
Description: The xine engine library
-Version: @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@
+Version: @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@@XINE_PATCH@
Requires:
Libs: -L${libdir} -lxine
Libs.private: @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
diff --git a/misc/xine-config.in b/misc/xine-config.in
index 8d288b22b..700f1169c 100644
--- a/misc/xine-config.in
+++ b/misc/xine-config.in
@@ -2,9 +2,15 @@
#
#
-prefix=@XINE_CONFIG_PREFIX@
-exec_prefix=@exec_prefix@
-exec_prefix_set=no
+unset prefix
+unset exec_prefix
+unset args
+
+PKG_CONFIG_PATH="`cat <<'EOF'
+@XINE_PKGCONFIG_DIR@
+EOF
+`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
+export PKG_CONFIG_PATH
usage()
{
@@ -17,10 +23,12 @@ Options:
[--libs]
[--acflags]
[--cflags]
+ [--bindir]
[--plugindir]
[--datadir]
[--scriptdir]
[--localedir]
+ [--xine-list]
[--objcflags]
EOF
exit $1
@@ -32,53 +40,34 @@ fi
while test $# -gt 0; do
case "$1" in
- -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ -*=*) optarg="${1#--*=}" ;;
*) optarg= ;;
esac
- case $1 in
+ case "$1" in
--prefix=*)
- prefix=$optarg
- if test $exec_prefix_set = no ; then
- exec_prefix=$optarg
+ prefix="$optarg"
+ if [ "$exec_prefix" = '' ]; then
+ exec_prefix="$optarg"
fi
;;
- --prefix)
- echo_prefix=yes
- ;;
--exec-prefix=*)
- exec_prefix=$optarg
- exec_prefix_set=yes
- ;;
- --exec-prefix)
- echo_exec_prefix=yes
+ exec_prefix="$optarg"
;;
--version)
- echo @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@
+ args="$args${args+ }--modversion"
;;
- --acflags)
- echo_acflags=yes
+ --cflags|--libs)
+ args="$args${args+ }$1"
;;
- --cflags)
- echo_cflags=yes
+ --prefix|--acflags|--bindir|--plugindir|--datadir|--scriptdir|--localedir|--objcflags)
+ args="$args${args+ }--variable=${1#--}"
;;
- --libs)
- echo_libs=yes
+ --xine-list)
+ args="$args${args+ }--variable=xine_list"
;;
- --plugindir)
- echo_plugindir=yes
- ;;
- --datadir)
- echo_datadir=yes
- ;;
- --scriptdir)
- echo_scriptdir=yes
- ;;
- --localedir)
- echo_localedir=yes
- ;;
- --objcflags)
- echo_objcflags=yes
+ --exec-prefix)
+ args="$args${args+ }--variable=exec_prefix"
;;
*)
usage 1 1>&2
@@ -87,37 +76,6 @@ while test $# -gt 0; do
shift
done
-if test "$echo_prefix" = "yes"; then
- echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
- echo $exec_prefix
-fi
-
-if test "$echo_acflags" = "yes"; then
- echo "@XINE_ACFLAGS@"
-fi
-
-if test "$echo_cflags" = "yes"; then
- echo -I@includedir@ @PTHREAD_CFLAGS@
-fi
-
-if test "$echo_libs" = "yes"; then
- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
-fi
-if test "$echo_plugindir" = "yes"; then
- echo "@XINE_PLUGINPATH@"
-fi
-if test "$echo_datadir" = "yes"; then
- echo "@XINE_DATADIR@"
-fi
-if test "$echo_scriptdir" = "yes"; then
- echo "@XINE_SCRIPTPATH@"
-fi
-if test "$echo_localedir" = "yes"; then
- echo "@XINE_LOCALEPATH@"
-fi
-if test "$echo_objcflags" = "yes"; then
- echo "@OBJCFLAGS@"
-fi
+exec pkg-config "${prefix+--define-variable=prefix=}$prefix" \
+ "${exec_prefix+--define-variable=exec_prefix=}$exec_prefix" \
+ $args libxine
diff --git a/misc/xine-fontconv.c b/misc/xine-fontconv.c
index e8edaae5b..19b68c7f7 100644
--- a/misc/xine-fontconv.c
+++ b/misc/xine-fontconv.c
@@ -1,25 +1,25 @@
/*
* Copyright (C) 2001-2003 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
*
* OSD stuff (text and graphic primitives)
*
- * xine-fontconv.c
+ * xine-fontconv.c
*
* converts ttf fonts to xine osd fonts
*
@@ -92,7 +92,7 @@ struct osd_font_s {
uint16_t num_fontchars;
osd_fontchar_t *fontchar;
osd_font_t *next;
-};
+};
/* list */
@@ -110,7 +110,7 @@ osd_font_t font;
static int gzwrite_i16(gzFile *fp, uint16_t number) {
- return gzputc(fp, number & 0xFF) != -1 &&
+ return gzputc(fp, number & 0xFF) != -1 &&
gzputc(fp, (number >> 8) & 0xFF) != -1;
}
@@ -169,7 +169,7 @@ void list_free(item_t *list) {
}
}
-/*
+/*
* generate sorted list with unicodes in all given pages,
* returns number of unicodes in the list
*/
@@ -189,7 +189,7 @@ uint16_t generate_unicodes_list(item_t **list, char **pages, int number) {
continue;
}
printf("Used encoding \"%s\"\n", pages[page]);
-
+
/* add new unicodes into list */
for (z = 32; z < 0xFFFF; z++) {
uint16_t unicode;
@@ -198,7 +198,7 @@ uint16_t generate_unicodes_list(item_t **list, char **pages, int number) {
size_t inbytesleft = z <= 0xFF ? 1 : 2;
size_t outbytesleft = 2;
size_t count;
-
+
/* get unicode value from index 'z' in this codepage 'pages[i]' */
count = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
if (count == (size_t)-1 || inbytesleft != 0) {
@@ -218,7 +218,7 @@ uint16_t generate_unicodes_list(item_t **list, char **pages, int number) {
void print_bitmap (FT_Bitmap *bitmap) {
int x,y;
-
+
for( y = 0; y < bitmap->rows; y++ ) {
for( x = 0; x < bitmap->width; x++ ) {
if( bitmap->buffer[y*bitmap->width+x] > 1 )
@@ -242,7 +242,7 @@ FT_Bitmap *create_bitmap (int width, int height) {
bitmap->width = width;
bitmap->buffer = malloc(width*height);
memset( bitmap->buffer, 0, width*height );
-
+
return bitmap;
}
@@ -250,9 +250,9 @@ void destroy_bitmap (FT_Bitmap * bitmap) {
free(bitmap->buffer);
free(bitmap);
}
-
-/*
+
+/*
This function is called to blend a slightly deslocated
version of the bitmap. This will produce the border effect.
Note that the displacement may be smaller than 1 pixel
@@ -264,15 +264,15 @@ void add_border_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
int x,y;
int x1, y1;
int dstpos, srcpos;
-
+
for( y = 0; y < src->rows; y++ ) {
for( x = 0; x < src->width; x++ ) {
srcpos = y * src->width + x;
-
+
x1 = x + left;
if( x1 < 0 || x1 >= dst->width )
continue;
-
+
y1 = y + top;
if( y1 < 0 || y1 >= dst->rows )
continue;
@@ -288,9 +288,9 @@ void add_border_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
/*
Blend the final version of bitmap (the foreground color) over the
already generated border. It will be antialiased to the border.
-
+
Final palette will be:
-
+
0: not used by font, always transparent
1: font background, usually transparent, may be used to implement
translucid boxes where the font will be printed.
@@ -299,22 +299,22 @@ void add_border_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
6: font border. if the font is to be displayed without border this
will probably be adjusted to font background or near.
7-9: transition between border and foreground
- 10: font color (foreground)
+ 10: font color (foreground)
*/
void add_final_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
{
int x,y;
int x1, y1;
int dstpos, srcpos;
-
+
for( y = 0; y < src->rows; y++ ) {
for( x = 0; x < src->width; x++ ) {
srcpos = y * src->width + x;
-
+
x1 = x + left;
if( x1 < 0 || x1 >= dst->width )
continue;
-
+
y1 = y + top;
if( y1 < 0 || y1 >= dst->rows )
continue;
@@ -325,7 +325,7 @@ void add_final_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
dst->buffer[dstpos] = src->buffer[srcpos] + 5;
}
}
-
+
for( y = 0; y < dst->rows; y++ ) {
for( x = 0; x < dst->width; x++ ) {
dstpos = y * dst->width + x;
@@ -336,7 +336,7 @@ void add_final_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
}
-void render_font (FT_Face face, char *fontname, int size, int thickness,
+void render_font (FT_Face face, char *fontname, int size, int thickness,
item_t *unicodes) {
char filename[1024];
@@ -348,7 +348,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
FT_Glyph glyph;
FT_BitmapGlyph glyph_bitmap;
FT_Vector origin;
- int max_bearing_y = 0;
+ int max_bearing_y = 0;
int i;
int converted;
item_t *item, *error_unicodes;
@@ -358,27 +358,27 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
{-1,-1},{1,-1},{-1,1},{1,1}, {0,0}
};
-
- /*
+
+ /*
* generate filename, open file
*/
-
+
snprintf (filename, sizeof(filename), "%s-%d.xinefont.gz", fontname, size);
fp = gzopen(filename,"w");
-
+
if (!fp) {
printf ("error opening output file %s\n", filename);
return;
}
- /*
+ /*
* set up font
*/
strncpy(font.name, fontname, sizeof(font.name));
font.name[sizeof(font.name) - 1] = '\0';
- /* changes from version 1 to version 2:
+ /* changes from version 1 to version 2:
* 'code' in characters is defined as little endian 16-bit unicode
* characters are sorted by 'code'
*/
@@ -389,7 +389,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
error = FT_Set_Pixel_Sizes( face, /* handle to face object */
0, /* pixel_width */
size ); /* pixel_height */
-
+
if (error) {
printf("error setting size\n");
return;
@@ -398,7 +398,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
if( !thickness )
thickness = size * 64 / 30;
- /*
+ /*
* calc max bearing y.
* this is needed to align all bitmaps by the upper position.
*/
@@ -417,7 +417,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
error = FT_Load_Glyph (face, /* handle to face object */
glyph_index, /* glyph index */
FT_LOAD_DEFAULT ); /* load flags */
-
+
if (error) {
error_counter++;
list_insert(&error_unicodes, item->code);
@@ -447,19 +447,19 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
glyph_index = FT_Get_Char_Index( face, item->code);
-
+
if (glyph_index) {
-
+
error = FT_Load_Glyph( face, /* handle to face object */
glyph_index, /* glyph index */
FT_LOAD_DEFAULT ); /* load flags */
-
+
if (!error) {
error = FT_Get_Glyph( face->glyph, &glyph );
-
+
if( i == 0 ) {
out_bitmap = create_bitmap( f266CeilToInt(thickness + MAX(face->glyph->metrics.horiAdvance, face->glyph->metrics.width + face->glyph->metrics.horiBearingX)),
- f266CeilToInt((max_bearing_y<<6) - face->glyph->metrics.horiBearingY +
+ f266CeilToInt((max_bearing_y<<6) - face->glyph->metrics.horiBearingY +
face->glyph->metrics.height + thickness) );
}
@@ -467,7 +467,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
origin.y = thickness + border_pos[i][1]*thickness;
error = FT_Glyph_Transform(glyph, NULL, &origin) ||
- FT_Glyph_To_Bitmap( &glyph, ft_render_mode_normal, NULL, 1);
+ FT_Glyph_To_Bitmap( &glyph, ft_render_mode_normal, NULL, 1);
if (error) {
printf("error generating bitmap [U+%04X]\n", item->code);
@@ -483,24 +483,24 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
else
add_final_bitmap( out_bitmap, &glyph_bitmap->bitmap, glyph_bitmap->left,
max_bearing_y - glyph_bitmap->top );
- converted = 1;
-
+ converted = 1;
+
FT_Done_Glyph( glyph );
}
}
}
-
+
if( converted ) {
#ifdef LOG
printf("[U+%04X] bitmap width: %d height: %d\n", item->code, out_bitmap->width, out_bitmap->rows );
- /*
+ /*
print_bitmap(out_bitmap);
*/
#endif
fontchar.code = item->code;
fontchar.width = out_bitmap->width;
fontchar.height = out_bitmap->rows;
-
+
gzwrite_i16 (fp, fontchar.code);
gzwrite_i16 (fp, fontchar.width);
gzwrite_i16 (fp, fontchar.height);
@@ -523,7 +523,7 @@ void render_font (FT_Face face, char *fontname, int size, int thickness,
list_free(error_unicodes);
}
printf ("generated %s (%d characters)\n", filename, font.num_fontchars);
-}
+}
int main(int argc, char *argv[]) {
@@ -548,7 +548,7 @@ int main(int argc, char *argv[]) {
printf ("usage: %s font.ttf fontname [encoding1 [encoding2 [...]]]\n", argv[0]);
exit (1);
}
-
+
len = strlen (argv[1]);
if (strncasecmp (&argv[1][len-4],".ttf",3)) {
@@ -561,8 +561,8 @@ int main(int argc, char *argv[]) {
printf("error initializing freetype\n");
return 1;
}
-
- error = FT_New_Face( library,
+
+ error = FT_New_Face( library,
argv[1],
0,
&face );
@@ -596,21 +596,21 @@ int main(int argc, char *argv[]) {
render_font (face, argv[2], 32, thickness, unicodes);
render_font (face, argv[2], 48, thickness, unicodes);
render_font (face, argv[2], 64, thickness, unicodes);
- } else
+ } else
printf("No font generated\n");
list_free(unicodes);
FT_Done_Face(face);
-
- FT_Done_FreeType(library);
+
+ FT_Done_FreeType(library);
/*
* some rgb -> yuv conversion,
* can be used to calc new palettes
*/
/*
- {
+ {
float f;
for (f=1.0; f<6.0; f+=1.0) {
@@ -622,7 +622,7 @@ int main(int argc, char *argv[]) {
Y = 0.29900 * R + 0.58700 * G + 0.11400 * B ;
Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + 128.0;
Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + 128.0;
-
+
printf ("CLUT_Y_CR_CB_INIT(0x%x, 0x%x, 0x%x),\n", (int) Y, (int) Cr, (int) Cb);
}
}
diff --git a/misc/xine-lib.spec.in b/misc/xine-lib.spec.in
index 6382b9b9a..952c5e0d2 100644
--- a/misc/xine-lib.spec.in
+++ b/misc/xine-lib.spec.in
@@ -66,6 +66,9 @@
%if %{?BUILD_JACK:0}%{!?BUILD_JACK:1}
%define BUILD_JACK 0
%endif
+%if %{?BUILD_PULSE:0}%{!?BUILD_PULSE:1}
+%define BUILD_PULSE 0
+%endif
Name: %{name}
Summary: A portable video/audio library for unix-like systems.
@@ -76,8 +79,8 @@ Version: %{version}
Release: %{release}
License: GPL
Group: Development/Libraries
-URL: http://xinehq.de
-Source: http://xinehq.de/files/@PACKAGE@-@VERSION@.tar.gz
+URL: http://www.xine-project.org
+Source: http://prdownloads.sourceforge.net/xine/@PACKAGE@-@VERSION@.tar.bz2
Packager: Manfred Tremmel <Manfred.Tremmel@iiv.de>
Obsoletes: xine
Obsoletes: xine-lib
@@ -145,20 +148,21 @@ lisenssin kanssa yhteensopivia. lisätietoja GPL-lisenssistä löytyy osoitteest
http://www.gnu.org/licenses/gpl.html
%if %BUILD_DEVEL
-%package devel
+%package -n %{shortname}-devel
Summary: Header files and documentation to develope programs with libxine.
Summary(cs): Hlavičkové soubory a dokumentace pro vývoj programů používající libxine
Summary(de): Headerdateien und Dokumentationen, um Programme mit libxine entwickeln zu können.
Summary(fi): Header-tiedostot ja dokumentaatio, joita tarvitset kehittäessäsi ohjelmia libxine:n kanssa.
-Group: Development/Libraries
+Group: Development/Libraries
Obsoletes: xine-lib-devel
Obsoletes: xine-devel
Obsoletes: libxine0-devel
-Provides: %{shortname}-devel = %{version}-%{release}
+Obsoletes: %{name}-devel
+Provides: %{name}-devel = %{version}-%{release}
Provides: xine-devel
Requires: %{libname} = %{version}-%{release}
-%description devel
+%description -n %{shortname}-devel
This package contains header files and documentation required to develope
programs with libxine.
@@ -173,7 +177,7 @@ Don't hesitate to use libxine in your own projects as long as your usage
complies to the GPL. More information about GPL-license can be found at
http://www.gnu.org/licenses/gpl.html
-%description devel -l cs
+%description -n %{shortname}-devel -l cs
Tento balíček obsahuje hlavičkové soubory a dokumentaci potřebnou pro vývoj
programů, které používají libxine.
@@ -188,7 +192,7 @@ Dokud to bude ve shodě s GPL, neváhejte použít libxine ve vašich vlastních
projektech. Více informací o GPL licenci můžete nalézt na
http://www.gnu.org/licenses/gpl.html.
-%description devel -l de
+%description -n %{shortname}-devel -l de
Dieses Paket enthält die Headerdateien und Dokumentationen, um Programme
mit libxine entwickeln zu können.
@@ -205,7 +209,7 @@ Zögern Sie nicht libxine in Ihren eigenen Projekten zu nutzen. Beachten Sie
hierzu jedoch die in der GPL Lizenz vereinbarten Bestimmungen. Weitere
Informationen zur GPL-Lizenz finden Sie unter http://www.gnu.org/licenses/gpl.html
-%description devel -l fi
+%description -n %{shortname}-devel -l fi
libxine on xinen sydän (vapaa GPL-linsensoitu videosoitinohjelma Unix-tyylisille
käyttöjärjestelmille), joka muun muassa tarjoaa mahdollisuudet pakatun videon
ja äänen purkamiseen (sekä näyttämiseen) suurimmalla osalla nykyaikaista äänen-
@@ -547,7 +551,6 @@ libxine Videoausgabeplugin per libstk (Set-top Toolkit)
%endif
%if %BUILD_DXR3
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package dxr3
Summary: libxine video output plugin using mpeg2 decoding cards with dxr3 decoder-chip
Summary(cs): Videovýstupní modul libxine používající karty s čipem DXR3
@@ -571,10 +574,8 @@ libxine Videoausgabeplugin, nutzt MPEG2-decoder-Karten mit dxr3 Decoder-Chip
%description dxr3 -l fi
libxine-Videolisdke MPEG2-videopurkukorteille, joissa on DXR3 purkusiru
%endif
-%endif
%if %BUILD_XVMC
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package xvmc
Summary: libxine video output plugin using XVideo-extension with motion compensation
Summary(cs): Videovýstupní modul libxine používající rozšíření XVideo MC
@@ -593,7 +594,6 @@ Videovýstupní modul libxine, který používá rozšíření XVideo s kompenza
%description xvmc -l de
libxine Videoausgabeplugin per XVideo-Erweiterung mit Motion Compensation
%endif
-%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
@@ -624,7 +624,7 @@ libxine-Purkulisdke, joka mahdollistaa Win32 DLL:n kdytvn.
%if %BUILD_JACK
%package jack
-Summary: libxine sound output plugin for the jack sooundserver
+Summary: libxine sound output plugin for the jack soundserver
Summary(de): libxine Soundausgabeplugin für den jack-Soundserver
Group: Development/Libraries
Obsoletes: xine-lib-jack
@@ -632,7 +632,7 @@ Obsoletes: libxine0-jack
Requires: %{libname} = %{version}-%{release}
%description jack
-libxine sound output plugin for the jack sooundserver
+libxine sound output plugin for the jack soundserver
%description jack -l cs
Zvukový výstupní modul libxine pro zvukový server jack.
@@ -641,12 +641,33 @@ Zvukový výstupní modul libxine pro zvukový server jack.
libxine Soundausgabeplugin für den jack-Soundserver
%endif
+%if %BUILD_PULSE
+%package pulse
+Summary: libxine sound output plugin for the pulseaudio soundserver
+Summary(de): libxine Soundausgabeplugin für den pulseaudio-Soundserver
+Group: Development/Libraries
+Obsoletes: xine-lib-pulse
+Obsoletes: libxine0-pulse
+Requires: %{libname} = %{version}-%{release}
+
+%description pulse
+libxine sound output plugin for the pulseaudio soundserver
+
+%description pulse -l cs
+Zvukový výstupní modul libxine pro zvukový server pulseaudio.
+
+%description pulse -l de
+libxine Soundausgabeplugin für den pulseaudio-Soundserver
+%endif
+
+
%prep
%setup -q -n @TAR_NAME@
%build
export CFLAGS="${RPM_OPT_FLAGS}"
-export XINE_DOCPATH="%{_docdir}/libxine1"
+export XINE_DOCPATH="%{_docdir}/%{name}"
+export PKG_CONFIG="%{_bindir}/pkg-config"
if [ ! -f configure ]; then
NO_CONFIGURE=1 ./autogen.sh
@@ -665,286 +686,304 @@ fi
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
--infodir=%{_infodir} --enable-directfb --enable-modplug \
- --with-internal-vcdlibs
+%if %BUILD_STK
+ --with-libstk \
+%endif
+%if %BUILD_ARTS
+ --with-arts \
+%endif
+ --enable-syncfb --without-internal-vcdlibs
# Error in libfaad when compiling with mmx or sse enabled, remove it
-mv src/libfaad/Makefile src/libfaad/Makefile_save
-cat src/libfaad/Makefile_save | sed -e "s/-mmmx/-mno-mmx/g" -e "s/-msse/-mno-sse/g" > src/libfaad/Makefile
+%{__mv} src/libfaad/Makefile src/libfaad/Makefile_save
+%{__cat} src/libfaad/Makefile_save | %{__sed} -e "s/-mmmx/-mno-mmx/g" -e "s/-msse/-mno-sse/g" > src/libfaad/Makefile
# another problem with libavcodec
-mv src/libffmpeg/libavcodec/i386/Makefile src/libffmpeg/libavcodec/i386/Makefile_save
-cat src/libffmpeg/libavcodec/i386/Makefile_save | sed -e "s/-O3/-Os/g" -e "s/-O2/-Os/g" > src/libffmpeg/libavcodec/i386/Makefile
+%{__mv} src/libffmpeg/libavcodec/i386/Makefile src/libffmpeg/libavcodec/i386/Makefile_save
+%{__cat} src/libffmpeg/libavcodec/i386/Makefile_save | %{__sed} -e "s/-O3/-Os/g" -e "s/-O2/-Os/g" > src/libffmpeg/libavcodec/i386/Makefile
-make
+%{__make} %{?jobs:-j%{jobs}}
%install
-rm -rf $RPM_BUILD_ROOT
+[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
make DESTDIR=%{?buildroot:%{buildroot}} LIBRARY_PATH=%{?buildroot:%{buildroot}}%{_libdir} install
cd ${RPM_BUILD_ROOT}
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_zw
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_zw
%if %BUILD_DEVEL
-echo "%doc README TODO AUTHORS COPYING ChangeLog" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
+echo "%doc README TODO AUTHORS COPYING ChangeLog" >> ${RPM_BUILD_DIR}/filelist_%{name}_zw
%else
-echo "%doc README TODO AUTHORS COPYING ChangeLog doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
+echo "%doc README TODO AUTHORS COPYING ChangeLog doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_%{name}_zw
%endif
-find . -type f | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
-find . -type l | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
-find . -type d | grep xine | sed 's,^\.,\%dir ,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
-grep -v "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-grep "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | sed -e 's/$/\*/g' | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_zw
+find . -type f | %{__sed} 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | %{__sed} 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_%{name}_zw
+find . -type l | %{__sed} 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | %{__sed} 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_%{name}_zw
+find . -type d | %{__grep} xine | %{__sed} 's,^\.,\%dir ,' >> ${RPM_BUILD_DIR}/filelist_%{name}_zw
+%{__grep} -v "/man/" ${RPM_BUILD_DIR}/filelist_%{name}_zw | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__grep} "/man/" ${RPM_BUILD_DIR}/filelist_%{name}_zw | %{__sed} -e 's/$/\*/g' | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_zw
%if %BUILD_DEVEL
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_devel
-echo "%doc doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
-grep -v -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_devel
+echo "%doc doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_%{name}_devel
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_devel
+%{__grep} -v -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_ALSA
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_alsa
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_alsa
-grep -v "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_alsa
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_alsa
+%{__grep} -v "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_ARTS
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_arts
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_arts
-grep -v "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_arts
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_arts
+%{__grep} -v "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_ESD
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_esd
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_esd
-grep -v "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_esd
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_esd
+%{__grep} -v "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_DXR3
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
-grep -v "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
-%endif
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_dxr3
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "dxr3" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_dxr3
+%{__grep} -v "dxr3" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_SDL
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_sdl
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_sdl
-grep -v "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_sdl
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_sdl
+%{__grep} -v "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_AA
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_aa
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_aa
-grep -v "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_aa
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_aa
+%{__grep} -v "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_OPENGL
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_opengl
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_opengl
-grep -v -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_opengl
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_opengl
+%{__grep} -v -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_SYNCFB
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
-grep -v -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_syncfb
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_syncfb
+%{__grep} -v -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_DIRECTFB
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_directfb
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_directfb
-grep -v -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_directfb
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_vo_out_(xd|d)irectfb\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_directfb
+%{__grep} -v -E "xineplug_vo_out_(xd|d)irectfb\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_STK
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_stk
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_stk
-grep -v -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_stk
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_stk
+%{__grep} -v -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_XVMC
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
-grep -v "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
-%endif
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_xvmc
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_xvmc
+%{__grep} -v "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
-grep -v -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_w32dll
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_w32dll
+%{__grep} -v -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%endif
%if %BUILD_DVB
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvb
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvb
-grep -v -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_dvb
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_dvb
+%{__grep} -v -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_DVD
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvd
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvd
-grep -v -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_dvd
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_dvd
+%{__grep} -v -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_GNOME_VFS
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
-grep -v "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_gnome_vfs
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_gnome_vfs
+%{__grep} -v "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_FLAC
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_flac
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_flac
-grep -v "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_flac
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_flac
+%{__grep} -v "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_OGG
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_ogg
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_ogg
-grep -v -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_ogg
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_ogg
+%{__grep} -v -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%if %BUILD_JACK
-echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_jack
-mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
-grep "xineplug_ao_out_jack\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_jack
-grep -v "xineplug_ao_out_jack\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
-rm ${RPM_BUILD_DIR}/filelist_libxine1_old
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_jack
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_ao_out_jack\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_jack
+%{__grep} -v "xineplug_ao_out_jack\." ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%endif
+%if %BUILD_PULSE
+echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_%{name}_pulse
+%{__mv} ${RPM_BUILD_DIR}/filelist_%{name} ${RPM_BUILD_DIR}/filelist_%{name}_old
+%{__grep} "xineplug_ao_out_pulse" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - >> ${RPM_BUILD_DIR}/filelist_%{name}_pulse
+%{__grep} -v "xineplug_ao_out_pulse" ${RPM_BUILD_DIR}/filelist_%{name}_old | %{__cat} - > ${RPM_BUILD_DIR}/filelist_%{name}
+%{__rm} ${RPM_BUILD_DIR}/filelist_%{name}_old
%endif
%clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files -f ../filelist_libxine1
+%files -f ../filelist_%{name}
%if %BUILD_DEVEL
-%files devel -f ../filelist_libxine1_devel
+%files -n %{shortname}-devel -f ../filelist_%{name}_devel
%endif
%if %BUILD_ALSA
-%files alsa -f ../filelist_libxine1_alsa
+%files alsa -f ../filelist_%{name}_alsa
%endif
%if %BUILD_ARTS
-%files arts -f ../filelist_libxine1_arts
+%files arts -f ../filelist_%{name}_arts
%endif
%if %BUILD_ESD
-%files esd -f ../filelist_libxine1_esd
+%files esd -f ../filelist_%{name}_esd
%endif
%if %BUILD_DXR3
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
-%files dxr3 -f ../filelist_libxine1_dxr3
-%endif
+%files dxr3 -f ../filelist_%{name}_dxr3
%endif
%if %BUILD_SDL
-%files sdl -f ../filelist_libxine1_sdl
+%files sdl -f ../filelist_%{name}_sdl
%endif
%if %BUILD_AA
-%files aa -f ../filelist_libxine1_aa
+%files aa -f ../filelist_%{name}_aa
%endif
%if %BUILD_OPENGL
-%files opengl -f ../filelist_libxine1_opengl
+%files opengl -f ../filelist_%{name}_opengl
%endif
%if %BUILD_SYNCFB
-%files syncfb -f ../filelist_libxine1_syncfb
+%files syncfb -f ../filelist_%{name}_syncfb
%endif
%if %BUILD_DIRECTFB
-%files directfb -f ../filelist_libxine1_directfb
+%files directfb -f ../filelist_%{name}_directfb
%endif
%if %BUILD_STK
-%files stk -f ../filelist_libxine1_stk
+%files stk -f ../filelist_%{name}_stk
%endif
%if %BUILD_XVMC
-%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
-%files xvmc -f ../filelist_libxine1_xvmc
-%endif
+%files xvmc -f ../filelist_%{name}_xvmc
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
-%files w32dll -f ../filelist_libxine1_w32dll
+%files w32dll -f ../filelist_%{name}_w32dll
%endif
%endif
%if %BUILD_DVB
-%files dvb -f ../filelist_libxine1_dvb
+%files dvb -f ../filelist_%{name}_dvb
%endif
%if %BUILD_DVD
-%files dvd -f ../filelist_libxine1_dvd
+%files dvd -f ../filelist_%{name}_dvd
%endif
%if %BUILD_GNOME_VFS
-%files gnome-vfs -f ../filelist_libxine1_gnome_vfs
+%files gnome-vfs -f ../filelist_%{name}_gnome_vfs
%endif
%if %BUILD_FLAC
-%files flac -f ../filelist_libxine1_flac
+%files flac -f ../filelist_%{name}_flac
%endif
%if %BUILD_OGG
-%files ogg -f ../filelist_libxine1_ogg
+%files ogg -f ../filelist_%{name}_ogg
%endif
%if %BUILD_JACK
-%files jack -f ../filelist_libxine1_jack
+%files jack -f ../filelist_%{name}_jack
+%endif
+
+%if %BUILD_PULSE
+%files pulse -f ../filelist_%{name}_pulse
%endif
%changelog
+* Sun Dec 09 2007 Manfred Tremmel <Manfred.Tremmel@iiv.de>
+- stk and arts plugins are no longer build by default, enable
+ them, when subpackages are selected
+- added optional subpackage for pulseaudio
+- switched to external vcdlibs
+- using macros for shell commands, when rpm provides them
+- some other cleanups
+* Sun Oct 15 2006 Manfred Tremmel <Manfred.Tremmel@iiv.de>
+- some little changes to enable caca plugin
* Sat Aug 26 2006 František Dvořák <valtri@users.sourceforge.net>
- tiny translation update
- fixed rpmbuild
diff --git a/misc/xine-list.c b/misc/xine-list.c
new file mode 100644
index 000000000..ec7b7f694
--- /dev/null
+++ b/misc/xine-list.c
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2008 the xine-project
+ *
+ * This program 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.
+ *
+ * This program 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 St, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ */
+
+#include <xine.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+
+#define XINE_LIST_VERSION_N(x,y) #x"."#y
+#define XINE_LIST_VERSION XINE_LIST_VERSION_N(XINE_MAJOR_VERSION,XINE_MINOR_VERSION)
+
+int main (int argc, char *argv[])
+{
+ int optstate = 0;
+ int which = 'm';
+ int lf = 0;
+
+ for (;;)
+ {
+#define OPTS "hvaemp"
+#ifdef HAVE_GETOPT_LONG
+ static const struct option longopts[] = {
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, 'v' },
+ { "mime-types", no_argument, NULL, 'm' },
+ { "extensions", no_argument, NULL, 'e' },
+ { "all", no_argument, NULL, 'a' },
+ { NULL }
+ };
+ int index = 0;
+ int opt = getopt_long (argc, argv, OPTS, longopts, &index);
+#else
+ int opt = getopt(argc, argv, OPTS);
+#endif
+ if (opt == -1)
+ break;
+
+ switch (opt)
+ {
+ case 'h':
+ optstate |= 1;
+ break;
+ case 'v':
+ optstate |= 4;
+ break;
+ case 'a':
+ case 'e':
+ case 'm':
+ which = opt;
+ break;
+ case 'p':
+ lf = 1;
+ break;
+ default:
+ optstate |= 2;
+ break;
+ }
+ }
+
+ if (optstate & 1)
+ printf ("\
+xine-list-"XINE_LIST_VERSION" %s\n\
+using xine-lib %s\n\
+usage: %s [options]\n\
+options:\n\
+ -h, --help this help text\n\
+ -m, --mime-types list just the supported MIME types\n\
+ -e, --extensions list just the recognised filename extensions\n\
+ -a, --all list everything\n\
+ -p, --pretty-print add line feeds\n\
+\n", XINE_VERSION, xine_get_version_string (), argv[0]);
+ else if (optstate & 4)
+ printf ("\
+xine-list %s\n\
+using xine-lib %s\n\
+(c) 2008 the xine project team\n\
+This is free software; see the source for copying conditions. There is NO\n\
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n\
+to the extent permitted by law.\n",
+ XINE_VERSION, xine_get_version_string ());
+
+ if (optstate & 2)
+ {
+ fputs ("xine-list: invalid option (try -h or --help)\n", stderr);
+ return 1;
+ }
+
+ if (optstate)
+ return 0;
+
+ xine_t *xine = xine_new ();
+ xine_init (xine);
+
+ char *text = NULL;
+ char *sep, *sep2;
+ switch (which)
+ {
+ case 'a':
+ case 'm':
+ text = xine_get_mime_types (xine);
+ if (!text || !*text)
+ goto read_fail;
+ sep = sep2 = text - 1;
+ for (;;)
+ {
+ text = sep + 1;
+ sep = strchr (text, ';') ? : text + strlen (text);
+ sep2 = which == 'a' ? sep : strchr (text, ':') ? : sep;
+ if (!*sep)
+ break;
+ if (printf ("%.*s;", (int)(sep2 - text), text) < 0 || (lf && puts ("") < 0))
+ goto write_fail;
+ }
+ break;
+
+ case 'e':
+ text = xine_get_file_extensions (xine);
+ if (!text || !*text)
+ goto read_fail;
+ sep = text - 1;
+ do
+ {
+ text = sep + 1;
+ sep = strchr (text, ' ') ? : text + strlen (text);
+ if (sep[-1] != '/' &&
+ printf ("%.*s%s", (int)(sep - text), text, lf ? "\n" : *sep ? " " : "") < 0)
+ goto write_fail;
+ } while (*sep);
+ break;
+ }
+
+ return 0;
+
+ read_fail:
+ fputs ("xine-list: failed to read types info\n", stderr);
+ return 1;
+
+ write_fail:
+ perror ("xine-list");
+ return 1;
+}
diff --git a/misc/xine_logo.png b/misc/xine_logo.png
index dbdd49800..7e555ae3d 100644
--- a/misc/xine_logo.png
+++ b/misc/xine_logo.png
Binary files differ