Fix video playback if fie has no audio track

This commit is contained in:
Wojtek Figat
2024-05-10 13:16:07 +02:00
parent ffe5105602
commit 196aa020fd

View File

@@ -460,12 +460,12 @@ bool VideoBackendMF::Player_Create(const VideoBackendPlayerInfo& info, VideoBack
return true; return true;
} }
sourceReader->SetStreamSelection(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 1); sourceReader->SetStreamSelection(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 1);
sourceReader->SetStreamSelection(MF_SOURCE_READER_FIRST_AUDIO_STREAM, 1); bool hasAudio = sourceReader->SetStreamSelection(MF_SOURCE_READER_FIRST_AUDIO_STREAM, 1) == S_OK;
playerMF.SourceReader = sourceReader; playerMF.SourceReader = sourceReader;
// Read media info // Read media info
if (MF::Configure(player, playerMF, MF_SOURCE_READER_FIRST_VIDEO_STREAM) || if (MF::Configure(player, playerMF, MF_SOURCE_READER_FIRST_VIDEO_STREAM) ||
MF::Configure(player, playerMF, MF_SOURCE_READER_FIRST_AUDIO_STREAM)) hasAudio && MF::Configure(player, playerMF, MF_SOURCE_READER_FIRST_AUDIO_STREAM))
return true; return true;
PROPVARIANT var; PROPVARIANT var;
hr = sourceReader->GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_DURATION, &var); hr = sourceReader->GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_DURATION, &var);