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:
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 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 ... hw_params_ set_format( Signed 32 bit Little Endian) failed: Invalid argument hw_params_ set_format( Signed 32 bit Big Endian) failed: Invalid argument hw_params_ set_format( Float 32 bit Little Endian) failed: Invalid argument hw_params_ set_format( Float 32 bit Big Endian) failed: Invalid argument hw_params_ set_format( Signed 32 bit Little Endian) failed: Invalid argument hw_params_ set_format( Signed 32 bit Big Endian) failed: Invalid argument hw_params_ set_format( Signed 24 bit Little Endian) failed: Invalid argument hw_params_ set_format( Signed 24 bit Big Endian) failed: Invalid argument hw_params_ set_format( Signed 24 bit Little Endian in 3bytes) failed: Invalid argument hw_params_ set_format( Signed 24 bit Big Endian in 3bytes) failed: Invalid argument ac3-surround- 51). control. c: Invalid CTL a52:0
D: [pulseaudio] alsa-util.c: Managed to open a52:0
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
D: [pulseaudio] alsa-util.c: snd_pcm_
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-
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)
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' NO_AUTO_ FORMAT ... dts-surround- 51). control. c: Invalid CTL dca:0
D: [pulseaudio] alsa-util.c: Trying dca:0 with SND_PCM_
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-
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
I: [pulseaudio] (alsa-lib)
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 pcm.dca. aes1 0x82 pcm.dca. aes2 0x00 pcm.dca. aes3 0x02
defaults.
defaults.
defaults.
pcm.!dca {
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
@args.CARD {
ALSA_ IEC958_ CARD
ALSA_ PCM_CARD
ALSA_ CARD
@func refer
name defaults. pcm.iec958. card
type string
default {
@func getenv
vars [
]
default {
}
}
}
@args.DEV {
ALSA_ IEC958_ DEVICE
@func refer
name defaults. pcm.iec958. device
type integer
default {
@func igetenv
vars [
]
default {
}
}
}
@args.AES0 { pcm.dca. aes0
type integer
default {
@func refer
name defaults.
}
}
@args.AES1 { pcm.dca. aes1
type integer
default {
@func refer
name defaults.
}
}
@args.AES2 { pcm.dca. aes2
type integer
default {
@func refer
name defaults.
}
}
@args.AES3 { pcm.dca. aes3
type integer
default {
@func refer
name defaults.
}
}
type dca
"cards. "
@ func card_driver
card $CARD
".pcm. iec958. " $DEV ":"
"CARD= " $CARD ","
"AES0= " $AES0 ","
slave.pcm {
@func refer
name {
@func concat
strings [
{
}
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
hint { namehint. basic
show {
@func refer
name defaults.
}
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.