aboutsummaryrefslogtreecommitdiffstats
path: root/src/libdash/source/mpd/SegmentURL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdash/source/mpd/SegmentURL.cpp')
-rw-r--r--src/libdash/source/mpd/SegmentURL.cpp90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/libdash/source/mpd/SegmentURL.cpp b/src/libdash/source/mpd/SegmentURL.cpp
new file mode 100644
index 00000000..765cc969
--- /dev/null
+++ b/src/libdash/source/mpd/SegmentURL.cpp
@@ -0,0 +1,90 @@
+/*
+ * SegmentURL.cpp
+ *****************************************************************************
+ * Copyright (C) 2012, bitmovin Softwareentwicklung OG, All Rights Reserved
+ *
+ * Email: libdash-dev@vicky.bitmovin.net
+ *
+ * This source code and its use and distribution, is subject to the terms
+ * and conditions of the applicable license agreement.
+ *****************************************************************************/
+
+#include "SegmentURL.h"
+
+using namespace dash::mpd;
+using namespace dash::helpers;
+
+SegmentURL::SegmentURL () :
+ mediaURI(""),
+ mediaRange(""),
+ indexURI(""),
+ indexRange(""),
+ bitrate(0)
+{
+}
+SegmentURL::~SegmentURL ()
+{
+}
+
+const std::string& SegmentURL::GetMediaURI () const
+{
+ return this->mediaURI;
+}
+void SegmentURL::SetMediaURI (const std::string& mediaURI)
+{
+ this->mediaURI = mediaURI;
+}
+const std::string& SegmentURL::GetMediaRange () const
+{
+ return this->mediaRange;
+}
+void SegmentURL::SetMediaRange (const std::string& mediaRange)
+{
+ this->mediaRange = mediaRange;
+}
+const std::string& SegmentURL::GetIndexURI () const
+{
+ return this->indexURI;
+}
+uint64_t SegmentURL::GetActualRate ()
+{
+ return this->bitrate;
+}
+void SegmentURL::SetIndexURI (const std::string& indexURI)
+{
+ this->indexURI = indexURI;
+}
+const std::string& SegmentURL::GetIndexRange () const
+{
+ return this->indexRange;
+}
+void SegmentURL::SetIndexRange (const std::string& indexRange)
+{
+ this->indexRange = indexRange;
+}
+void SegmentURL::SetBitrate (const std::string& bitrate)
+{
+ this->bitrate = atoi(bitrate.c_str());
+}
+ISegment* SegmentURL::ToMediaSegment (const std::vector<IBaseUrl *>& baseurls) const
+{
+ Segment *seg = new Segment();
+
+ if(seg->Init(baseurls, this->mediaURI, this->mediaRange, dash::metrics::MediaSegment))
+ return seg;
+
+ delete(seg);
+
+ return NULL;
+}
+ISegment* SegmentURL::ToIndexSegment (const std::vector<IBaseUrl *>& baseurls) const
+{
+ Segment *seg = new Segment();
+
+ if(seg->Init(baseurls, this->indexURI, this->indexRange, dash::metrics::IndexSegment))
+ return seg;
+
+ delete(seg);
+
+ return NULL;
+}