Opened 15 years ago

Closed 15 years ago

Last modified 14 years ago

#1567 closed defect (invalid)

No sound from streaming, OK when wget'ng and playing

Reported by: zappacor@… Owned by: reimar
Priority: normal Component: streaming
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Hi all,

I'm experiencing a weird issue: if I try to play

mplayer 'http://208.80.52.108:80/KDLDFM'

I just get no audio output from mplayer. However, if I download some Kbytes of the stream and then play it:

wget 'http://208.80.52.108:80/KDLDFM'
mplayer KDLDFM

I can hear it perfectly!

Any hint on what I'm doing wrong?

If this is of help, here is more detailed log of what I get:

RJZ-LNX ~ # mplayer -V 'http://208.80.52.108:80/KDLDFM'
MPlayer SVN-r29463-4.4.1 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 10
CPU: Genuine Intel(R) CPU T2500 @ 2.00GHz (Family: 6, Model: 14, Stepping: 8)
extended cpuid-level: 8
extended cache-info: 134242368
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 CMOV
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --cc=i686-pc-linux-gnu-gcc --host-cc=i686-pc-linux-gnu-gcc --prefix=/usr --confdir=/etc/mplayer --datadir=/usr/share/mplayer --libdir=/usr/lib --enable-network --disable-arts --disable-nemesi --disable-fribidi --disable-ftp --disable-inet6 --disable-lirc --disable-lircc --disable-apple-ir --disable-libnut --enable-menu --disable-joystick --disable-cdparanoia --charset=UTF-8 --disable-tv-bsdbt848 --disable-ivtv --disable-dvb --disable-dvbhead --disable-pvr --disable-tv-v4l2 --disable-tv-teletext --disable-radio-v4l2 --disable-radio-bsdbt848 --disable-liba52 --disable-musepack --disable-libopencore_amrnb --disable-libopencore_amrwb --disable-liblzo --xanimcodecsdir=/usr/lib/xanim/mods --disable-mad --disable-mng --disable-pnm --disable-tga --realcodecsdir=/opt/RealPlayer/codecs --disable-directfb --disable-ggi --disable-md5sum --disable-xinerama --disable-aa --disable-dxr3 --disable-fbdev --disable-caca --disable-vesa --disable-vdpau --disable-vidix --disable-vidix-pcidb --disable-zr --disable-gui --disable-xvmc --disable-3dfx --disable-tdfxvid --disable-tdfxfb --disable-esd --disable-jack --disable-ladspa --disable-nas --disable-openal --disable-pulse --disable-ossaudio
CommandLine: '-V' 'http://208.80.52.108:80/KDLDFM'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/root/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 90 binds
get_path('KDLDFM.conf') -> '/root/.mplayer/KDLDFM.conf'

Playing http://208.80.52.108:80/KDLDFM.
get_path('sub/') -> '/root/.mplayer/sub/'
Filename for url is now http://208.80.52.108:80/KDLDFM
Filename for url is now http://208.80.52.108:80/KDLDFM
STREAM_HTTP(1), URL: http://208.80.52.108:80/KDLDFM
Connecting to server 208.80.52.108[208.80.52.108]: 80...
--- HTTP DEBUG HEADER --- START ---
protocol: [HTTP/1.0]
http minor version: [0]
uri: [(null)]
method: [(null)]
status code: [200]
reason phrase: [OK]
body size: [1290]
Fields:

0 - Expires: Thu, 01 Dec 2003 16:00:00 GMT
1 - Cache-Control: no-cache, must-revalidate
2 - Pragma: no-cache
3 - Content-Type: application/flv

--- HTTP DEBUG HEADER --- END ---
Content-Type: [application/flv]
Cache size set to 320 KBytes
STREAM: [null] http://208.80.52.108:80/KDLDFM
STREAM: Description: http streaming
STREAM: Author: Bertrand, Albeau, Reimar Doeffinger, Arpi?
STREAM: Comment: plain http
CACHE_PRE_INIT: 0 [0] 0 pre:65536 eof:0
Cache fill: 12.50% (40960 bytes)
LAVF_check: FLV format
libavformat file format detected.

I PRESSED CTRL-C HERE, NO AUDIO AT ALL WAS HEARD
MPlayer interrupted by signal 2 in module: enable_cache
nop_streaming_read error : Interrupted system call

