Package: libxine1
Version: 1.1.2-3
Severity: important

Please look at xine-lib-1.1.2/src/xine-engine/resample.c

This file contains sound resampling functions. They have the property that the first sample of the output data is the same as the first input sample, and the last sample of the output data is the same as the last input sample. And they don't keep any state between resampling chunks, i.e., the first call resamples the first N samples, then the next call resamples the next N samples completely independently. The properties mentioned above guarantee incorrect behaviour at chunk boundaries.

Namely, suppose that the original sample rate is 22.05 kHz, thus, the interval between samples is normally 45.351 us. Xine concerts the first 576 samples to 48 kHz, then it converts the next 576 samples. However, the input sample 575 (counting from zero, i.e., the last sample of the first chunk) maps _exactly_ to the output sample 1253, and the input sample 576 maps _exactly_ to the output sample 1254. The time distance between these signal values becomes 20.833 us instead of the correct 45.351 us. In other words, all data that should be inserted between these output samples are lost. This manifests itself as a click if the signal has a non-zero derivative at that point.

The problem is aggravated by the fact that, in the default ALSA dmix setup, xine always resamples its output to 48 kHz (even though ALSA can do it better itself with "plug" and libsamplerate), thus, all narrowband internet radios suffer from clicks in xine.

If you can't fix the xine resampler, please make sure it is not used in the default plug:dmix setup.

-- System Information:
Debian Release: testing/unstable
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-686
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)

Versions of packages libxine1 depends on:
ii  libasound2        1.0.12-1               ALSA library
ii  libc6             2.3.6.ds1-4            GNU C Library: Shared libraries
ii libcdio6 0.76-1 library to read and control CD-ROM ii libfreetype6 2.2.1-5 FreeType 2 font engine, shared lib ii libgl1-mesa-glx [ 6.5.0.cvs.20060524-1.1 A free implementation of the OpenG ii libglu1-mesa [lib 6.5.0.cvs.20060524-1.1 The OpenGL utility library (GLU) ii libice6 1:1.0.1-2 X11 Inter-Client Exchange library ii libiso9660-4 0.76-1 library to work with ISO9660 files
ii  libmad0           0.15.1b-2.1            MPEG audio decoder library
ii libmodplug0c2 1:0.7-5.2 shared libraries for mod music bas
ii  libogg0           1.1.3-2                Ogg Bitstream Library
ii  libsm6            1:1.0.1-3              X11 Session Management library
ii  libspeex1         1.1.12-2               The Speex Speech Codec
ii  libstdc++6        4.1.1-13               The GNU Standard C++ Library v3
ii libtheora0 0.0.0.alpha7-1 The Theora Video Compression Codec ii libvcdinfo0 0.7.23-3 library to extract information fro ii libvorbis0a 1.1.2-1 The Vorbis General Audio Compressi
ii  libx11-6          2:1.0.0-9              X11 client-side library
ii libxext6 1:1.0.1-2 X11 miscellaneous extension librar
ii  libxinerama1      1:1.0.1-4.1            X11 Xinerama extension library
ii  libxv1            1:1.0.2-1              X11 Video extension library
ii  libxvmc1          1:1.0.2-2              X11 Video extension library
ii  zlib1g            1:1.2.3-13             compression library - runtime

Versions of packages libxine1 recommends:
ii libmng1 1.0.9-1 Multiple-image Network Graphics li

-- no debconf information



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to