Opened 20 years ago

Closed 19 years ago

Last modified 18 years ago

#41 closed defect (wontfix)

MPlayer does not detect bitrate of VBR Mp3s right

Reported by: ismail.donmez@… Owned by: moritz@…
Priority: normal Component: demuxer
Version: HEAD Severity: normal
Keywords: Cc: Dominik 'Rathann' Mierzejewski
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I have a 192 kbit VBR Mp3 file and Mplayer shows it as 32 kbit. Here is the verbose output.

cartman@southpark:~/Garbage$ mplayer -v Garbage-Beautiulgarbage-Androgyny.mp3
MPlayer dev-CVS-040720-18:46-3.4.1 (C) 2000-2004 MPlayer Team

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville 702.1 MHz (Family: 6, Stepping: 3)
Detected cache-line size is 32 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE

Reading config file /usr/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/cartman/.mplayer/config
Reading /home/cartman/.mplayer/codecs.conf: Can't open '/home/cartman/.mplayer/codecs.conf': No
such file or directory
Reading /usr/etc/mplayer/codecs.conf: Can't open '/usr/etc/mplayer/codecs.conf': No such file or
directory
Using built-in default codecs.conf.
CommandLine: '-v' 'Garbage-Beautiulgarbage-Androgyny.mp3'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/cartman/.mplayer/input.conf'
Parsing input config file /home/cartman/.mplayer/input.conf
Input config file /home/cartman/.mplayer/input.conf parsed: 54 binds
get_path('Garbage-Beautiulgarbage-Androgyny.mp3.conf') ->
'/home/cartman/.mplayer/Garbage-Beautiulgarbage-Androgyny.mp3.conf'

Playing Garbage-Beautiulgarbage-Androgyny.mp3.
[file] File size is 5383623 bytes
STREAM: [file] Garbage-Beautiulgarbage-Androgyny.mp3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 0 pre:0 eof:3555328
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x8773b68
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x8773b68
Checking for Nullsoft Streaming Video
DEMUXER: freeing demuxer at 0x8773b68
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x8773b68
Checking for REAL
DEMUXER: freeing demuxer at 0x8773b68
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x8773b68
DEMUXER: freeing demuxer at 0x8774438
DEMUXER: freeing demuxer at 0x8774438
Searching demuxer type for filename Garbage-Beautiulgarbage-Androgyny.mp3 ext: .mp3
Trying demuxer 17 based on filename extension
==> Found audio stream: 0
demux_audio: audio data 0x2EE - 0x0
Audio file detected.
Clip info:

Title: Androgyny
Artist: Garbage
Album: Beautifulgarbage
Year: 2001
Comment:
Track: 2
Genre: Alternative

==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: made decode tables with MMX optimization
mp3lib: using MMX optimized decore!
MP3lib: init layer2&3 finished, tables done
MPEG 1.0, Layer III, 44100 Hz 32 kbit Stereo, BPF: 104
Channels: 2, copyright: No, original: Yes, CRC: Yes, emphasis: 0
AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 4000->176400 (32.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter dummy
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps = 2
AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
AO: [Jack] Initialising library.
AO: [Jack] Sample rate mismatch, trying to resample.
AO: [Jack] OK. I'm ready to go (48000 Hz/2 channels/16 bit)
AO: [jack] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: JACK audio output
AO: Author: Kamil Strzelecki <esack@…>
Building audio filter chain for 44100Hz/2ch/16bit -> 48000Hz/2ch/16bit...
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps = 2
[libaf] Adding filter resample
[resample] Changing sample rate to 48000Hz
[resample] Changing sample rate to 48000Hz
[resample] Using linear interpolation.
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps = 2
[resample] Using linear interpolation.
Video: no video
Freeing 0 unused video chunks
Starting playback...
[libaf] Reallocating memory in module resample, old len = 0, new len = 44104
Uninit audio filters...%
[libaf] Removing filter dummy
[libaf] Removing filter resample
uninit audio: mp3lib
DEMUXER: freeing demuxer at 0x8774438
DEMUXER: freeing sh_audio at 0x8774dd8
vo: x11 uninit called but X11 not inited..

Exiting... (Quit)

Change History (4)

comment:1 by Dominik 'Rathann' Mierzejewski, 19 years ago

AFAIK it's not possible to detect the average bps reliably without reading the
whole file. Both mpg321 (which uses libmad) and current CVS MPlayer detect some
of my VBR mp3s as 128kbit. I wouldn't consider this a bug.

comment:2 by Dominik 'Rathann' Mierzejewski, 19 years ago

Resolution: wontfix
Status: newclosed

Closing for now. Maybe reopen later if someone provides a sensible patch.

comment:3 by aaron@…, 18 years ago

i see two distinct problems here. one is the incorrect bitrate reported, which
should be suppressed or replaced with an indication that the file is VBR; when
the file has been fully played, we could report the average bitrate.
two is the incorrect file length reported, which could be updated over time as
the average bitrate converges. these could both be addressed by a single patch,
which i have considered writing but not gotten to. any thoughts on the suggested
approaches? should i post the issue of the file length as a separate bug?

comment:4 by Dominik 'Rathann' Mierzejewski, 18 years ago

Cc: Dominik 'Rathann' Mierzejewski added
Note: See TracTickets for help on using tickets.