11 #include "application/IApplicationComponent.h" 12 #include "threads/CriticalSection.h" 29 void OnPlayBackStarted(
const CFileItem& item);
181 CCriticalSection m_critSection;
196 m_lStackPartNumber = 0;
197 m_lStackPartStartTimeMs = 0;
198 m_lStackTotalTimeMs = 0;
200 uint64_t m_lStackPartStartTimeMs;
201 uint64_t m_lStackTotalTimeMs;
202 int m_lStackPartNumber;
203 std::shared_ptr<CFileItem> m_pStack;
206 typedef std::shared_ptr<StackPartInformation> StackPartInformationPtr;
207 typedef std::map<std::string, StackPartInformationPtr> Stackmap;
209 StackPartInformationPtr GetStackPartInformation(
const std::string& key);
210 StackPartInformationPtr GetStackPartInformation(
const std::string& key)
const;
212 std::unique_ptr<CFileItemList> m_currentStack;
213 int m_currentStackPosition = 0;
214 bool m_currentStackIsDiscImageStack =
false;
Definition: ApplicationStackHelper.h:22
uint64_t GetCurrentStackPartStartTimeMs() const
Returns the start time of the current FileItem part of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.h:104
bool HasRegisteredStack(const CFileItem &item) const
Returns true if there is a registered stack for the given CFileItem part.
Definition: ApplicationStackHelper.cpp:264
uint64_t GetStackPartEndTimeMs(int partNumber) const
Returns the end time of a FileItem part of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.cpp:229
const CFileItem & SetStackPartCurrentFileItem(int partNumber)
sets a given stack part as the current and returns a reference to it
Definition: ApplicationStackHelper.h:76
uint64_t GetRegisteredStackPartStartTimeMs(const CFileItem &item) const
Returns the start time of the part in the parameter.
Definition: ApplicationStackHelper.cpp:296
int GetStackPartNumberAtTimeMs(uint64_t msecs)
Returns the stack part number corresponding to the given timestamp in a (non-ISO) stack playback...
Definition: ApplicationStackHelper.cpp:239
uint64_t GetRegisteredStackTotalTimeMs(const CFileItem &item) const
Returns the total time of the stack associated to the part in the parameter.
Definition: ApplicationStackHelper.cpp:306
bool IsPlayingISOStack() const
Returns true if Application is currently playing an ISO stack.
Definition: ApplicationStackHelper.cpp:214
void SetRegisteredStackPartStartTimeMs(const CFileItem &item, uint64_t startTimeMs)
Stores the part start time in the item-stack map.
Definition: ApplicationStackHelper.cpp:301
Represents a list of files.
Definition: FileItem.h:702
uint64_t GetStackTotalTimeMs() const
Returns the total time of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.cpp:234
void SetRegisteredStackPartNumber(const CFileItem &item, int partNumber)
Stores the part number in the item-stack map.
Definition: ApplicationStackHelper.cpp:291
bool HasNextStackPartFileItem() const
returns true if there is a next part available
Definition: ApplicationStackHelper.cpp:224
const CFileItem & SetNextStackPartCurrentFileItem()
sets the next stack part as the current and returns a reference to it
Definition: ApplicationStackHelper.h:67
bool IsPlayingRegularStack() const
Returns true if Application is currently playing a Regular (non-ISO) stack.
Definition: ApplicationStackHelper.cpp:219
int GetRegisteredStackPartNumber(const CFileItem &item)
Returns the part number of the part in the parameter.
Definition: ApplicationStackHelper.cpp:286
uint64_t GetStackPartStartTimeMs(int partNumber) const
Returns the start time of a FileItem part of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.h:99
bool InitializeStack(const CFileItem &item)
Initialize stack.
Definition: ApplicationStackHelper.cpp:60
void SetRegisteredStack(const CFileItem &item, std::shared_ptr< CFileItem > stackItem)
Stores a smart pointer to the stack CFileItem in the item-stack map.
Definition: ApplicationStackHelper.cpp:270
const CFileItem & GetCurrentStackPartFileItem() const
Returns the FileItem currently playing back as part of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.h:84
std::optional< int64_t > InitializeStackStartPartAndOffset(const CFileItem &item)
Initialize stack times for each part, start & end, total time, and current part number if resume offs...
Definition: ApplicationStackHelper.cpp:84
CFileItem & GetStackPartFileItem(int partNumber)
Returns a FileItem part of a (non-ISO) stack playback.
Definition: ApplicationStackHelper.cpp:276
Base class for application components.
Definition: IApplicationComponent.h:12
void SetRegisteredStackTotalTimeMs(const CFileItem &item, uint64_t totalTimeMs)
Stores the stack's total time associated to the part in the item-stack map.
Definition: ApplicationStackHelper.cpp:311
int GetCurrentPartNumber() const
returns the current part number
Definition: ApplicationStackHelper.h:47
std::shared_ptr< const CFileItem > GetRegisteredStack(const CFileItem &item) const
Returns a smart pointer to the stack CFileItem.
Definition: ApplicationStackHelper.cpp:258
void ClearAllRegisteredStackInformation()
Clear all entries in the item-stack map. To be called upon playback stopped.
Definition: ApplicationStackHelper.cpp:253
Represents a file on a share.
Definition: FileItem.h:102