Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Steve Lhomme
VLC
Commits
3872f3b2
Commit
3872f3b2
authored
Sep 23, 2015
by
François Cartegnie
🤞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
demux: adaptative: flag template segments
parent
52457046
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
12 additions
and
4 deletions
+12
-4
modules/demux/adaptative/playlist/Segment.cpp
modules/demux/adaptative/playlist/Segment.cpp
+6
-0
modules/demux/adaptative/playlist/Segment.h
modules/demux/adaptative/playlist/Segment.h
+2
-0
modules/demux/adaptative/playlist/SegmentInformation.cpp
modules/demux/adaptative/playlist/SegmentInformation.cpp
+3
-4
modules/demux/adaptative/playlist/SegmentTemplate.cpp
modules/demux/adaptative/playlist/SegmentTemplate.cpp
+1
-0
No files found.
modules/demux/adaptative/playlist/Segment.cpp
View file @
3872f3b2
...
...
@@ -48,6 +48,7 @@ ISegment::ISegment(const ICanonicalUrl *parent):
duration
.
Set
(
0
);
chunksuse
.
Set
(
0
);
sequence
=
SEQUENCE_INVALID
;
templated
=
false
;
}
ISegment
::~
ISegment
()
...
...
@@ -90,6 +91,11 @@ SegmentChunk* ISegment::toChunk(size_t index, BaseRepresentation *ctxrep)
return
chunk
;
}
bool
ISegment
::
isTemplate
()
const
{
return
templated
;
}
void
ISegment
::
setByteRange
(
size_t
start
,
size_t
end
)
{
startByte
=
start
;
...
...
modules/demux/adaptative/playlist/Segment.h
View file @
3872f3b2
...
...
@@ -57,6 +57,7 @@ namespace adaptative
virtual
void
setByteRange
(
size_t
start
,
size_t
end
);
virtual
void
setSequenceNumber
(
uint64_t
);
virtual
uint64_t
getSequenceNumber
()
const
;
virtual
bool
isTemplate
()
const
;
virtual
size_t
getOffset
()
const
;
virtual
std
::
vector
<
ISegment
*>
subSegments
()
=
0
;
virtual
void
addSubSegment
(
SubSegment
*
)
=
0
;
...
...
@@ -77,6 +78,7 @@ namespace adaptative
size_t
endByte
;
std
::
string
debugName
;
int
classId
;
bool
templated
;
uint64_t
sequence
;
static
const
int
SEQUENCE_INVALID
;
static
const
int
SEQUENCE_FIRST
;
...
...
modules/demux/adaptative/playlist/SegmentInformation.cpp
View file @
3872f3b2
...
...
@@ -159,11 +159,10 @@ ISegment * SegmentInformation::getSegment(SegmentInfoType type, uint64_t pos) co
const
size_t
size
=
getSegments
(
type
,
retSegments
);
if
(
size
)
{
/* check if that's a template (fixme: find a better way) */
MediaSegmentTemplate
*
templ
;
if
(
size
==
1
&&
(
templ
=
dynamic_cast
<
MediaSegmentTemplate
*>
(
retSegments
[
0
]))
)
if
(
size
==
1
&&
retSegments
[
0
]
->
isTemplate
())
{
if
(
templ
->
segmentTimeline
.
Get
()
==
NULL
||
MediaSegmentTemplate
*
templ
=
dynamic_cast
<
MediaSegmentTemplate
*>
(
retSegments
[
0
]);
if
(
!
templ
||
templ
->
segmentTimeline
.
Get
()
==
NULL
||
templ
->
segmentTimeline
.
Get
()
->
maxElementNumber
()
>
pos
)
return
templ
;
}
...
...
modules/demux/adaptative/playlist/SegmentTemplate.cpp
View file @
3872f3b2
...
...
@@ -43,6 +43,7 @@ MediaSegmentTemplate::MediaSegmentTemplate( SegmentInformation *parent ) :
classId
=
Segment
::
CLASSID_SEGMENT
;
startNumber
.
Set
(
1
);
initialisationSegment
.
Set
(
NULL
);
templated
=
true
;
}
void
MediaSegmentTemplate
::
mergeWith
(
MediaSegmentTemplate
*
updated
,
mtime_t
prunebarrier
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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