11 #include "ISerializable.h" 12 #include "cores/VideoPlayer/Interface/StreamInfo.h" 13 #include "utils/IArchivable.h" 34 explicit CStreamDetail(StreamType type) : m_eType(type), m_pParent(NULL) {}
36 virtual bool IsWorseThan(
const CStreamDetail &that)
const = 0;
38 const StreamType m_eType;
51 void Serialize(
CVariant& value)
const override;
56 float m_fAspect = 0.0;
58 std::string m_strCodec;
59 std::string m_strStereoMode;
60 std::string m_strLanguage;
61 std::string m_strHdrType;
70 void Serialize(
CVariant& value)
const override;
74 std::string m_strCodec;
75 std::string m_strLanguage;
86 void Serialize(
CVariant& value)
const override;
89 std::string m_strLanguage;
101 static std::string VideoDimsToResolutionDescription(
int iWidth,
int iHeight);
102 static std::string VideoAspectToAspectDescription(
float fAspect);
104 bool HasItems(
void)
const {
return m_vecItems.size() > 0; }
105 int GetStreamCount(CStreamDetail::StreamType type)
const;
106 int GetVideoStreamCount(
void)
const;
107 int GetAudioStreamCount(
void)
const;
108 int GetSubtitleStreamCount(
void)
const;
109 static std::string HdrTypeToString(StreamHdrType hdrType);
110 const CStreamDetail* GetNthStream(CStreamDetail::StreamType type,
int idx)
const;
112 std::string GetVideoCodec(
int idx = 0)
const;
113 float GetVideoAspect(
int idx = 0)
const;
114 int GetVideoWidth(
int idx = 0)
const;
115 int GetVideoHeight(
int idx = 0)
const;
116 std::string GetVideoHdrType (
int idx = 0)
const;
117 int GetVideoDuration(
int idx = 0)
const;
118 void SetVideoDuration(
int idx,
const int duration);
119 std::string GetStereoMode(
int idx = 0)
const;
120 std::string GetVideoLanguage(
int idx = 0)
const;
122 std::string GetAudioCodec(
int idx = 0)
const;
123 std::string GetAudioLanguage(
int idx = 0)
const;
124 int GetAudioChannels(
int idx = 0)
const;
126 std::string GetSubtitleLanguage(
int idx = 0)
const;
130 void DetermineBestStreams(
void);
132 void Archive(
CArchive& ar)
override;
133 void Serialize(
CVariant& value)
const override;
138 std::vector<std::unique_ptr<CStreamDetail>> m_vecItems;
Definition: StreamInfo.h:65
Definition: StreamDetails.h:78
Definition: StreamInfo.h:55
Definition: StreamDetails.h:92
Definition: StreamDetails.h:25
Definition: Application.h:72
Definition: StreamInfo.h:62
Definition: ISerializable.h:13
Definition: StreamDetails.h:64
Definition: StreamDetails.h:45
Definition: IArchivable.h:13