int currentProgressPos = 0;
DateTime dateTime;
String currentPlayTime;
+ long playerDuration = 0;
+
+ playerDuration = __pPlayer->GetDuration();
if (timer.GetHashCode() == __pTimer->GetHashCode())
{
dateTime.AddSeconds(__pPlayer->GetPosition() / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
-
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
__pTimer->Start(PROGRESS_TIMER_DURATION);
msTime = msTime + (TWO_SEC * MILLISECOND);
- if (msTime < __pPlayer->GetDuration())
+ if (msTime < playerDuration)
{
if (__playerSeekCompleted == true)
{
dateTime.AddSeconds(msTime / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
-
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
}
}
{
if (__playerSeekCompleted == true)
{
- r = SeekTo(__pPlayer->GetDuration());
+ r = SeekTo(playerDuration);
TryReturnVoid(r == E_SUCCESS, "VideoPlayerPresentationModel::SeekTo() failed:%s", GetErrorMessage(r));
__playerSeekCompleted = false;
- dateTime.AddSeconds(__pPlayer->GetDuration() / MILLISECOND);
+ dateTime.AddSeconds(playerDuration / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
-
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
}
}
dateTime.AddSeconds(msTime / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
-
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
}
}
int currentProgressPos = 0;
DateTime dateTime;
String currentPlayTime;
+ long playerDuration = 0;
AppLogDebug("Forward");
if (playState != PLAYER_STATE_ENDOFCLIP)
{
+ playerDuration = __pPlayer->GetDuration();
msTime = __pPlayer->GetPosition();
msTime = msTime + (TEN_SEC * MILLISECOND);
- if (msTime < __pPlayer->GetDuration())
+ if (msTime < playerDuration)
{
if (__playerSeekCompleted == true)
{
dateTime.AddSeconds(msTime / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
__playerSeekCompleted = false;
{
if (__playerSeekCompleted == true)
{
- r = SeekTo(__pPlayer->GetDuration());
+ r = SeekTo(playerDuration);
TryReturnVoid(r == E_SUCCESS, "SeekTo() failed:%s", GetErrorMessage(r));
- dateTime.AddSeconds(__pPlayer->GetDuration() / MILLISECOND);
+ dateTime.AddSeconds(playerDuration / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
__playerSeekCompleted = false;
int currentProgressPos = 0;
DateTime dateTime;
String currentPlayTime;
+ long playerDuration = 0;
AppLogDebug("Rewind");
if (playState != PLAYER_STATE_ENDOFCLIP)
{
+ playerDuration = __pPlayer->GetDuration();
msTime = __pPlayer->GetPosition();
msTime = msTime - (TEN_SEC * MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", START_TIME, START_TIME, START_TIME);
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
__playerSeekCompleted = false;
dateTime.AddSeconds(msTime / MILLISECOND);
currentPlayTime.Format(20, L"%02d:%02d:%02d", dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
- currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (__pPlayer->GetDuration() / MAX_PROGRESS_RANGE));
+ if (playerDuration != START_TIME)
+ {
+ currentProgressPos = static_cast<int>(__pPlayer->GetPosition() / (playerDuration / MAX_PROGRESS_RANGE));
+ }
CallOnPlayTimeChanged(currentProgressPos, currentPlayTime);
__playerSeekCompleted = false;