View Issue Details

IDProjectCategoryView StatusLast Update
0014326MMW 5Generalpublic2017-08-08 21:47
Reporterpeke Assigned To 
PriorityhighSeveritytweakReproducibilityalways
Status assignedResolutionopen 
Summary0014326: WASAPI/DirectSound: Device Change issue and Auto Playback resume feature
DescriptionEven 0012041 worked correctly some users experiencing issues with MMW that other apps do not observe.

1. DSound If device gets changed for some reason DSound plugin sometimes 1 in 20 either starts to gray tracks or throw error in MMW exe. Exact trigger is unknown but it happen after Sleep and/or after USB headphones disconnections/connection (if you try to recreate steps it can't be reproduced)

2. WASAPI have not observe such issue due the better reporting after 0012041 fix was made. MMW on install should propose switching to WASAPI if OS permits and DSound was selected

3. If current playback device lost/changed MMW should Automatically restart and resume playback so that new choice is used and if there was playback issues (gray tracks happen) stop playback showing Dialog "No Audio output found. Restart MediaMonkey"

4. Video playback of Audio still observes 0012041 and crashes MMW and it behave same as DSound/WASAPI

NOTE: Restarting MMW (either by killing task or closing) if "Default device" is selected always fix playback issue.
Additional InformationTICKET ID XKY-301-64043
TagsNo tags attached.
Fixed in build

Relationships

related to 0012041 closedLudek MMW v4 WASAPI: Device Change Detection 
related to 0006469 closedLudek MMW v4 Make WASAPI output plug-in default, with a fall-back to DS 
related to 0007904 newjiri MMW 5 Implement smoother playback during tagging 

Activities

Ludek

2017-08-02 12:17

developer   ~0048440

Peke, what was the workaround fix re XKY-301-64043 ?
Was it switching output plugin from DirectSound to WASAPI ?

Re the fallback from DS to WASAPI, do you have a debug log of the failed playback so that we correctly detect the situation and perfrom the fallback?

Ludek

2017-08-02 18:15

developer   ~0048445

Peke's answer via IM:
--------------------------------
Re Ticket ID: XKY-301-64043: Direct sound plugin much slower report device disconnection than WASAPI and in some cases device is still available in list but not physically (user simply use switch to turn off Pioneer DDJ Mixer DAC) where MMW go thru all tracks and gray them until Windows report device is not available. Restart of MMW fixes the problem. WASAPI on the other hand works as it is faster so it stops playback on even and restarting just works.
That is why Added it as Tweak not a bug.
Only issue is that I see is with video playback. you should be able to replicate using HDMI output on your LG and in the middle of playback just unplug TV.
No debug logs unfortunately.

Ludek

2017-08-02 18:29

developer   ~0048446

Last edited: 2017-08-02 18:39

From what I see we already implemented WASAPI as default output plugin with WASAPI > DS fallback but reverted it (0006469), the reason for the revert is not clear from Mantis though. There is only Jiri's note 0006469:0025795. Maybe the reason was 0007904 ??

peke

2017-08-03 00:11

developer   ~0048451

Last edited: 2017-08-03 00:16

Created #14329 for MM5 in order to join both plugins into one.

Reading related bugs for MMW 4.x I would only fix that in both DSound and WASAPI if any change for Default Audio Device in Windows (default and most common selection) MM stops playback -> Reinit playback device and restore playback state/Continue playback (same behavior is in MMA when Audio output is interrupted by BT connection lost 0014088).

rusty

2017-08-03 05:02

administrator   ~0048452

iirc, the reason for reverting was that a significant number of users were experiencing playback problems. e.g.:
http://www.mediamonkey.com/forum/viewtopic.php?f=6&t=59836

There were some issues re. handling of non-pcm audio, others re. clicks/artifacts when tagging, and I think there might have been problems with certain dacs.

jiri

2017-08-04 14:06

administrator   ~0048458

It seems that one of the main reasons for this switch was 0007904. I'd try to fix this one first and after that we could try to make WASAPI the default plugin and based on users' reports decide whether it's ok this way. Any other idea?

rusty

2017-08-04 21:17

administrator   ~0048463

Sounds good, if you think that wasapi is a better path for the long term.

jiri

2017-08-04 21:44

administrator   ~0048467

Leaving open to be resolved when 0007904 is.