MPlayer interrupted by signal 2 in module: demux_open
==> Found audio stream: 0
[lavf] Audio stream found, -aid 0
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 44100
avg byte/sec: 0
Block align: 1
bits/sample: 16
cbSize: 0
==========================================================================
LAVF: 1 audio and 0 video streams found
LAVF: build 3417344
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using SSE optimized decore!
MP3lib: init layer2&3 finished, tables done
mpg123: Can't rewind stream by 706 bits!
MPEG 1.0, Layer III, 44100 Hz 96 kbit Joint-Stereo, BPF: 313
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 44100 Hz, 2 ch, s16le, 96.0 kbit/6.80% (ratio: 12000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
Trying every known audio driver...
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.21
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opened in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy@…>
AO: Comment: under developement
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[libaf] Adding filter lavcresample
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
mpg123: Can't rewind stream by 376 bits!
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 67714
Increasing filtered audio buffer size from 0 to 67672
Uninit audio filters...7) of 0.0 (unknown) ??,?% 0%
[libaf] Removing filter lavcresample
[libaf] Removing filter dummy
Uninit audio: mp3lib
alsa-uninit: pcm closed
vo: x11 uninit called but X11 not initialized..

Exiting... (Quit)
RJZ-LNX ~ #
RJZ-LNX ~ #
RJZ-LNX ~ #
RJZ-LNX ~ #
RJZ-LNX ~ # wget 'http://208.80.52.108:80/KDLDFM'
--2009-09-13 10:59:35-- http://208.80.52.108/KDLDFM
Connecting to 208.80.52.108:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/flv]
Saving to: `KDLDFM'

[ <=> ] 115,579 39.1K/s

I STOPPED THE DOWNLOAD HERE (CTRL-C)
RJZ-LNX ~ #
RJZ-LNX ~ #
RJZ-LNX ~ # mplayer -V KDLDFM
MPlayer SVN-r29463-4.4.1 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 10
CPU: Genuine Intel(R) CPU T2500 @ 2.00GHz (Family: 6, Model: 14, Stepping: 8)
extended cpuid-level: 8
extended cache-info: 134242368
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 CMOV
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --cc=i686-pc-linux-gnu-gcc --host-cc=i686-pc-linux-gnu-gcc --prefix=/usr --confdir=/etc/mplayer --datadir=/usr/share/mplayer --libdir=/usr/lib --enable-network --disable-arts --disable-nemesi --disable-fribidi --disable-ftp --disable-inet6 --disable-lirc --disable-lircc --disable-apple-ir --disable-libnut --enable-menu --disable-joystick --disable-cdparanoia --charset=UTF-8 --disable-tv-bsdbt848 --disable-ivtv --disable-dvb --disable-dvbhead --disable-pvr --disable-tv-v4l2 --disable-tv-teletext --disable-radio-v4l2 --disable-radio-bsdbt848 --disable-liba52 --disable-musepack --disable-libopencore_amrnb --disable-libopencore_amrwb --disable-liblzo --xanimcodecsdir=/usr/lib/xanim/mods --disable-mad --disable-mng --disable-pnm --disable-tga --realcodecsdir=/opt/RealPlayer/codecs --disable-directfb --disable-ggi --disable-md5sum --disable-xinerama --disable-aa --disable-dxr3 --disable-fbdev --disable-caca --disable-vesa --disable-vdpau --disable-vidix --disable-vidix-pcidb --disable-zr --disable-gui --disable-xvmc --disable-3dfx --disable-tdfxvid --disable-tdfxfb --disable-esd --disable-jack --disable-ladspa --disable-nas --disable-openal --disable-pulse --disable-ossaudio
CommandLine: '-V' 'KDLDFM'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/root/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 90 binds
get_path('KDLDFM.conf') -> '/root/.mplayer/KDLDFM.conf'

Playing KDLDFM.
get_path('sub/') -> '/root/.mplayer/sub/'
[file] File size is 125659 bytes
STREAM: [file] KDLDFM
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: FLV format
libavformat file format detected.
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x34E067ED !
stream_seek: WARNING! Can't seek to 0x1EADF !
stream_seek: WARNING! Can't seek to 0x1E804 !
==> Found audio stream: 0
[lavf] Audio stream found, -aid 0
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 44100
avg byte/sec: 0
Block align: 1
bits/sample: 16
cbSize: 0
==========================================================================
LAVF: 1 audio and 0 video streams found
LAVF: build 3417344
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using SSE optimized decore!
MP3lib: init layer2&3 finished, tables done
mpg123: Can't rewind stream by 1763 bits!
MPEG 1.0, Layer III, 44100 Hz 96 kbit Joint-Stereo, BPF: 313
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 44100 Hz, 2 ch, s16le, 96.0 kbit/6.80% (ratio: 12000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
Trying every known audio driver...
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.21
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opened in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy@…>
AO: Comment: under developement
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[libaf] Adding filter lavcresample
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 67714
Increasing filtered audio buffer size from 0 to 67672
A:1106389.6 (307:19:49.6) of 10.5 (10.4) 1.1%

NICE AUDIO HEARD HERE!!!!!. STOPPED BY PRESSING CTRL-C *
MPlayer interrupted by signal 2 in module: play_audio
Uninit audio filters...6) of 10.5 (10.4) 1.1%
[libaf] Removing filter lavcresample
[libaf] Removing filter dummy
Uninit audio: mp3lib
alsa-uninit: pcm closed
vo: x11 uninit called but X11 not initialized..

Exiting... (Quit)
RJZ-LNX ~ #

Change History (8)

comment:1 by zappacor@…, 15 years ago

Cc: Reimar.Doeffinger@… added
Component: aostreaming

comment:2 by zappacor@…, 15 years ago

Cc: Reimar.Doeffinger@… removed

comment:3 by zappacor@…, 15 years ago

This is the hexdump of the first bytes of the stream once I downloaded it to my HDD:

FLV.............;..........onMetaData.......source...STW MediaProxy v2.3.1.16282......F...ÉÿtmA......onCuePoint.......name...NowPlaying..parameters.......Album.....Artist...Trans Am..BuyNowURL.....IMGURL.....Label.....stw_cached....Time...246..Title...Shining Path..Type...ISONGS.....type...event......Ô.....7.B.../ÿûp`È..b+ßá&2Ø7!.ý.Æ%.TÓy¦.k@è.otS..¢aB..[Qf9©%·.%&ÚnQ.á#I.a...â.¼2.ÎzgÓÐ$.rPË14®.©$..j.Yø.Qu.%.]éußþß.¿ë..j.0.iBâ..PŸ«Ò×1:î.ªÆÓ..nÒ%$.¡$Ãt....ÇÁàÑ£ÇCg...8. ¢G..$É}Q©¶I.Êehcåµë4ÞQE.×bTFVË

comment:4 by reimar, 15 years ago

Resolution: invalid
Status: newclosed

Thanks for your report.
http://article.gmane.org/gmane.comp.video.ffmpeg.devel/96688
fixes it.
The problem here is that the flv header that indicates if the file has video, audio or both is not reliable, thus FFmpeg scans the file for video or audio data.
Above patch fixes its end condition so it only scans a reasonable portion of the file, as it is currently it tries to scan the whole file - for a live stream that means it hangs forever.
I am setting this to invalid, since the issue is in FFmpeg (e.g. ffplay behaves in the same way) - if you want feel free to report it to their bug tracker, but since I already sent a patch it should not be necessary.

comment:5 by zappacor@…, 15 years ago

(In reply to comment #2)

man... you rock!!! I didn't expect such a prompt answer, not to mention its solution!!!!.

I use to update mplayer and all its stuff on my PC from time, I'll close this ticket once your patch gets implemented. Unless you prefer to close it now.

Thank you very much,
Rolando.

comment:6 by zappacor@…, 14 years ago

Hi Reimar,

under Gentoo, latest ebuilds include:

  • media-video/ffmpeg

Latest version available: 0.5_p20373
Latest version installed: 0.5_p20373

  • media-video/mplayer

Latest version available: 1.0_rc4_p20091026-r1
Latest version installed: 1.0_rc4_p20091026-r1

and it now works fine!!!!

Thanks for your help, I'm closing the ticket,
Rolando.

comment:7 by reimar, 14 years ago

Since the patch was never applied I don't really know why it works now, I can't see any reason for it. Not that I am not happy it is fixed for you, it just makes no sense...

comment:8 by zappacor@…, 14 years ago

(In reply to comment #5)

Since the patch was never applied I don't really know why it works now, I can't
see any reason for it. Not that I am not happy it is fixed for you, it just
makes no sense...

Oupss... pretty strange. Do you want me to grab any information? If there is anything else I can do, please don't hesitate to tell me, OK?

Note: See TracTickets for help on using tickets.