if(seg != NULL)
{
MediaObject *media = new MediaObject(seg, representation, withFeedBack);
+ if(segDuration == 0)
+ {
+ uint32_t duration = 0;
+ uint32_t timescale = 0;
+
+ if(representation->GetSegmentTemplate())
+ {
+ duration = representation->GetSegmentTemplate()->GetDuration();
+ timescale = representation->GetSegmentTemplate()->GetTimescale();
+ }
+ else
+ {
+ if(adaptationSet->GetSegmentTemplate())
+ {
+ duration = adaptationSet->GetSegmentTemplate()->GetDuration();
+ timescale = adaptationSet->GetSegmentTemplate()->GetTimescale();
+ }
+ else
+ {
+ if(this->period->GetSegmentTemplate())
+ {
+ duration = this->period->GetSegmentTemplate()->GetDuration();
+ timescale = this->period->GetSegmentTemplate()->GetTimescale();
+ }
+ }
+ }
+ segDuration = 1.0*duration/(1.0*timescale) * 1000;
+
+ }
media->SetSegmentDuration(segDuration);
segmentNumber++;
+
switch(type)
{
case viper::managers::StreamType::AUDIO: