summaryrefslogtreecommitdiff
path: root/Media.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Media.cpp')
-rw-r--r--Media.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/Media.cpp b/Media.cpp
new file mode 100644
index 0000000..d3c53a2
--- /dev/null
+++ b/Media.cpp
@@ -0,0 +1,54 @@
+#include "Media.h"
+
+namespace plexclient
+{
+
+Media::Media(Poco::XML::Node* pNode)
+{
+ NodeIterator it(pNode, Poco::XML::NodeFilter::SHOW_ALL);
+ Poco::XML::Node* pChildNode = it.nextNode();
+
+ while(pChildNode) {
+ if(Poco::icompare(pChildNode->nodeName(), "Media") == 0) {
+
+ Poco::XML::AutoPtr<Poco::XML::NamedNodeMap> pAttribs = pChildNode->attributes();
+ m_sVideoResolution = GetNodeValue(pAttribs->getNamedItem("videoResolution"));
+ m_iId = GetNodeValueAsInt(pAttribs->getNamedItem("id"));
+ m_lDuration = GetNodeValueAsLong(pAttribs->getNamedItem("duration"));
+ m_iBitrate = GetNodeValueAsInt(pAttribs->getNamedItem("bitrate"));
+ m_iWidth = GetNodeValueAsInt(pAttribs->getNamedItem("width"));
+ m_iHeight = GetNodeValueAsInt(pAttribs->getNamedItem("height"));
+ m_sAspectRatio = GetNodeValue(pAttribs->getNamedItem("aspectRatio"));
+ m_iAudioChannels = GetNodeValueAsInt(pAttribs->getNamedItem("audioChannels"));
+ m_sAudioCodec = GetNodeValue(pAttribs->getNamedItem("audioCodec"));
+ m_sVideoCodec = GetNodeValue(pAttribs->getNamedItem("videoCodec"));
+ m_sContainer = GetNodeValue(pAttribs->getNamedItem("container"));
+ m_sVideoFrameRate = GetNodeValue(pAttribs->getNamedItem("videoFrameRate"));
+
+
+ pAttribs->release();
+
+ }
+ if(Poco::icompare(pChildNode->nodeName(), "Part") == 0) {
+
+ Poco::XML::AutoPtr<Poco::XML::NamedNodeMap> pAttribs = pChildNode->attributes();
+ m_sPartKey = GetNodeValue(pAttribs->getNamedItem("key"));
+ m_iPartId = GetNodeValueAsInt(pAttribs->getNamedItem("id"));
+ m_lPartDuration = GetNodeValueAsLong(pAttribs->getNamedItem("duration"));
+ m_sPartFile = GetNodeValue(pAttribs->getNamedItem("file"));
+ m_lPartSize = GetNodeValueAsLong(pAttribs->getNamedItem("size"));
+ m_sPartContainer = GetNodeValue(pAttribs->getNamedItem("container"));
+
+ pAttribs->release();
+ }
+ pChildNode = it.nextNode();
+ }
+}
+
+Media::~Media()
+{
+}
+
+
+}
+