Thanks for giving attention to my problem.
The hardware decoder is integrated in the logitech Z-5500 speakers. I
don't have knowledge of any specific limit on the amount of data. There
is however information regarding a maximum hw buffer size on the
pulseaudio logs:
D: [pulseaudio] alsa-util.c: Trying a52:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open a52:0
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Little
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Big
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Little
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 32 bit Big
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Little
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Big
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Little
Endian in 3bytes) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Big
Endian in 3bytes) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 320 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 3840 samples), period
size second (to 480 samples).
I: [pulseaudio] alsa-util.c: Device a52:0 doesn't support sample format s32le,
changed to s16le.
I: [pulseaudio] alsa-sink.c: Successfully opened device a52:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Digital Surround 5.1
(IEC958/AC3)' (iec958-ac3-surround-51).
I: [pulseaudio] alsa-sink.c: Cannot enable timer-based scheduling, falling back
to sound IRQ scheduling.
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] (alsa-lib)control.c: Invalid CTL a52:0
I: [pulseaudio] alsa-util.c: Unable to attach to mixer a52:0: No such file or
directory
I: [pulseaudio] alsa-sink.c: Failed to find a working mixer device.
The dca plugin reports the same number of samples. Here is what I get
from the dca plugin (heavier cpu usage):
D: [pulseaudio] reserve-wrap.c: Successfully create reservation lock monitor
for device 'Audio0'
D: [pulseaudio] alsa-util.c: Trying dca:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open dca:0
I: [pulseaudio] alsa-util.c: Trying to disable ALSA period wakeups, using
timers only
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 96000 samples), period
size second (to 96000 samples).
I: [pulseaudio] alsa-util.c: ALSA period wakeups disabled
I: [pulseaudio] alsa-sink.c: Successfully opened device dca:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Digital Surround 5.1
(IEC958/DTS)' (iec958-dts-surround-51).
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
I: [pulseaudio] (alsa-lib)control.c: Invalid CTL dca:0
I: [pulseaudio] alsa-util.c: Unable to attach to mixer dca:0: No such file or
directory
I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:0'
Note that the dca plugin finds mixer 'hw:0' while the a52 plugin
doesn't. The dca.conf file is also a lot different from the a52.conf
file. Here is the dca.conf:
defaults.pcm.dca.aes0 0x06
defaults.pcm.dca.aes1 0x82
defaults.pcm.dca.aes2 0x00
defaults.pcm.dca.aes3 0x02
pcm.!dca {
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_IEC958_CARD
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.iec958.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_IEC958_DEVICE
]
default {
@func refer
name defaults.pcm.iec958.device
}
}
}
@args.AES0 {
type integer
default {
@func refer
name defaults.pcm.dca.aes0
}
}
@args.AES1 {
type integer
default {
@func refer
name defaults.pcm.dca.aes1
}
}
@args.AES2 {
type integer
default {
@func refer
name defaults.pcm.dca.aes2
}
}
@args.AES3 {
type integer
default {
@func refer
name defaults.pcm.dca.aes3
}
}
type dca
slave.pcm {
@func refer
name {
@func concat
strings [
"cards."
{
@func card_driver
card $CARD
}
".pcm.iec958." $DEV ":"
"CARD=" $CARD ","
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
hint {
show {
@func refer
name defaults.namehint.basic
}
description "DTS Encoding through IEC958 (S/PDIF)"
device $DEV
}
}
I haven't written these files. The developers did.
I could try an a52.conf file identical to this one. But it might not
work. It will depend of what the a52 plugin accepts. Anyway I will try
it. I will keep you posted.
Thanks again.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to pulseaudio in Ubuntu.
https://bugs.launchpad.net/bugs/1188425
Title:
Audio breaks up and pulseaudio eventually crashes with Alsa a52 (ac3)
plugin (Ubuntu 13.04)
Status in “pulseaudio” package in Ubuntu:
New
Bug description:
I am encoding all audio in AC3 and sending it to my Logitech Z-5500
speakers through the SPDIF out jack on my laptop. Audio works fine for
a while until it breaks up randomly and pulseaudio eventually crashes.
By looking to the pulseaudio logs one can see some buffer underruns. I
also tested with the 3.9.4 mainline kernel though I am not sure this
issue is driver related. The result is always the same! I have this in
/usr/share/alsa/alsa.conf.d/a52.conf
pcm.a52 {
@args [CARD]
@args.CARD {
type string
}
type rate
slave {
pcm {
type a52
format S16_LE # S16_LE, S16_BE
channels 6 # 2, 4, 6
bitrate 640 # 192, 224, 256, 320, 384, 448, 512, 576,
640
card $CARD
}
rate 48000 # 44100, 48000
}
}
One other thing I tried was the dcaenc-2 alsa plugin from this web
page http://aepatrakov.narod.ru/index/0-2 and this plugin appears to
not have the same problem. The disadvantage of the dca plugin is that
it needs a lot more processing power! So I would prefer the a52 plugin
if it worked flawlessly.
These are the answers to the first two questions:
1)
Ubuntu 13.04
2)
libasound2-plugins-extra:
Installed: 1.0.25-2ubuntu3
Candidate: 1.0.25-2ubuntu3
Version table:
*** 1.0.25-2ubuntu3 0
500 http://pt.archive.ubuntu.com/ubuntu/ raring/universe amd64
Packages
100 /var/lib/dpkg/status
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1188425/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp