Startup movies won't play if there's no sound device available

Hello all,
I’ve just noticed this and it seems like a bug so I’ve decided to report it here. Hopefully this is the proper place and format :slight_smile:

Hey v0j4,

Thank you for reporting this issue. I have a few questions you could answer to help me troubleshoot.

  • When you say no sound device, what are you referring to? i.e. Headphones, Speakers, or actual Sound Card?
  • Have you tried testing this issue in 4.10.2 to see if it still occurs there?
  • Can you confirm it is directly related to not having a sound device? i.e. Do the movies play properly when there is a sound device?

Thank you,

Sorry for not being clearer. A sound card is available but no active playback devices are enabled (not plugged in). I’ve included a screenshot to better explain the configuration:

76850-untitled.png

As soon as I plug in headphones or speakers or anything, the videos play without a problem.

I’ve just tested it on 4.10.2 and the behavior is the same as in 4.9.2

Thank you for the clarification. I was able to test and confirm what you are reporting and have entered an official bug report for the issue.

UE-26269

Once the bug has been fixed it will be integrated into an upcoming full release or hotfix and added to the list of known and fixed issues for the associated release. For now, I would just make sure the audio devices are enabled, and you have added the ability to skip the movies upon startup.

Cheers,

(I copied my post from this thread here as well)

Hi,
we also encounter that issue. It is actually more severe on Win10, because the OS will react on if you have a headphone or speaker plugged in or not. And if not it will disable the Default Audio Device. Which leads to the awkward behavior that you only can start the game if you have a headphone plugged in.

I was looking into the code and it seems the perfect place to check for this would be in WindowsMovieStreamer.cpp
in the function FVideoPlayer::AddStreamToTopology(…)
There is the condition : if (MajorType == MFMediaType_Audio)
Within a static function check like this would be good (like it is done for the HeadMountedDisplay):

if (FUnrealAudioModule::IsDefaultAudioDeviceAvailable() == false)
{
  return OutDimensions; // do not add the audio stream because there is no device available
}

But currently there is no IsDefaultAudioDeviceAvailable. I was trying to add one by myself but the problem is that this early in the game there is no GWorld and no GEngine so, no access to the Unreal AudioDevice. To fix that would need some Win-API coding … probably better if Epic would do this :wink:

Is there a fix for this issue yet? It still exists on 4.13.1

A fix has been made that will likely be in 4.22
It also fixes an issue where the startup movie playback freezes if audio device is disabled mid playback.