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.

This package is known to build and work properly using an LFS-11.2 platform.

Package Information

Xine Libraries Dependencies

Required

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

Recommended

Optional

AAlib-1.4rc5, FAAD2-2_10_0, FLAC-1.3.4, gdk-pixbuf-2.42.9, 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.15.0 (requires GLU-9.0.2), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.12.0, Mesa-22.1.7, Samba-4.16.4, SDL-1.2.15, Speex-1.2.1, Doxygen-1.9.4 (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.15.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