[mythtv-users] MythTV, PulseAudio, analog+HDMI output
Jerome Yuzyk
jerome at supernet.ab.ca
Fri Jan 29 02:13:37 UTC 2016
[0.27.5 on Fedora 22]
For the last 2 months I've used PulseAudio to send MythFrontend sound over analog and HDMI to 2 separate monitors, and it's mostly worked.
I've added the clause below to the end of /etc/pulse/default.pa and used pavucontrol to set duplexing.
load-module module-alsa-sink device=hw:1,3
load-module module-combine-sink sink_name=combined
set-default-sink combined
But playback sound fails in two repeatable ways:
1 - Often the start of playback either stutters or the HDMI output is slightly delayed, until the two outputs "catch up" to something. It's like playback can't fill a buffer fast enough, but within a minute or so the buffer is filled and sound is normal after that. A trifle, but noticeable and probably not what should happen.
Worse, is
2- Randomly I get a PulseAudio coredump and the frontend goes into fast-forward. I back out of playback and PA restarts itself and I can continue. There appears to be no pattern to when it does this. There's a sample dump below, in case anyone recognizes anything. Again, not a severe problem but having to find my place 2/3 into a 3-hour hockey game is annoying.
So I have two questions:
1 - Could I be doing something to get PulseAudio to behave better? I just upgraded my Fedora 22 but it didn't include a PA update.
2 - How could I drop PulseAudio and just use ALSA? I only run MythTV on the machine so I probably don't need all the whiz-bang that PA can do. It seems like ALSA could do what I need but I haven't been able to understand what I should do from examples I've Googled.
Any collected wisdom?
(user 1000 is mythtv)
Jan 24 17:10:09 tv systemd-coredump: Process 21705 (pulseaudio) of user 1000 dumped core.#012#012Stack trace of thread 21708:#012#0 0x00007f85d99829c8 raise (libc.so.6)#012#1 0x00007f85d998465a abort (libc.so.6)#012#2 0x00007f85db1aea2d pa_sink_render_into (libpulsecore-6.0.so)#012#3 0x00007f85db1aee1f pa_sink_render_into_full (libpulsecore-6.0.so)#012#4 0x00007f85cc3c0d2a thread_func (libalsa-util.so)#012#5 0x00007f85daf396a8 internal_thread_func (libpulsecommon-6.0.so)#012#6 0x00007f85da429555 start_thread (libpthread.so.0)#012#7 0x00007f85d9a50b9d __clone (libc.so.6)#012#012Stack trace of thread 21712:#012#0 0x00007f85d9a453c1 ppoll (libc.so.6)#012#1 0x00007f85db19a2b7 pa_rtpoll_run (libpulsecore-6.0.so)#012#2 0x00007f85bcbb3451 thread_func (module-combine-sink.so)#012#3 0x00007f85daf396a8 internal_thread_func (libpulsecommon-6.0.so)#012#4 0x00007f85da429555 start_thread (libpthread.so.0)#012#5 0x00007f85d9a50b9d __clone (libc.so.6)#012#012Stack trace of thread 21709:#012#0 0x00007f85d9a453c1 ppoll (libc.so.6)#012#1 0x00007f85db19a2b7 pa_rtpoll_run (libpulsecore-6.0.so)#012#2 0x00007f85cc3c08a6 thread_func (libalsa-util.so)#012#3 0x00007f85daf396a8 internal_thread_func (libpulsecommon-6.0.so)#012#4 0x00007f85da429555 start_thread (libpthread.so.0)#012#5 0x00007f85d9a50b9d __clone (libc.so.6)#012#012Stack trace of thread 21711:#012#0 0x00007f85d99cc4d8 malloc_consolidate (libc.so.6)#012#1 0x00007f85d99cebfd _int_malloc (libc.so.6)#012#2 0x00007f85d99d146e malloc (libc.so.6)#012#3 0x00007f85d996f7fc __gconv_open (libc.so.6)#012#4 0x00007f85d996f20a iconv_open (libc.so.6)#012#5 0x00007f85daf01d77 iconv_simple (libpulsecommon-6.0.so)#012#6 0x00007f85daf1ae3b log_syslog (libpulsecommon-6.0.so)#012#7 0x00007f85daf1bb0b pa_log_levelv_meta (libpulsecommon-6.0.so)#012#8 0x00007f85daf1b155 pa_log_level_meta (libpulsecommon-6.0.so)#012#9 0x00007f85db1aea24 pa_sink_render_into (libpulsecore-6.0.so)#012#10 0x00007f85db1aee1f pa_sink_render_into_full (libpulsecore-6.0.so)#012#11 0x00007f85cc3c0d2a thread_func (libalsa-util.so)#012#12 0x00007f85daf396a8 internal_thread_func (libpulsecommon-6.0.so)#012#13 0x00007f85da429555 start_thread (libpthread.so.0)#012#14 0x00007f85d9a50b9d __clone (libc.so.6)#012#012Stack trace of thread 21710:#012#0 0x00007f85d9a453c1 ppoll (libc.so.6)#012#1 0x00007f85db19a2b7 pa_rtpoll_run (libpulsecore-6.0.so)#012#2 0x00007f85cc3c724a thread_func (libalsa-util.so)#012#3 0x00007f85daf396a8 internal_thread_func (libpulsecommon-6.0.so)#012#4 0x00007f85da429555 start_thread (libpthread.so.0)#012#5 0x00007f85d9a50b9d __clone (libc.so.6)#012#012Stack trace of thread 21705:#012#0 0x00007f85d99cf750 _int_malloc (libc.so.6)#012#1 0x00007f85d99d2d04 __libc_calloc (libc.so.6)#012#2 0x00007f85daeffbff pa_xmalloc0 (libpulsecommon-6.0.so)#012#3 0x00007f85daf15b46 pa_idxset_new (libpulsecommon-6.0.so)#012#4 0x00007f85db1b70a7 pa_sink_get_formats (libpulsecore-6.0.so)#012#5 0x00007f85cd509506 sink_fill_tagstruct (libprotocol-native.so)#012#6 0x00007f85cd510479 command_get_info (libprotocol-native.so)#012#7 0x00007f85daf24c4a pa_pdispatch_run (libpulsecommon-6.0.so)#012#8 0x00007f85cd5149e5 pstream_packet_callback (libprotocol-native.so)#012#9 0x00007f85daf2754f do_read (libpulsecommon-6.0.so)#012#10 0x00007f85daf29c64 do_pstream_read_write (libpulsecommon-6.0.so)#012#11 0x00007f85dacbb087 pa_mainloop_dispatch (libpulse.so.0)#012#12 0x00007f85dacbb48c pa_mainloop_iterate (libpulse.so.0)#012#13 0x00007f85dacbb530 pa_mainloop_run (libpulse.so.0)#012#14 0x000055e87cd581d9 main (pulseaudio)#012#15 0x00007f85d996e700 __libc_start_main (libc.so.6)#012#16 0x000055e87cd58d79 _start (pulseaudio)
--
A little of Jerome's MythTV World: http://mythtv.bss.ab.ca
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20160128/b47ab800/attachment.html>
More information about the mythtv-users
mailing list