summaryrefslogtreecommitdiff
path: root/Media.h
blob: e0fc4460c479f08d3f5296ebf394db0d83e79ee6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef MEDIA_H
#define MEDIA_H

#include <Poco/DOM/DOMParser.h>
#include <Poco/DOM/Document.h>
#include <Poco/DOM/NamedNodeMap.h>
#include <Poco/DOM/NodeIterator.h>
#include <Poco/DOM/NodeFilter.h>
#include <Poco/DOM/NodeList.h>
#include <Poco/DOM/AutoPtr.h>
#include <Poco/Exception.h>
#include <Poco/Timestamp.h>
#include <Poco/String.h>

#include <vector>
#include <iostream>
#include <libskindesignerapi/osdelements.h>
#include <memory>

#include "XmlObject.h" // Base class: model::XmlObject
#include "Stream.h"



using Poco::XML::DOMParser;
using Poco::XML::Document;
using Poco::XML::NodeIterator;
using Poco::XML::NodeFilter;
using Poco::XML::Node;
using Poco::XML::AutoPtr;
using Poco::Exception;

namespace plexclient
{

class Media: XmlObject
{
	public:
	Media() {};
	Media(Poco::XML::Node* pNode);

public:
	std::string m_sVideoResolution;
	int m_iId;
	long m_lDuration;
	int m_iBitrate;
	int m_iWidth;
	int m_iHeight;
	std::string m_sAspectRatio;
	int m_iAudioChannels;
	std::string m_sAudioCodec;
	std::string m_sVideoCodec;
	std::string m_sContainer;
	std::string m_VideoFrameRate;

	std::string m_sPartKey;
	int m_iPartId;
	long m_lPartDuration;
	std::string m_sPartFile;
	long m_lPartSize;
	std::string m_sPartContainer;
	
	std::vector<Stream> m_vStreams;
	
	void AddTokens(std::shared_ptr<skindesignerapi::cOsdElement> grid);
};

}

#endif // MEDIA_H