By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 2844

Summary: Libarts1-mpleglib-trinity audio backend doesn't work correctly
Product: TDE Reporter: Q4OS Team <q4os>
Component: artsAssignee: Michele Calgaro <michele.calgaro>
Status: RESOLVED FIXED    
Severity: normal CC: bugwatch, michele.calgaro, q4os, slavek.banko
Priority: P5    
Version: R14.0.x [Trinity]   
Hardware: Other   
OS: Linux   
See Also: http://bugs.pearsoncomputing.net/show_bug.cgi?id=2098
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2696    

Description Q4OS Team 2017-11-12 13:46:53 CST
If I remove audio backends "libarts1-akode-trinity libarts1-xine-trinity", and let "libarts1-mpleglib-trinity" backend to play audio, arts server doesn't suspend itself and stays permanently busy. I have been able to reliably reproduce this bug on real machines as well as in Virtualbox.

Exact steps to reproduce:
- Fresh TDE preliminary stable (14.0.5) installation on Debian Stretch
- Remove "libarts1-akode-trinity libarts1-xine-trinity" packages,
    "sudo apt-get remove libarts1-akode-trinity libarts1-xine-trinity"
- Reboot.
- Bug: watch "artsshell status" in terminal, arts server doesn't autosuspend, but stays busy permanently
Comment 1 Michele Calgaro 2018-04-24 01:37:02 CDT
I can't reproduce this problem on my system (buster + R14.1).
I will have to try using Stretch + R14.0.5 and see what happens.

Is this still happening?
Comment 2 Q4OS Team 2018-04-24 04:32:16 CDT
Checked on Stretch + R14.0.5 - still happening
Comment 3 Michele Calgaro 2018-04-26 01:45:00 CDT
ok noted, thanks.
Comment 4 Michele Calgaro 2018-05-16 17:24:02 CDT
Ok, I am able to reproduce the problem on a newly installed debian buster + R14.0.5 or R14.1.0 preliminary builds from Slavek repo.
Also I noticed that stopping and restarting the sound system from the TDE control panel seems to be a temporary workaround. Server correctly suspend after that.

I will see what I can find.
Comment 5 Michele Calgaro 2018-06-05 04:39:10 CDT
This bug is a lot of work :-)

When libarts1-akode-trinity is installed, the akodeXiph plugin is used to play the initial login sound. When the play is over, the plugin is discarded and the soundserver can enter the suspend procedure.
When libarts1-akode-trinity is not installed, the vorbis plugin is used to play the same sound. The problem is that the plugin is an empty one (OGG_VORBIS is not defined) and the plugin is never terminated, resulting in the soundserver being always busy.

Haven't fixed it yet, but progressing. Hard bug though.
Comment 6 Michele Calgaro 2018-06-05 04:41:16 CDT
> Also I noticed that stopping and restarting the sound system from the TDE control
> panel seems to be a temporary workaround. Server correctly suspend after that.
This was because stopping the server discards everything and after restarting there was no ogg file to play.
Trying to play an ogg file with artsplay would cause the same issue. 
So it wasn't really a workaround :-)
Comment 7 Michele Calgaro 2018-06-07 09:40:24 CDT
Commits de90838 (R14.1) and 53bd3f3 (R14.0) fixed the problem with autosuspend.
The problem was caused by a wrong implementation of the Nuke plugin, which was not using the output stream correctly, thus preventing the sound server from autosuspending.

OGG files are not played though (or better they are nuked) since the vorbis ogg plugin is compiled as nuke plugin although all required dependencies were installed. Therefore there is more to do with this bug, to understand why the vorbis plugin is not compiled correctly. Perhaps something lost in the cmake conversion of tdemultimedia...
Comment 8 Michele Calgaro 2018-06-07 09:41:28 CDT
@Q4OS team
Please test and let me know if the problem is solved on your side too. I tested on my VM and it is now ok, except what mentioned about the vorbis plugin.
Comment 9 Slávek Banko 2018-06-07 10:33:22 CDT
It seems that in a discussion with Michele we found the reason why ogg plugin in mpeglib is not properly built with CMake - fix should be available soon.
Comment 10 Michele Calgaro 2018-06-08 09:38:12 CDT
The latest commits from Slavek fixed the problem with the Vorbis OGG plugin.
I have tested in a VM (debian buster/TDE 14.1) and now ogg files play fine in the environment described.

@Q4OS
please test and let us know if everything is ok on your side too. If so, this bug can be closed.
Comment 11 Q4OS Team 2018-06-09 04:06:36 CDT
I am not able to reproduce this bug anymore, Debian Sretch, TDE R14.0.5 development. I have tried to run artsplay on a few .ogg and .wav files, arts server plays and autosuspends just fine. Great job, thanks.