diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
index 740b658b9f..2b554dc6ef 100644
a
|
b
|
TV::TV(void) |
1003 | 1003 | |
1004 | 1004 | InitFromDB(); |
1005 | 1005 | |
| 1006 | #ifdef Q_OS_ANDROID |
| 1007 | connect(qApp, SIGNAL(applicationStateChanged(Qt::ApplicationState)), |
| 1008 | this, SLOT(onApplicationStateChange(Qt::ApplicationState))); |
| 1009 | #endif |
| 1010 | |
1006 | 1011 | LOG(VB_PLAYBACK, LOG_INFO, LOC + "Finished creating TV object"); |
1007 | 1012 | } |
1008 | 1013 | |
… |
… |
QString TV::GetLiveTVIndex(const PlayerContext *ctx) const |
13420 | 13425 | #endif |
13421 | 13426 | } |
13422 | 13427 | |
| 13428 | void TV::onApplicationStateChange(Qt::ApplicationState state) |
| 13429 | { |
| 13430 | switch (state) |
| 13431 | { |
| 13432 | case Qt::ApplicationState::ApplicationActive: |
| 13433 | { |
| 13434 | LOG(VB_GENERAL, LOG_NOTICE, "Resuming playback"); |
| 13435 | PlayerContext *ctx = GetPlayerReadLock(-1, __FILE__, __LINE__); |
| 13436 | SetBookmark(ctx, true); |
| 13437 | DoSetPauseState(ctx, m_suspendedPause); |
| 13438 | ReturnPlayerLock(ctx); |
| 13439 | m_suspended = false; |
| 13440 | break; |
| 13441 | } |
| 13442 | case Qt::ApplicationState::ApplicationSuspended: |
| 13443 | { |
| 13444 | LOG(VB_GENERAL, LOG_NOTICE, "Suspending playback"); |
| 13445 | m_suspended = true; |
| 13446 | PlayerContext *ctx = GetPlayerReadLock(-1, __FILE__, __LINE__); |
| 13447 | vector<bool> do_pause; |
| 13448 | for (uint i = 0; i < m_player.size(); i++) |
| 13449 | do_pause.push_back(true); |
| 13450 | m_suspendedPause = DoSetPauseState(ctx, do_pause); |
| 13451 | SetBookmark(ctx, false); |
| 13452 | ReturnPlayerLock(ctx); |
| 13453 | break; |
| 13454 | } |
| 13455 | default: |
| 13456 | break; |
| 13457 | } |
| 13458 | } |
| 13459 | |
13423 | 13460 | /* vim: set expandtab tabstop=4 shiftwidth=4: */ |
diff --git a/mythtv/libs/libmythtv/tv_play.h b/mythtv/libs/libmythtv/tv_play.h
index 5102810ff5..8a56e2fae9 100644
a
|
b
|
class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer |
346 | 346 | static EMBEDRETURNVOIDFINDER RunProgramFinderPtr; |
347 | 347 | static EMBEDRETURNVOIDSCHEDIT RunScheduleEditorPtr; |
348 | 348 | |
| 349 | protected slots: |
| 350 | void onApplicationStateChange(Qt::ApplicationState state); |
| 351 | |
349 | 352 | private: |
350 | 353 | TV(); |
351 | 354 | ~TV(); |
… |
… |
class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer |
932 | 935 | /// true if video chromakey and frame should not be drawn |
933 | 936 | bool m_disableDrawUnusedRects {false}; |
934 | 937 | |
935 | | // embedded status |
| 938 | // embedded and suspended status |
936 | 939 | bool m_isEmbedded {false}; ///< are we currently embedded |
937 | 940 | bool m_ignoreKeyPresses {false}; ///< should we ignore keypresses |
938 | 941 | vector<bool> m_savedPause; ///< saved pause state before embedding |
| 942 | bool m_suspended {false};///< are we currently suspended |
| 943 | vector<bool> m_suspendedPause; ///< saved pause state before suspending |
939 | 944 | |
940 | 945 | // Channel group stuff |
941 | 946 | /// \brief Lock necessary when modifying channel group variables. |