YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
26 stars 8 forks source link

Ubuntu 22: sound preview is not working in IDE #7545

Open gnysek opened 2 months ago

gnysek commented 2 months ago

Description

Sound preview is not working in Ubuntu 22.04 anymore.

I have ffmpeg 6.1.2 + libmp3lame-dev installed, among with other 2024.8 new requirements for Ubuntu 22.04.

Steps To Reproduce

  1. Try to preview any sound asset in IDE
  2. Hear no sound (and there's no progression shown too)
  3. There's no errors in ui.log about that

Which version of GameMaker are you reporting this issue for?

IDE v2024.800.0.618 Runtime v2024.800.0.642

Which operating system(s) are you seeing the problem on?

Linux Ubuntu 22.04.4 LTS kernel 6.8.0.40

d597267e-f1a3-46e2-b3d2-ea6b0dd3ee4b

gnysek commented 2 months ago

I've found some log in log.ui, but I'm not sure if it's connected in any way, as it occurs only once, while I've tried to play any sounds much more times:

[11:35:15:748(1977)] Unhandled Exception: System.InvalidOperationException
[11:35:15:748(1977)] Exception message: An attempt was made to transition a task to a final state when it had already completed.
[11:35:15:757(1977)] Exception stack:    at System.Threading.Tasks.TaskCompletionSource`1.SetResult(TResult result)
   at YoYoStudio.Sound.FFMpegAudioStream.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
   at YoYoStudio.Sound.FFMpegAudioStream.SetProperty[T](T& property, T value, String propertyName)
   at YoYoStudio.Sound.FFMpegAudioStream.set_HasRetrievedProperties(Boolean value)
   at YoYoStudio.Sound.FFMpegAudioStream.<RetrieveAudioStreamProperties>b__79_0(Object s, EventArgs e)
   at System.Diagnostics.Process.RaiseOnExited()
   at System.Diagnostics.Process.CompletionCallback(Object waitHandleContext, Boolean wasSignaled)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.PortableThreadPool.CompleteWait(RegisteredWaitHandle handle, Boolean timedOut)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
stuckie commented 1 month ago

That above callstack is the same as #7657