__pEndOfStreamMutex->Acquire();
EventDrivenThread::Quit();
+ EventDrivenThread::Join();
r = __pMutex->Acquire();
SysTryLog(NID_MEDIA, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
}
else
{
- delete pStream;
+ delete[] pStream;
}
__pMutex->Release();
}
else
{
- delete pStream;
+ delete[] pStream;
}
__pMutex->Release();
//pPlyarImpl->HandlePlayerVideoFrameDecoded(pData, width , height, size);
r = MapExceptionToResult(err);
SysTryReturn(NID_MEDIA, r == E_SUCCESS, , r, "[%s] Failed to perform player_get_state operation with - 0x%x", GetErrorMessage(r), err);
- if (__corePlayerCurState == ::PLAYER_STATE_PLAYING)
+ if (__corePlayerCurState == ::PLAYER_STATE_PLAYING && __isStateChangeForVideoCapture == true)
{
err = player_pause(__hPlayer);
r = MapExceptionToResult(err);
err = player_get_state(__hPlayer, &__corePlayerCurState);
r = MapExceptionToResult(err);
SysTryReturn(NID_MEDIA, r == E_SUCCESS, , r, "[%s] Failed to perform player_get_state operation with - 0x%x", GetErrorMessage(r), err);
- }
- SysTryCatch(NID_MEDIA, __corePlayerCurState == ::PLAYER_STATE_PAUSED, r = E_INVALID_STATE, E_INVALID_STATE,
- "[E_INVALID_STATE] Player state is in an invalid state. Current state is %d", __corePlayerCurState);
+ SysTryCatch(NID_MEDIA, __corePlayerCurState == ::PLAYER_STATE_PAUSED, r = E_INVALID_STATE, E_INVALID_STATE,
+ "[E_INVALID_STATE] Player state is in an invalid state. Current state is %d", __corePlayerCurState);
+ __currentState = PLAYER_STATE_PAUSED;
+ }
SysTryCatch(NID_MEDIA, !((width == 0) || (height == 0)), r = E_INVALID_DATA, E_INVALID_DATA,
r = SendCapturedVideoFrame( _PLAYER_VIDEO_EVENT_DECODED_WITHOUT_DATA, pData, size, width, height, E_SUCCESS);
SysTryCatch(NID_MEDIA, r == E_SUCCESS, , r, "[%s]Propagating", GetErrorMessage(r));
}
- __currentState = PLAYER_STATE_PAUSED;
return;
CATCH:
__isStateChangeForVideoCapture = false;