mpv-player / mpv-player/mpv

Events Delay When Loading Many Instances From DLL

Open
#6,705 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:libmpv os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

I'm using MPV v0.29.1 on Windows 10, the DLL version via a .NET program.

I have created a usercontrol to display a MPV player in a .NET application. I will load 20 such controls at the same time to play 20 files in parallel.

Expected behavior: they should all start playing right away and each player have their state ready.

Current behavior: all files start playing right away, but the MediaLoaded event only gets fired for the first 8 files right away, then one MediaLoaded is triggered per second, so it takes 12 seconds until all controls are in a playing state. The file position however indicates that they were all playing from the start, because when the last file gets MediaLoaded, it shows the file is at 0:12.

I inserted some debug code to view how the events are triggered and it gave this.

11:29:02 AM - Idle
11:29:02 AM - PropertyChange
11:29:02 AM - StartFile
11:29:02 AM - Idle
11:29:02 AM - StartFile
11:29:02 AM - PropertyChange
11:29:02 AM - TracksChanged
11:29:02 AM - MetadataUpdate
11:29:02 AM - AudioReconfig
11:29:02 AM - FileLoaded
11:29:02 AM - TracksChanged
11:29:02 AM - Idle
11:29:02 AM - StartFile
11:29:02 AM - TracksChanged
11:29:02 AM - Idle
11:29:02 AM - MetadataUpdate
11:29:02 AM - MetadataUpdate
11:29:03 AM - PropertyChange
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - StartFile
11:29:03 AM - TracksChanged
11:29:03 AM - AudioReconfig
11:29:03 AM - MetadataUpdate
11:29:03 AM - FileLoaded
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - Idle
11:29:03 AM - StartFile
11:29:03 AM - PropertyChange
11:29:03 AM - Idle
11:29:03 AM - StartFile
11:29:03 AM - PropertyChange
11:29:03 AM - TracksChanged
11:29:03 AM - MetadataUpdate
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - Idle
11:29:03 AM - PropertyChange
11:29:03 AM - StartFile
11:29:03 AM - TracksChanged
11:29:03 AM - MetadataUpdate
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - TracksChanged
11:29:03 AM - MetadataUpdate
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - PlaybackRestart
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - Idle
11:29:03 AM - StartFile
11:29:03 AM - PlaybackRestart
11:29:03 AM - PropertyChange
11:29:03 AM - PlaybackRestart
11:29:03 AM - AudioReconfig
11:29:03 AM - PropertyChange
11:29:03 AM - AudioReconfig
11:29:03 AM - PlaybackRestart
11:29:03 AM - AudioReconfig
11:29:03 AM - PlaybackRestart
11:29:03 AM - PropertyChange
11:29:03 AM - TracksChanged
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PlaybackRestart
11:29:03 AM - MetadataUpdate
11:29:03 AM - PlaybackRestart
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - AudioReconfig
11:29:03 AM - FileLoaded
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - AudioReconfig
11:29:03 AM - AudioReconfig
11:29:03 AM - PlaybackRestart
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:03 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - Idle
11:29:04 AM - StartFile
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - TracksChanged
11:29:04 AM - MetadataUpdate
11:29:04 AM - AudioReconfig
11:29:04 AM - FileLoaded
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - AudioReconfig
11:29:04 AM - AudioReconfig
11:29:04 AM - PlaybackRestart
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:04 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - Idle
11:29:05 AM - StartFile
11:29:05 AM - TracksChanged
11:29:05 AM - MetadataUpdate
11:29:05 AM - AudioReconfig
11:29:05 AM - FileLoaded
11:29:05 AM - AudioReconfig
11:29:05 AM - AudioReconfig
11:29:05 AM - PlaybackRestart
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:05 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - Idle
11:29:06 AM - StartFile
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - TracksChanged
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - MetadataUpdate
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - AudioReconfig
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - FileLoaded
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - AudioReconfig
11:29:06 AM - PropertyChange
11:29:06 AM - AudioReconfig
11:29:06 AM - PlaybackRestart
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:06 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - Idle
11:29:07 AM - StartFile
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - TracksChanged
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - MetadataUpdate
11:29:07 AM - AudioReconfig
11:29:07 AM - PropertyChange
11:29:07 AM - FileLoaded
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - AudioReconfig
11:29:07 AM - AudioReconfig
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
11:29:07 AM - PropertyChange
...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the report with mpv v0.29.1 on Windows 10 through the DLL from a .NET program, loading 20 controls concurrently. Trace the FileLoaded and related event delivery around the DLL boundary and compare event timing with playback position. Done means the cause of delayed events is identified and a focused regression test or reproducible validation is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.