Skip to content

Commit 4024860

Browse files
committed
Fix up error reporting for VideoTexture
1 parent 398f16a commit 4024860

File tree

3 files changed

+37
-16
lines changed

3 files changed

+37
-16
lines changed

PCSamples/Graphics/VideoTexturePC12/MediaEnginePlayer.cpp

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -315,15 +315,22 @@ void MediaEnginePlayer::OnMediaEngineEvent(uint32_t meEvent)
315315
break;
316316

317317
case MF_MEDIA_ENGINE_EVENT_ERROR:
318-
#ifdef _DEBUG
318+
#ifdef _DEBUG
319319
if (m_mediaEngine)
320320
{
321321
ComPtr<IMFMediaError> error;
322-
m_mediaEngine->GetError(&error);
323-
USHORT errorCode = error->GetErrorCode();
324-
char buff[128] = {};
325-
sprintf_s(buff, "ERROR: Media Foundation Event Error %u", errorCode);
326-
OutputDebugStringA(buff);
322+
if (SUCCEEDED(m_mediaEngine->GetError(&error)))
323+
{
324+
USHORT errorCode = error->GetErrorCode();
325+
HRESULT hr = error->GetExtendedErrorCode();
326+
char buff[128] = {};
327+
sprintf_s(buff, "ERROR: Media Foundation Event Error %u (%08X)\n", errorCode, static_cast<unsigned int>(hr));
328+
OutputDebugStringA(buff);
329+
}
330+
else
331+
{
332+
OutputDebugStringA("ERROR: Media Foundation Event Error *FAILED GetError*\n");
333+
}
327334
}
328335
#endif
329336
break;

UWPSamples/Graphics/VideoTextureUWP/MediaEnginePlayer.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,11 +283,18 @@ void MediaEnginePlayer::OnMediaEngineEvent(uint32_t meEvent)
283283
if (m_mediaEngine)
284284
{
285285
ComPtr<IMFMediaError> error;
286-
m_mediaEngine->GetError(&error);
287-
USHORT errorCode = error->GetErrorCode();
288-
char buff[128] = {};
289-
sprintf_s(buff, "ERROR: Media Foundation Event Error %u", errorCode);
290-
OutputDebugStringA(buff);
286+
if (SUCCEEDED(m_mediaEngine->GetError(&error)))
287+
{
288+
USHORT errorCode = error->GetErrorCode();
289+
HRESULT hr = error->GetExtendedErrorCode();
290+
char buff[128] = {};
291+
sprintf_s(buff, "ERROR: Media Foundation Event Error %u (%08X)\n", errorCode, static_cast<unsigned int>(hr));
292+
OutputDebugStringA(buff);
293+
}
294+
else
295+
{
296+
OutputDebugStringA("ERROR: Media Foundation Event Error *FAILED GetError*\n");
297+
}
291298
}
292299
#endif
293300
break;

UWPSamples/Graphics/VideoTextureUWP12/MediaEnginePlayer.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,18 @@ void MediaEnginePlayer::OnMediaEngineEvent(uint32_t meEvent)
319319
if (m_mediaEngine)
320320
{
321321
ComPtr<IMFMediaError> error;
322-
m_mediaEngine->GetError(&error);
323-
USHORT errorCode = error->GetErrorCode();
324-
char buff[128] = {};
325-
sprintf_s(buff, "ERROR: Media Foundation Event Error %u", errorCode);
326-
OutputDebugStringA(buff);
322+
if (SUCCEEDED(m_mediaEngine->GetError(&error)))
323+
{
324+
USHORT errorCode = error->GetErrorCode();
325+
HRESULT hr = error->GetExtendedErrorCode();
326+
char buff[128] = {};
327+
sprintf_s(buff, "ERROR: Media Foundation Event Error %u (%08X)\n", errorCode, static_cast<unsigned int>(hr));
328+
OutputDebugStringA(buff);
329+
}
330+
else
331+
{
332+
OutputDebugStringA("ERROR: Media Foundation Event Error *FAILED GetError*\n");
333+
}
327334
}
328335
#endif
329336
break;

0 commit comments

Comments
 (0)