Commit 32402847 authored by Francois Cartegnie's avatar Francois Cartegnie

stream_filter: dash: simplify MPD factory

parent 47af7ca1
...@@ -33,32 +33,31 @@ using namespace dash::mpd; ...@@ -33,32 +33,31 @@ using namespace dash::mpd;
MPD* MPDFactory::create (dash::xml::Node *root, stream_t *p_stream, Profile profile) MPD* MPDFactory::create (dash::xml::Node *root, stream_t *p_stream, Profile profile)
{ {
IMPDParser *parser = NULL;
switch( profile ) switch( profile )
{ {
case dash::mpd::Profile::Full: case Profile::Full:
return MPDFactory::createBasicCMMPD(root, p_stream); parser = new BasicCMParser(root, p_stream);
case dash::mpd::Profile::ISOOnDemand: break;
case dash::mpd::Profile::ISOMain: case Profile::ISOOnDemand:
return MPDFactory::createIsoffMainMPD(root, p_stream); case Profile::ISOMain:
parser = new IsoffMainParser(root, p_stream);
default: return NULL; default:
break;
} }
}
MPD* MPDFactory::createBasicCMMPD (dash::xml::Node *root, stream_t *p_stream)
{
dash::mpd::BasicCMParser mpdParser(root, p_stream);
if(mpdParser.parse() == false || mpdParser.getMPD() == NULL) if(!parser)
return NULL; return NULL;
mpdParser.getMPD()->setProfile( Profile(Profile::ISOOnDemand) );
return mpdParser.getMPD();
}
MPD* MPDFactory::createIsoffMainMPD (dash::xml::Node *root, stream_t *p_stream)
{
dash::mpd::IsoffMainParser mpdParser(root, p_stream);
if(mpdParser.parse() == false || mpdParser.getMPD() == NULL) MPD* mpd = NULL;
return NULL; if(parser->parse())
mpdParser.getMPD()->setProfile( Profile(Profile::ISOMain) ); mpd = parser->getMPD();
return mpdParser.getMPD();
delete parser;
if (mpd)
mpd->setProfile(profile);
return mpd;
} }
...@@ -37,10 +37,6 @@ namespace dash ...@@ -37,10 +37,6 @@ namespace dash
{ {
public: public:
static MPD* create(dash::xml::Node *root, stream_t *p_stream, Profile profile); static MPD* create(dash::xml::Node *root, stream_t *p_stream, Profile profile);
private:
static MPD* createBasicCMMPD (dash::xml::Node *root, stream_t *p_stream);
static MPD* createIsoffMainMPD (dash::xml::Node *root, stream_t *p_stream);
}; };
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment