xine-lib-1.2.12

Introduction to Xine Libraries

The Xine Libraries package contains xine libraries. These are useful for interfacing with external plug-ins that allow the flow of information from the source to the audio and video hardware.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Xine Libraries Dependencies

Required

a graphical environment, FFmpeg-5.1.2, and at least one of: ALSA-1.2.7, PulseAudio-16.1, or JACK

Recommended

Optional

AAlib-1.4rc5, FAAD2-2.10.1, FLAC-1.4.2, gdk-pixbuf-2.42.10, GLU-9.0.2, ImageMagick-7.1.0-46, liba52-0.7.4, libdvdcss-1.4.3, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.0, libtheora-1.1.1, libva-2.16.0 (requires GLU-9.0.2), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.12.0, Mesa-22.2.4, Samba-4.17.3, SDL-1.2.15, Speex-1.2.1, Doxygen-1.9.5 (to create the API documentation), v4l-utils-1.22.1 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, musepack, VCDImager, and WavPack,

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xine-lib

Installation of Xine Libraries

First, fix building this package with ffmpeg-5.1:

sed -e '/\/avformat.h/i #include <libavcodec/version.h>' \
    -i src/combined/ffmpeg/demux_avformat.c &&
sed -e '/\/avio.h/i #include <libavutil/avutil.h>' \
    -i src/combined/ffmpeg/input_avio.c

Then, fix building this package with binutils-2.39:

sed -e '/xine_set_flags/s/XINE_PROTECTED//' -i include/xine.h

Install Xine Libraries by running the following commands:

./configure --prefix=/usr          \
            --disable-vcd          \
            --with-external-dvdnav \
            --docdir=/usr/share/doc/xine-lib-1.2.12 &&
make

To create the API documentation, Doxygen must be installed and issue the following command:

doxygen doc/Doxyfile

This package does not come with a test suite.

Now, as the root user:

make install
[Note]

Note

When installing, the Makefile does some additional linking. If you do not have Xorg in /usr, the LIBRARY_PATH variable needs to be defined for the root user. If using sudo to assume root, use the -E option to pass your current environment variables for the install process.

If you built the API documentation, issue the following commands as the root user to install it:

install -v -m755 -d /usr/share/doc/xine-lib-1.2.12/api &&
install -v -m644    doc/api/* \
                    /usr/share/doc/xine-lib-1.2.12/api

Command Explanations

--disable-vcd: This switch is required to compile Xine Lib without VCDImager installed. Remove this option if you have installed VCDImager.

--with-external-dvdnav: This switch is required, because internal libraries cannot decrypt DVD.

--docdir=/usr/share/doc/xine-lib-1.2.12: This switch causes the documentation to be installed into a versioned directory instead of the default /usr/share/doc/xine-lib.

--disable-vaapi: use this switch if libva-2.16.0 is installed and GLU-9.0.2 is not, to prevent a build failure.

Contents

Installed Programs: xine-config and xine-list-1.2
Installed Libraries: libxine.so and numerous plugin modules and video extensions under /usr/lib/xine/plugins/2.8
Installed Fonts: Output display engine fonts located in /usr/share/xine-lib/fonts
Installed Directories: /usr/include/xine, /usr/lib/xine, /usr/share/xine-lib, and /usr/share/doc/xine-lib-1.2.12

Short Descriptions

xine-config

provides information to programs trying to link with the xine libraries

xine-list-1.2

is used to get supported file type information from xine-lib

libxine.so

provides the API for processing audio/video files