Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 395801 - media-video/libav-0.8_pre20111222 produces white noise with part of some music files
Summary: media-video/libav-0.8_pre20111222 produces white noise with part of some musi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: media-video herd
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-23 14:01 UTC by Casper Ti. Vector
Modified: 2013-04-21 10:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Excerpt from one of the affected music files (BWV 988, 9. Variatio 8 a 2 Clav (excerpt).mp3,47.48 KB, audio/x-mp3)
2011-12-23 14:09 UTC, Casper Ti. Vector
Details
Another excerpt from the same music file (bug_sample_rev.mp3,32.84 KB, audio/x-mp3)
2011-12-26 18:09 UTC, Casper Ti. Vector
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Casper Ti. Vector 2011-12-23 14:01:03 UTC
An update of media-video/libav from 0.8_pre20111116 to 0.8_pre20111222 leads to this problem.
When playing certain parts of certain music files, certain noise instead of expected music is heard.


Reproducible: Always

Steps to Reproduce:
Play certain parts of certain music files with avplay(1) directly or any application that rely on libavcodec (like mplayer).


Actual Results:  
Certain noise (the "rhythm" of the noise is fixed for a given part of a given file) is heard.



Expected Results:  
Expected part of the piece of music should be played, as in older versions of libav like 0.8_pre20111116.


A downgrade to media-video/libav-0.8_pre20111116 works around this issue, so this problem is definitely related to the upgrade.
media-video/ffmpeg might also have the problem, but I have not tested.

This is what I get when I play one file with avplay(1):
% avplay BWV\ 988,\ 9.\ Variatio\ 8\ a\ 2\ Clav.mp3 
avplay version 0.7, Copyright (c) 2003-2011 the Libav developers
  built on Dec 23 2011 16:37:53 with gcc 4.5.3
[mp3 @ 0xb8cb80] max_analyze_duration reached
[mp3 @ 0xb8cb80] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'BWV 988, 9. Variatio 8 a 2 Clav.mp3':
  Metadata:
    title           : BWV 988, 9. Variatio 8 a 2 Clav
    artist          : Glenn Herbert Gould
    track           : 09
    album           : Bach: The Goldberg Variations (1955)
    date            : 2002
    genre           : Classical
    composer        : Johann Sebastian Bach
  Duration: 00:00:45.38, start: 0.000000, bitrate: 256 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -6 -6
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -9 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -8 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -8 enddists: -7 -7=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -9 enddists: -7 -7=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -1 -1=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -5 -5=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -1 -1=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -3 -3
[mp3 @ 0xbc34e0] overread, skip -9 enddists: -4 -4
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3
[mp3 @ 0xbc34e0] overread, skip -8 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -9 enddists: -5 -5
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -6 -6=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -10 enddists: -8 -8
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -6 -6=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -2 -2
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -1 -1
[mp3 @ 0xbc34e0] overread, skip -8 enddists: -6 -6=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -1 -1
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -3 -3
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -1 -1
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -2 -2=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -5 enddists: -4 -4=    0B f=0/0   
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -6 -6
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -1 -1
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -5 -5
[mp3 @ 0xbc34e0] overread, skip -7 enddists: -1 -1
[mp3 @ 0xbc34e0] overread, skip -6 enddists: -2 -2
ALSA lib pcm.c:7316:(snd_pcm_recover) underrun occurred0B f=0/0   
[mp3 @ 0x6a34e0] Header missing  1KB vq=    0KB sq=    0B f=0/0   
^C45.35 A-V:  0.000 s:0.0 aq=    0KB vq=    0KB sq=    0B f=0/0

