[vlc-devel] [vlc-commits] OSS: rewrite and update to OSSv4

Fabian Keil freebsd-listen at fabiankeil.de
Tue Jul 24 00:55:33 CEST 2012


"Rémi Denis-Courmont" <remi at remlab.net> wrote:

> Le dimanche 22 juillet 2012 18:03:39 Rémi Denis-Courmont, vous avez écrit :
> > vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Jul 22
> > 18:00:14 2012 +0300| [0856919923225c4335a3663ee43c07347584839e] |
> > committer: Rémi Denis-Courmont
> > 
> > OSS: rewrite and update to OSSv4
> 
> This breaks compilation with "unofficial" OSS implementations.
> 
> Notably OSS in the Linux kernel lacks delay estimates, which is required for 
> A/V sync. This is not normally a problem since OSS is disabled by default on 
> Linux. I'd advise against enabling it unless you have installed OSSv4.

I noticed a regression with DVD playback on FreeBSD 10.0-CURRENT amd64.
On most DVDs the sound is completely gone. grepping the vlc -vv output for audio:

[0x802475d58] main playlist debug: creating audio output
[0x803889258] main audio output debug: looking for audio output module: 1 candidate
[0x803889258] oss audio output debug: using OSS device: /dev/dsp
[0x803889258] oss audio output debug: using FreeBSD native OSS ABI version 1000015 (0x040000) under BSD
[0x803889258] main audio output debug: using audio output module "oss"
[0x803889258] main audio output debug: output 's16l' 48000 Hz Stereo frame=1 samples/4 bytes
[0x803889258] main audio output debug: mixer 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes
[0x803889258] main audio output debug: filter(s) 'f32l'->'s16l' 48000 Hz->48000 Hz Stereo->Stereo
[0x8038cf458] main audio filter debug: looking for audio filter module: 10 candidates
[0x8038cf458] audio_format audio filter debug: f32l->s16l, bits per sample: 32->16
[0x8038cf458] main audio filter debug: using audio filter module "audio_format"
[0x803889258] main audio output debug: conversion pipeline completed
[0x80389b118] main volume debug: looking for audio volume module: 2 candidates
[0x80389b118] main volume debug: using audio volume module "float32_mixer"
[0x803889258] main audio output debug: input 'a52 ' 48000 Hz Stereo frame=1536 samples/768 bytes
[0x8038cf858] main audio filter debug: looking for audio filter module: 1 candidate
[0x8038cf858] scaletempo audio filter debug: format: 48000 rate, 2 nch, 4 bps, fl32
[0x8038cf858] scaletempo audio filter debug: params: 30 stride, 0.200 overlap, 14 search
[0x8038cf858] scaletempo audio filter debug: 1.000 scale, 1440.000 stride_in, 1440 stride_out, 1152 standing, 288 overlap, 672 search, 2400 queue, fl32 mode
[0x8038cf858] main audio filter debug: using audio filter module "scaletempo"
[0x803889258] main audio output debug: filter(s) 'a52 '->'f32l' 48000 Hz->48000 Hz Stereo->Stereo
[0x8038cfc58] main audio filter debug: looking for audio filter module: 10 candidates
[0x8038cfc58] main audio filter debug: using audio filter module "a52tofloat32"
[0x803889258] main audio output debug: conversion pipeline completed
[0x803889258] main audio output debug: filter(s) 'f32l'->'f32l' 48000 Hz->48000 Hz Stereo->Stereo
[0x803889258] main audio output debug: conversion pipeline completed
[0x803889258] main audio output debug: filter(s) 'f32l'->'f32l' 52800 Hz->48000 Hz Stereo->Stereo
[0x8038d0058] main audio filter debug: looking for audio resampler module: 2 candidates
[0x8038d0058] main audio filter debug: using audio resampler module "speex_resampler"
[0x803889258] main audio output debug: conversion pipeline completed
[0x803889258] main audio output warning: not synchronized (-322707 us), resampling
[0x803889258] main audio output warning: buffer way too early (-322707), clearing queue
[0x803889258] main audio output warning: not synchronized (-317706 us), resampling
[0x803889258] main audio output warning: buffer way too early (-317706), clearing queue
[0x803889258] main audio output warning: not synchronized (-312708 us), resampling
[0x803889258] main audio output warning: buffer way too early (-312708), clearing queue
[0x803889258] main audio output warning: not synchronized (-307703 us), resampling
[0x803889258] main audio output warning: buffer way too early (-307703), clearing queue
[0x803889258] main audio output warning: not synchronized (-301709 us), resampling
[0x803889258] main audio output warning: buffer way too early (-301709), clearing queue
[0x803889258] main audio output warning: not synchronized (-297710 us), resampling
[0x803889258] main audio output warning: buffer way too early (-297710), clearing queue
[0x803889258] main audio output warning: not synchronized (-291705 us), resampling
[0x803889258] main audio output warning: buffer way too early (-291705), clearing queue
[0x803889258] main audio output warning: not synchronized (-286048 us), resampling
[0x803889258] main audio output warning: buffer way too early (-286048), clearing queue
[0x803889258] main audio output warning: not synchronized (-285046 us), resampling
[0x803889258] main audio output warning: buffer way too early (-285046), clearing queue
[0x803889258] main audio output warning: not synchronized (-283040 us), resampling
[0x803889258] main audio output warning: buffer way too early (-283040), clearing queue
[0x803889258] main audio output warning: not synchronized (-273048 us), resampling
[0x803889258] main audio output warning: buffer way too early (-273048), clearing queue
[0x803889258] main audio output warning: not synchronized (-272045 us), resampling
[0x803889258] main audio output warning: buffer way too early (-272045), clearing queue
[0x803889258] main audio output warning: not synchronized (-269379 us), resampling
[0x803889258] main audio output warning: buffer way too early (-269379), clearing queue
[0x803889258] main audio output warning: not synchronized (-257381 us), resampling
[0x803889258] main audio output warning: buffer way too early (-257381), clearing queue
[0x803889258] main audio output warning: not synchronized (-255713 us), resampling
[0x803889258] main audio output warning: buffer way too early (-255713), clearing queue
[0x803889258] main audio output warning: not synchronized (-243027 us), resampling
[0x803889258] main audio output warning: buffer way too early (-243027), clearing queue
[0x803889258] main audio output warning: not synchronized (-241377 us), resampling
[0x803889258] main audio output warning: buffer way too early (-241377), clearing queue
[0x803889258] main audio output warning: not synchronized (-239372 us), resampling
[0x803889258] main audio output warning: buffer way too early (-239372), clearing queue
[0x803889258] main audio output warning: not synchronized (-230715 us), resampling
[0x803889258] main audio output warning: buffer way too early (-230715), clearing queue
[0x803889258] main audio output warning: not synchronized (-229045 us), resampling
[0x803889258] main audio output warning: buffer way too early (-229045), clearing queue
[0x803889258] main audio output warning: not synchronized (-226373 us), resampling
[0x803889258] main audio output warning: buffer way too early (-226373), clearing queue
[0x803889258] main audio output warning: not synchronized (-224374 us), resampling
[0x803889258] oss audio output error: cannot write samples: Invalid argument
[the previous line is then repeated constantly]

I tested a couple of DVDs and most of them trigger the issue above.

For one (Existenz) three out of four audio streams work, but it's not
obvious to me what makes the fourth special. All are AC3.

On South Park Season 1 DVDs the sound for the episodes no longer works,
for Season 2 DVDs it does. The Codec information is the same (A52 Audio,
Stereo, 48000 Hz, 192 kb/s).

I tested a couple of non-DVD files that all worked as expected:
Ogg Vorbis 44.1 kHz, mp3 44.1 kHz, mp4a 48 kHz, mpga 22050 Hz.

If necessary, I can probably do some more tests tomorrow.

Reverting the 0SS changes starting with 0856919923225c43 works around the issue.

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20120724/dc021e1a/attachment.sig>


More information about the vlc-devel mailing list