Skip to content
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

Merged
merged 1 commit into from
Jul 13, 2017
Merged

Conversation

FernetMenta
Copy link
Contributor

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.

@FernetMenta FernetMenta added Type: Improvement non-breaking change which improves existing functionality v18 Leia Component: Video labels Jul 11, 2017
@Rechi Rechi mentioned this pull request Jul 11, 2017
9 tasks
Copy link
Member

@ace20022 ace20022 left a 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}?

@@ -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.

@@ -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.

@FernetMenta
Copy link
Contributor Author

A general question: Is speed allowed (or desinged) to have a value outside of {0.0, 1.0}?

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.

@@ -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.

This comment was marked as spam.

This comment was marked as spam.

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.

This comment was marked as spam.

@FernetMenta
Copy link
Contributor Author

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.

@Rechi Rechi added this to the L 18.0-alpha1 milestone Jul 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Video Type: Improvement non-breaking change which improves existing functionality v18 Leia
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants