Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GSoC
GSoC2018
macOS
vlc
Commits
18186c84
Commit
18186c84
authored
Jan 01, 2015
by
François Cartegnie
🤞
Browse files
demux: dash: add segmentList duration
parent
fa2603dc
Changes
1
Hide whitespace changes
Inline
Side-by-side
modules/demux/dash/mpd/IsoffMainParser.cpp
View file @
18186c84
...
...
@@ -270,12 +270,16 @@ void IsoffMainParser::parseSegmentBase(Node * segmentBaseNode, SegmentInformatio
size_t
IsoffMainParser
::
parseSegmentList
(
Node
*
segListNode
,
SegmentInformation
*
info
)
{
size_t
total
=
0
;
mtime_t
totaltime
=
0
;
if
(
segListNode
)
{
std
::
vector
<
Node
*>
segments
=
DOMHelper
::
getElementByTagName
(
segListNode
,
"SegmentURL"
,
false
);
SegmentList
*
list
;
if
(
!
segments
.
empty
()
&&
(
list
=
new
(
std
::
nothrow
)
SegmentList
()))
{
if
(
segListNode
->
hasAttribute
(
"duration"
))
list
->
setDuration
(
Integer
<
mtime_t
>
(
segListNode
->
getAttributeValue
(
"duration"
)));
std
::
vector
<
Node
*>::
const_iterator
it
;
for
(
it
=
segments
.
begin
();
it
!=
segments
.
end
();
it
++
)
{
...
...
@@ -297,6 +301,12 @@ size_t IsoffMainParser::parseSegmentList(Node * segListNode, SegmentInformation
seg
->
setByteRange
(
atoi
(
range
.
substr
(
0
,
pos
).
c_str
()),
atoi
(
range
.
substr
(
pos
+
1
,
range
.
size
()).
c_str
()));
}
if
(
totaltime
||
list
->
getDuration
())
{
seg
->
startTime
.
Set
(
totaltime
);
totaltime
+=
list
->
getDuration
();
}
list
->
addSegment
(
seg
);
total
++
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment