|
MythTV master
|
#include <libmythtv/commbreakmap.h>
Public Member Functions | |
| CommBreakMap (void) | |
| bool | HasMap (void) const |
| CommSkipMode | GetAutoCommercialSkip (void) const |
| void | SetAutoCommercialSkip (CommSkipMode autoskip, uint64_t framesPlayed) |
| int | GetSkipCommercials (void) const |
| void | SkipCommercials (int direction) |
| void | ResetLastSkip (void) |
| void | SetTracker (uint64_t framesPlayed) |
| void | GetMap (frm_dir_map_t &map) const |
| void | SetMap (const frm_dir_map_t &newMap, uint64_t framesPlayed) |
| void | LoadMap (PlayerContext *player_ctx, uint64_t framesPlayed) |
| bool | IsInCommBreak (uint64_t frameNumber) const |
| bool | AutoCommercialSkip (uint64_t &jumpToFrame, uint64_t framesPlayed, double video_frame_rate, uint64_t totalFrames, QString &comm_msg) |
| bool | DoSkipCommercials (uint64_t &jumpToFrame, uint64_t framesPlayed, double video_frame_rate, uint64_t totalFrames, QString &comm_msg) |
Private Member Functions | |
| void | MergeShortCommercials (double video_frame_rate) |
Private Attributes | |
| QRecursiveMutex | m_commBreakMapLock |
| int | m_skipcommercials {0} |
| CommSkipMode | m_autocommercialskip {kCommSkipOff} |
| std::chrono::seconds | m_commrewindamount {0s} |
| std::chrono::seconds | m_commnotifyamount {0s} |
| int | m_lastCommSkipDirection {0} |
| SystemTime | m_lastCommSkipTime |
| uint64_t | m_lastCommSkipStart {0} |
| SystemTime | m_lastSkipTime |
| This is separate from m_lastCommSkipTime so a manual seek does not trigger the kSkipBackWindow code. More... | |
| bool | m_hascommbreaktable {false} |
| QDateTime | m_lastIgnoredManualSkip |
| std::chrono::seconds | m_maxskip {1h} |
| std::chrono::seconds | m_maxShortMerge {0s} |
| frm_dir_map_t | m_commBreakMap |
| frm_dir_map_t::Iterator | m_commBreakIter |
Static Private Attributes | |
| static constexpr std::chrono::seconds | kSkipBackWindow {5s} |
| Time after a commercial skip that skipping back will skip to the start of the just skipped commercial break. More... | |
| static constexpr std::chrono::seconds | kAutoSkipDeadZone {3s} |
| Time after any seek that an automatic commercial skip will not occur. More... | |
Definition at line 18 of file commbreakmap.h.
| CommBreakMap::CommBreakMap | ( | void | ) |
Definition at line 11 of file commbreakmap.cpp.
| bool CommBreakMap::AutoCommercialSkip | ( | uint64_t & | jumpToFrame, |
| uint64_t | framesPlayed, | ||
| double | video_frame_rate, | ||
| uint64_t | totalFrames, | ||
| QString & | comm_msg | ||
| ) |
Definition at line 145 of file commbreakmap.cpp.
Referenced by MythPlayerUI::EventLoop().
| bool CommBreakMap::DoSkipCommercials | ( | uint64_t & | jumpToFrame, |
| uint64_t | framesPlayed, | ||
| double | video_frame_rate, | ||
| uint64_t | totalFrames, | ||
| QString & | comm_msg | ||
| ) |
Definition at line 250 of file commbreakmap.cpp.
Referenced by MythPlayerUI::EventLoop().
| CommSkipMode CommBreakMap::GetAutoCommercialSkip | ( | void | ) | const |
Definition at line 22 of file commbreakmap.cpp.
Referenced by MythPlayerUI::EventLoop().
| void CommBreakMap::GetMap | ( | frm_dir_map_t & | map | ) | const |
Definition at line 92 of file commbreakmap.cpp.
Referenced by MythPlayerEditorUI::HandleProgramEditorActions().
|
inline |
Definition at line 30 of file commbreakmap.h.
Referenced by MythPlayerUI::EventLoop().
|
inline |
Definition at line 25 of file commbreakmap.h.
Referenced by MythPlayerUI::EventLoop(), and MythPlayerEditorUI::HandleProgramEditorActions().
| bool CommBreakMap::IsInCommBreak | ( | uint64_t | frameNumber | ) | const |
Definition at line 99 of file commbreakmap.cpp.
Referenced by MythPreviewPlayer::SeekForScreenGrab().
| void CommBreakMap::LoadMap | ( | PlayerContext * | player_ctx, |
| uint64_t | framesPlayed | ||
| ) |
Definition at line 51 of file commbreakmap.cpp.
Referenced by MythPlayerUI::EventStart(), and MythPreviewPlayer::SeekForScreenGrab().
|
private |
Definition at line 362 of file commbreakmap.cpp.
Referenced by AutoCommercialSkip(), and DoSkipCommercials().
| void CommBreakMap::ResetLastSkip | ( | void | ) |
Definition at line 28 of file commbreakmap.cpp.
Referenced by MythPlayer::ClearAfterSeek().
| void CommBreakMap::SetAutoCommercialSkip | ( | CommSkipMode | autoskip, |
| uint64_t | framesPlayed | ||
| ) |
Definition at line 33 of file commbreakmap.cpp.
| void CommBreakMap::SetMap | ( | const frm_dir_map_t & | newMap, |
| uint64_t | framesPlayed | ||
| ) |
Definition at line 132 of file commbreakmap.cpp.
Referenced by MythPlayer::SetCommBreakMap().
| void CommBreakMap::SetTracker | ( | uint64_t | framesPlayed | ) |
Definition at line 68 of file commbreakmap.cpp.
Referenced by AutoCommercialSkip(), MythPlayer::ClearAfterSeek(), DoSkipCommercials(), LoadMap(), SetAutoCommercialSkip(), and SetMap().
| void CommBreakMap::SkipCommercials | ( | int | direction | ) |
Definition at line 42 of file commbreakmap.cpp.
Referenced by MythPlayerUI::EventLoop(), and MythPlayerUI::StartPlaying().
|
staticconstexprprivate |
Time after any seek that an automatic commercial skip will not occur.
Definition at line 67 of file commbreakmap.h.
Referenced by AutoCommercialSkip().
|
staticconstexprprivate |
Time after a commercial skip that skipping back will skip to the start of the just skipped commercial break.
Definition at line 60 of file commbreakmap.h.
Referenced by DoSkipCommercials().
|
private |
Definition at line 52 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), GetAutoCommercialSkip(), and SetAutoCommercialSkip().
|
private |
Definition at line 73 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), DoSkipCommercials(), MergeShortCommercials(), and SetTracker().
|
private |
Definition at line 72 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), DoSkipCommercials(), GetMap(), IsInCommBreak(), LoadMap(), MergeShortCommercials(), SetMap(), and SetTracker().
|
mutableprivate |
Definition at line 50 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), DoSkipCommercials(), GetAutoCommercialSkip(), GetMap(), IsInCommBreak(), LoadMap(), SetAutoCommercialSkip(), SetMap(), SetTracker(), and SkipCommercials().
|
private |
Definition at line 54 of file commbreakmap.h.
Referenced by AutoCommercialSkip().
|
private |
Definition at line 53 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), and DoSkipCommercials().
Definition at line 68 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), HasMap(), LoadMap(), SetMap(), and SetTracker().
|
private |
Definition at line 55 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), and DoSkipCommercials().
|
private |
Definition at line 61 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), and DoSkipCommercials().
|
private |
Definition at line 56 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), and DoSkipCommercials().
|
private |
Definition at line 69 of file commbreakmap.h.
Referenced by DoSkipCommercials().
|
private |
This is separate from m_lastCommSkipTime so a manual seek does not trigger the kSkipBackWindow code.
Definition at line 65 of file commbreakmap.h.
Referenced by AutoCommercialSkip(), and ResetLastSkip().
|
private |
Definition at line 71 of file commbreakmap.h.
Referenced by MergeShortCommercials().
|
private |
Definition at line 70 of file commbreakmap.h.
Referenced by DoSkipCommercials().
|
private |
Definition at line 51 of file commbreakmap.h.
Referenced by DoSkipCommercials(), GetSkipCommercials(), and SkipCommercials().