]> git.sesse.net Git - vlc/blob - modules/demux/dash/mpd/IMPDParser.cpp
demux: dash: move everything under demux/
[vlc] / modules / demux / dash / mpd / IMPDParser.cpp
1 /*
2  * IMPDParser.cpp
3  *****************************************************************************
4  * Copyright (C) 2010 - 2014 VideoLAN Authors
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published
8  * by the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19  *****************************************************************************/
20 #include "IMPDParser.h"
21 #include "xml/DOMHelper.h"
22
23 using namespace dash::mpd;
24 using namespace dash::xml;
25
26 IMPDParser::IMPDParser(Node *root_, MPD *mpd_, stream_t *stream, Representation *rep)
27 {
28     root = root_;
29     mpd = mpd_;
30     currentRepresentation = rep;
31     p_stream = stream;
32 }
33
34 void IMPDParser::setMPDBaseUrl(Node *root)
35 {
36     std::vector<Node *> baseUrls = DOMHelper::getChildElementByTagName(root, "BaseURL");
37
38     for(size_t i = 0; i < baseUrls.size(); i++)
39     {
40         BaseUrl *url = new BaseUrl(baseUrls.at(i)->getText());
41         mpd->addBaseUrl(url);
42     }
43 }
44
45 MPD* IMPDParser::getMPD()
46 {
47     return mpd;
48 }