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.