-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VideoPlayer: rework speed and tempo #12470
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general question: Is speed
allowed (or desinged) to have a value outside of {0.0, 1.0}?
xbmc/ApplicationPlayer.cpp
Outdated
@@ -478,6 +476,13 @@ void CApplicationPlayer::SetSpeed(float speed) | |||
player->SetSpeed(speed); | |||
} | |||
|
|||
void CApplicationPlayer::SetTempo(float speed) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -2953,7 +2963,8 @@ void CVideoPlayer::HandleMessages() | |||
m_ChannelEntryTimeOut.SetInfinite(); | |||
CloseDemuxer(); | |||
m_playSpeed = DVD_PLAYSPEED_NORMAL; | |||
m_newPlaySpeed = DVD_PLAYSPEED_NORMAL; | |||
m_processInfo->SetSpeed(1.0); | |||
m_processInfo->SetTempo(1.0); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
yes of course, i.e. -1,-2,-4, ... for rewind or 2,4,8 for ff. It can even be float values. |
if (tempo > 0.75 && tempo < 1.55) | ||
return true; | ||
|
||
return false; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -7182,7 +7187,7 @@ bool CGUIInfoManager::GetBool(int condition1, int contextWindow, const CGUIListI | |||
case PLAYER_PLAYING: | |||
{ | |||
float speed = g_application.m_pPlayer->GetPlaySpeed(); | |||
bReturn = (speed >= 0.75 && speed <= 1.55); | |||
bReturn = (speed == 1.0); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
xbmc/GUIInfoManager.cpp
Outdated
float speed = g_application.m_pPlayer->GetPlaySpeed(); | ||
bReturn = (speed >= 0.75 && speed <= 1.55 && speed != 1); | ||
bReturn = (speed == 1.0 && tempo != 1); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
jenkins build this please |
@@ -47,7 +48,7 @@ void CRetroPlayerAutoSave::Process() | |||
if (m_bStop) | |||
break; | |||
|
|||
if (m_player->GetSpeed() > 0.0f) | |||
if (CDataCacheCore::GetInstance().GetSpeed() > 0.0f) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Rework on tempo and speed. This allows VideoPlayer to continue with tempo set after pause/resume. Tempo range is now defined by ProcessInfo and can be overridden by platforms and set at runtime.