11 #include "threads/CriticalSection.h" 12 #include "utils/ContentUtils.h" 23 class CPVRChannelGroup;
24 class CPVRChannelGroupMember;
27 class CPVRStreamProperties;
130 bool IsPlayingChannel(
const std::shared_ptr<const CPVRChannel>& channel)
const;
144 bool IsPlayingEpgTag(
const std::shared_ptr<const CPVREpgInfoTag>& epgTag)
const;
265 std::unique_ptr<CFileItem> GetNextAutoplayItem(
const CFileItem& item);
278 void UpdateLastWatched(
const std::shared_ptr<CPVRChannelGroupMember>& channel,
281 mutable CCriticalSection m_critSection;
283 std::shared_ptr<CPVRChannelGroupMember> m_playingChannel;
284 std::shared_ptr<CPVRRecording> m_playingRecording;
285 std::shared_ptr<CPVREpgInfoTag> m_playingEpgTag;
286 std::shared_ptr<CPVRChannelGroupMember> m_lastPlayedChannelTV;
287 std::shared_ptr<CPVRChannelGroupMember> m_lastPlayedChannelRadio;
288 std::shared_ptr<CPVRChannelGroupMember> m_previousToLastPlayedChannelTV;
289 std::shared_ptr<CPVRChannelGroupMember> m_previousToLastPlayedChannelRadio;
290 std::string m_strPlayingClientName;
291 int m_playingGroupId = -1;
292 int m_playingClientId = -1;
293 int m_playingChannelUniqueId = -1;
294 std::string m_strPlayingRecordingUniqueId;
295 int m_playingEpgTagChannelUniqueId = -1;
296 unsigned int m_playingEpgTagUniqueId = 0;
297 std::shared_ptr<CPVRChannelGroup> m_activeGroupTV;
298 std::shared_ptr<CPVRChannelGroup> m_activeGroupRadio;
301 std::unique_ptr<CLastWatchedUpdateTimer> m_lastWatchedUpdateTimer;
bool IsPlayingActiveRecording() const
Check if an active recording is playing.
Definition: PVRPlaybackState.cpp:541
bool IsPlayingChannel(int iClientID, int iUniqueChannelID) const
Check whether playing channel matches given uids.
Definition: PVRPlaybackState.cpp:440
Definition: PVRPlaybackState.cpp:41
virtual ~CPVRPlaybackState()
dtor.
bool IsPlaying() const
Check if a TV channel, radio channel or recording is playing.
Definition: PVRPlaybackState.cpp:404
bool IsPlayingTV() const
Check if a TV channel is playing.
Definition: PVRPlaybackState.cpp:410
Definition: ContextMenuManager.h:24
void Clear()
clear instances, keep stored UIDs.
Definition: PVRPlaybackState.cpp:130
bool IsPlayingRadio() const
Check if a radio channel is playing.
Definition: PVRPlaybackState.cpp:416
bool IsPlayingRecording() const
Check if a recording is playing.
Definition: PVRPlaybackState.cpp:428
CDateTime GetChannelPlaybackTime(int iClientID, int iUniqueChannelID) const
Get current playback time for the given channel, taking timeshifting into account.
Definition: PVRPlaybackState.cpp:640
PlayMode
Defines play modes to be used in conjunction with the setting "play next video|song automatically"...
Definition: ContentUtils.h:22
std::shared_ptr< CPVRRecording > GetPlayingRecording() const
Return the recording that is currently playing.
Definition: PVRPlaybackState.cpp:499
bool OnPlaybackStopped(const CFileItem &item)
Inform that playback of an item was stopped due to user interaction.
Definition: PVRPlaybackState.cpp:229
bool IsRecordingOnPlayingChannel() const
Check whether there is an active recording on the currenlyt playing channel.
Definition: PVRPlaybackState.cpp:534
bool IsRecording() const
Check whether there are active recordings.
Definition: PVRPlaybackState.cpp:529
std::string GetPlayingClientName() const
Get the name of the playing client, if there is one.
Definition: PVRPlaybackState.cpp:517
std::shared_ptr< CPVRChannel > GetPlayingChannel() const
Return the channel that is currently playing.
Definition: PVRPlaybackState.cpp:487
bool CanRecordOnPlayingChannel() const
Check whether the currently playing channel can be recorded.
Definition: PVRPlaybackState.cpp:547
std::shared_ptr< CPVRChannelGroup > GetActiveChannelGroup(bool bRadio) const
Get the active channel group.
Definition: PVRPlaybackState.cpp:618
int GetPlayingChannelUniqueID() const
Return playing channel unique identifier.
Definition: PVRPlaybackState.cpp:511
bool OnPlaybackEnded(const CFileItem &item)
Inform that playback of an item has stopped without user interaction.
Definition: PVRPlaybackState.cpp:338
std::shared_ptr< CPVREpgInfoTag > GetPlayingEpgTag() const
Return the epg tag that is currently playing.
Definition: PVRPlaybackState.cpp:505
bool IsPlayingEpgTag() const
Check if an epg tag is playing.
Definition: PVRPlaybackState.cpp:434
std::shared_ptr< CPVRChannelGroupMember > GetLastPlayedChannelGroupMember(bool bRadio) const
Get the last played channel group member.
Definition: PVRPlaybackState.cpp:670
CDateTime GetPlaybackTime(int iClientID, int iUniqueChannelID) const
Get current playback time for the given channel, taking timeshifting and playing epg tags into accoun...
Definition: PVRPlaybackState.cpp:626
DateTime class, which uses FileTime as it's base.
Definition: XBDateTime.h:63
std::shared_ptr< CPVRChannelGroupMember > GetPreviousToLastPlayedChannelGroupMember(bool bRadio) const
Get the channel group member that was played before the last played member.
Definition: PVRPlaybackState.cpp:678
Definition: SmartPlayList.cpp:137
bool IsPlayingEncryptedChannel() const
Check if a an encrypted TV or radio channel is playing.
Definition: PVRPlaybackState.cpp:422
void ReInit()
re-init using stored UIDs.
Definition: PVRPlaybackState.cpp:66
void SetActiveChannelGroup(const std::shared_ptr< CPVRChannelGroup > &group)
Set the active channel group.
Definition: PVRPlaybackState.cpp:582
void OnPlaybackStarted(const CFileItem &item)
Inform that playback of an item just started.
Definition: PVRPlaybackState.cpp:146
int GetPlayingClientID() const
Get the ID of the playing client, if there is one.
Definition: PVRPlaybackState.cpp:523
Definition: PVRPlaybackState.h:29
std::shared_ptr< CPVRChannelGroupMember > GetPlayingChannelGroupMember() const
Return the channel group member that is currently playing.
Definition: PVRPlaybackState.cpp:493
void StartPlayback(CFileItem *item, ContentUtils::PlayMode mode=ContentUtils::PlayMode::CHECK_AUTO_PLAY_NEXT_ITEM) const
Start playback of the given item.
Definition: PVRPlaybackState.cpp:349
Represents a file on a share.
Definition: FileItem.h:102