<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Monospace'; font-size:9pt; font-weight:400; font-style:normal;">
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">[0.27.5 on Fedora 22]</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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. </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">I've added the clause below to the end of /etc/pulse/default.pa and used pavucontrol to set duplexing.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    load-module module-alsa-sink device=hw:1,3</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    load-module module-combine-sink sink_name=combined</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    set-default-sink combined</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">But playback sound fails in two repeatable ways:</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Worse, is</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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. </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">So I have two questions:</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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. </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Any collected wisdom?</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">(user 1000 is mythtv)</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-size:12px; color:#000000; background-color:#ffffff;">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)</span><br /></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">-- </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">A little of Jerome's MythTV World: http://mythtv.bss.ab.ca</p></body></html>