- movieplayer/record: stop playback of timeshift when zap to another channel

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2018-07-29 00:54:54 +02:00
committed by Thilo Graf
parent 351559f664
commit 530c3e1c1b
3 changed files with 13 additions and 2 deletions

View File

@@ -1125,7 +1125,7 @@ bool CRecordManager::StopAutoRecord(bool lock)
g_RCInput->killTimer (shift_timer); g_RCInput->killTimer (shift_timer);
if(!autoshift) if (!autoshift)
return false; return false;
if (lock) if (lock)
@@ -1135,7 +1135,7 @@ bool CRecordManager::StopAutoRecord(bool lock)
if (inst) if (inst)
{ {
StopInstance(inst); StopInstance(inst);
CMoviePlayerGui::getInstance().timeshift = TSHIFT_MODE_OFF; CMoviePlayerGui::getInstance().stopTimeshift();
} }
if (lock) if (lock)

View File

@@ -1253,6 +1253,16 @@ void CMoviePlayerGui::stopPlayBack(void)
printf("%s: stopped\n", __func__); printf("%s: stopped\n", __func__);
} }
void CMoviePlayerGui::stopTimeshift(void)
{
if (timeshift && playback)
{
printf("%s: stopping timeshift...\n", __func__);
playback->RequestAbort();
timeshift = TSHIFT_MODE_OFF;
}
}
void CMoviePlayerGui::Pause(bool b) void CMoviePlayerGui::Pause(bool b)
{ {
if (b && (playstate == CMoviePlayerGui::PAUSE)) if (b && (playstate == CMoviePlayerGui::PAUSE))

View File

@@ -253,6 +253,7 @@ class CMoviePlayerGui : public CMenuTarget
void SetFile(std::string &name, std::string &file, std::string info1="", std::string info2="") { pretty_name = name; file_name = file; info_1 = info1; info_2 = info2; } void SetFile(std::string &name, std::string &file, std::string info1="", std::string info2="") { pretty_name = name; file_name = file; info_1 = info1; info_2 = info2; }
bool PlayBackgroundStart(const std::string &file, const std::string &name, t_channel_id chan, const std::string &script=""); bool PlayBackgroundStart(const std::string &file, const std::string &name, t_channel_id chan, const std::string &script="");
void stopPlayBack(void); void stopPlayBack(void);
void stopTimeshift(void);
void setLastMode(int m) { m_LastMode = m; } void setLastMode(int m) { m_LastMode = m; }
void Pause(bool b = true); void Pause(bool b = true);
void selectAudioPid(void); void selectAudioPid(void);