A short excerpt of one affected music file (in fact the file mentioned above) is attached to show how the noise sounds.
This excerpt is truncated and converted (with avconv(1)) from the affected file, and consists of two parts: the first part is the noise, and the second is normal.
The affected file is copyrighted and therefore I only attached an excerpt of it (which is sufficiently short that I think it's fair use). The excerpt itself is normal, because I can't find a way to retain the "abnormality" of the affected file;
nevertheless, the noise itself is somewhat preserved in the excerpt.

Output of `emerge --info libav':
Portage 2.1.10.41 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r1, 3.1.5-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.1.5-gentoo-x86_64-Intel-R-_Pentium-R-_Dual_CPU_T2370_@_1.73GHz-with-gentoo-2.1
Timestamp of tree: Fri, 23 Dec 2011 12:45:01 +0000
app-shells/bash:          4.2_p20
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.7
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.1-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r1::caspervector
Repositories: gentoo gentoo-haskell gentoo-zh caspervector
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build n"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fakeroot fixlafiles metadata-transfer news parallel-fetch parallel-install protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersync"
FFLAGS=""
GENTOO_MIRRORS="http://mirror.bjtu.edu.cn/gentoo http://mirrors.ustc.edu.cn/gentoo"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--human-readable"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/haskell /var/lib/layman/gentoo-zh /usr/local/portage"
SYNC="rsync://rsync.cn.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fontconfig fortran gdu gif gnutls gpg gpm gtk gtk3 iconv ipv6 jpeg lcms libedit libnotify mad maildir mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support qt4 readline sdl session smp socks5 spell sse sse2 sse3 ssl ssse3 startup-notification svg sysfs system-sqlite tcpd threads tiff truetype udev unicode usb vorbis x264 xcb xft xinerama xml xorg xulrunner xv xvid zlib zsh-completion" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

=================================================================
                        Package Settings
=================================================================

media-video/libav-0.8_pre20111222 was built with the following:
USE="3dnowext X aac alsa amr bzip2 encode gpl hardcoded-tables mmx mp3 (multilib) qt-faststart sdl ssl ssse3 theora threads truetype vorbis x264 xvid zlib -3dnow (-altivec) -avx -bindist -cdio -cpudetection -custom-cflags -debug -dirac -doc -faac -frei0r -gsm -ieee1394 (-iwmmxt) -jack -jpeg2k -mmxext (-neon) -network -openssl -oss -pic -pulseaudio -rtmp -schroedinger -speex -static-libs -test -v4l -vaapi -vdpau (-vis) -vpx" VIDEO_CARDS="-nvidia"
Comment 1 Casper Ti. Vector 2011-12-23 14:09:09 UTC
Created attachment 296743 [details]
Excerpt from one of the affected music files
Comment 2 Casper Ti. Vector 2011-12-26 18:09:23 UTC
Created attachment 297029 [details]
Another excerpt from the same music file
Comment 3 Casper Ti. Vector 2011-12-26 18:22:13 UTC
(In reply to comment #2)

Now I find that mp3splt(1) can retain the "abnormality" of the affected files.
This excerpt is made with mp3splt(1), and should be able to trigger the noise when played with a buggy version (like 0.8_pre20111222) of libav.

This file also consists of an "abnormal" part and a normal part.
When played with avplay(1), the following is printed:

% avplay bug_sample_rev.mp3
avplay version 0.7, Copyright (c) 2003-2011 the Libav developers
  built on Dec 27 2011 02:20:21 with gcc 4.5.3
[mp3 @ 0xc7d4e0] overread, skip -7 enddists: -5 -5
[mp3 @ 0xc7d4e0] overread, skip -8 enddists: -5 -5
[mp3 @ 0xc46b80] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'bug_sample_rev.mp3':
  Metadata:
    composer        : Johann Sebastian Bach
    title           : BWV 988, 9. Variatio 8 a 2 Clav
    artist          : Glenn Herbert Gould
    album           : Bach: The Goldberg Variations (1955)
    date            : 2002
    track           : 1
    genre           : Classical
  Duration: 00:00:01.05, start: 0.000000, bitrate: 256 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
[mp3 @ 0xc7d4e0] overread, skip -7 enddists: -5 -5
[mp3 @ 0xc7d4e0] overread, skip -8 enddists: -5 -5
[mp3 @ 0xc7d4e0] invalid new backstep -1    0KB sq=    0B f=0/0   
^C 1.02 A-V:  0.000 s:0.0 aq=    0KB vq=    0KB sq=    0B f=0/0
Comment 4 Casper Ti. Vector 2012-03-08 07:44:03 UTC
Not knowing why, but this seems to be resolved with media-video/libav-0.8
Comment 5 Luca Barbato gentoo-dev 2013-04-21 10:06:56 UTC
Good to know