本文整理汇总了C++中SegmentList::getPlaybackTimeDurationBySegmentNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ SegmentList::getPlaybackTimeDurationBySegmentNumber方法的具体用法?C++ SegmentList::getPlaybackTimeDurationBySegmentNumber怎么用?C++ SegmentList::getPlaybackTimeDurationBySegmentNumber使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SegmentList
的用法示例。
在下文中一共展示了SegmentList::getPlaybackTimeDurationBySegmentNumber方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getPlaybackTimeDurationBySegmentNumber
bool SegmentInformation::getPlaybackTimeDurationBySegmentNumber(uint64_t number,
mtime_t *time, mtime_t *duration) const
{
SegmentList *segList;
MediaSegmentTemplate *mediaTemplate;
if( (mediaTemplate = inheritSegmentTemplate()) )
{
const Timescale timescale = mediaTemplate->inheritTimescale();
stime_t stime, sduration;
if(mediaTemplate->segmentTimeline.Get())
{
mediaTemplate->segmentTimeline.Get()->
getScaledPlaybackTimeDurationBySegmentNumber(number, &stime, &sduration);
}
else
{
stime = number * mediaTemplate->duration.Get();
sduration = mediaTemplate->duration.Get();
}
*time = timescale.ToTime(stime);
*duration = timescale.ToTime(sduration);
return true;
}
else if ( (segList = inheritSegmentList()) )
{
return segList->getPlaybackTimeDurationBySegmentNumber(number, time, duration);
}
else
{
const Timescale timescale = inheritTimescale();
const ISegment *segment = getSegment(SegmentInfoType::INFOTYPE_MEDIA, number);
if( segment )
{
*time = timescale.ToTime(segment->startTime.Get());
*duration = timescale.ToTime(segment->duration.Get());
return true;
}
}
return false;
}