PpmMediaBufferingWorker
VOID __stdcall PpmMediaBufferingWorker(VOID *Context){
bool v1;
unsigned __int8 v2;
UINT8 v3;
unsigned __int64 v4;
REGHANDLE v5;
_BOOL4 v6;
_EVENT_DATA_DESCRIPTOR UserData;
while( 1 )
{
v1 = 1;
v2 = KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 443);
v3 = *(&stru_140C23628 + 3553);
v4 = v2;
if( *(&stru_140C23628 + 3553) == *(&stru_140C23628 + 1828) )
break;
*(&stru_140C23628 + 1828) = *(&stru_140C23628 + 3553);
KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 443);
__writecr8(v4);
v6 = 0;
if( PpmEtwRegistered )
{
v5 = PpmEtwHandle;
if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_MEDIA_BUFFERING_NOTIFY) )
{
UserData.Size = 4;
UserData.Reserved = 0;
v6 = v3 != 0;
UserData.Ptr = (unsigned __int64)&v6;
EtwWriteEx(v5, &PPM_ETW_MEDIA_BUFFERING_NOTIFY, 0i64, 0, 0, 0, 1u, &UserData);
}
}
PpmAcquireLock((_PPM_LOCK *)((char *)&stru_140C23628 + 1048));
if( !PpmLowPowerProfile )
{
if( v3 )
v1 = 0;
else
v1 = *(&stru_140C23628 + 3592) != 0;
}
PpmReleaseLock((INT64 *)&stru_140C23628 + 131);
if( v1 )
{
*(&stru_140C23628 + 3592) = v3;
PpmPdcNotifyMediaBufferingUpdate(v3);
}
}
*(&stru_140C23628 + 3552) = 0;
KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 443);
__writecr8(v4);
}Referenced by:
No references.