Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
09df186b
Commit
09df186b
authored
Dec 10, 2014
by
Francois Cartegnie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
stream_filter: dash: evaluate correctly live stream
Live profile can be replayed as static after broadcast.
parent
a8a3c8e4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
7 deletions
+15
-7
modules/stream_filter/dash/mpd/BasicCMParser.cpp
modules/stream_filter/dash/mpd/BasicCMParser.cpp
+1
-1
modules/stream_filter/dash/mpd/IsoffMainParser.cpp
modules/stream_filter/dash/mpd/IsoffMainParser.cpp
+3
-0
modules/stream_filter/dash/mpd/MPD.cpp
modules/stream_filter/dash/mpd/MPD.cpp
+9
-4
modules/stream_filter/dash/mpd/MPD.h
modules/stream_filter/dash/mpd/MPD.h
+2
-2
No files found.
modules/stream_filter/dash/mpd/BasicCMParser.cpp
View file @
09df186b
...
@@ -71,7 +71,7 @@ bool BasicCMParser::parse (Profile profile)
...
@@ -71,7 +71,7 @@ bool BasicCMParser::parse (Profile profile)
Standard specifies a default of "On-Demand",
Standard specifies a default of "On-Demand",
so anything that is not "Live" is "On-Demand"
so anything that is not "Live" is "On-Demand"
*/
*/
this
->
mpd
->
setLive
(
it
!=
attr
.
end
()
&&
it
->
second
==
"Live"
);
it
=
attr
.
find
(
"availabilityStartTime"
);
it
=
attr
.
find
(
"availabilityStartTime"
);
if
(
it
==
attr
.
end
()
&&
this
->
mpd
->
isLive
()
==
true
)
if
(
it
==
attr
.
end
()
&&
this
->
mpd
->
isLive
()
==
true
)
{
{
...
...
modules/stream_filter/dash/mpd/IsoffMainParser.cpp
View file @
09df186b
...
@@ -67,6 +67,9 @@ void IsoffMainParser::setMPDAttributes ()
...
@@ -67,6 +67,9 @@ void IsoffMainParser::setMPDAttributes ()
if
(
it
!=
attr
.
end
())
if
(
it
!=
attr
.
end
())
this
->
mpd
->
setMinBufferTime
(
str_duration
(
it
->
second
.
c_str
()));
this
->
mpd
->
setMinBufferTime
(
str_duration
(
it
->
second
.
c_str
()));
it
=
attr
.
find
(
"type"
);
if
(
it
!=
attr
.
end
())
mpd
->
setType
(
it
->
second
);
}
}
void
IsoffMainParser
::
setAdaptationSets
(
Node
*
periodNode
,
Period
*
period
)
void
IsoffMainParser
::
setAdaptationSets
(
Node
*
periodNode
,
Period
*
period
)
...
...
modules/stream_filter/dash/mpd/MPD.cpp
View file @
09df186b
...
@@ -35,7 +35,6 @@ MPD::MPD (stream_t *stream_, Profile profile_) :
...
@@ -35,7 +35,6 @@ MPD::MPD (stream_t *stream_, Profile profile_) :
ICanonicalUrl
(),
ICanonicalUrl
(),
stream
(
stream_
),
stream
(
stream_
),
profile
(
profile_
),
profile
(
profile_
),
live
(
false
),
availabilityStartTime
(
-
1
),
availabilityStartTime
(
-
1
),
availabilityEndTime
(
-
1
),
availabilityEndTime
(
-
1
),
duration
(
-
1
),
duration
(
-
1
),
...
@@ -126,12 +125,18 @@ void MPD::setProgramInformation (ProgramInformation *progInf
...
@@ -126,12 +125,18 @@ void MPD::setProgramInformation (ProgramInformation *progInf
bool
MPD
::
isLive
()
const
bool
MPD
::
isLive
()
const
{
{
return
this
->
live
;
if
(
type
.
empty
())
{
Profile
live
(
Profile
::
ISOLive
);
return
profile
==
live
;
}
else
return
(
type
!=
"static"
);
}
}
void
MPD
::
setLive
(
bool
live
)
void
MPD
::
setType
(
const
std
::
string
&
type_
)
{
{
t
his
->
live
=
live
;
t
ype
=
type_
;
}
}
time_t
MPD
::
getAvailabilityStartTime
()
const
time_t
MPD
::
getAvailabilityStartTime
()
const
...
...
modules/stream_filter/dash/mpd/MPD.h
View file @
09df186b
...
@@ -47,11 +47,11 @@ namespace dash
...
@@ -47,11 +47,11 @@ namespace dash
Profile
getProfile
()
const
;
Profile
getProfile
()
const
;
bool
isLive
()
const
;
bool
isLive
()
const
;
void
setLive
(
bool
live
);
time_t
getAvailabilityStartTime
()
const
;
time_t
getAvailabilityStartTime
()
const
;
void
setAvailabilityStartTime
(
time_t
time
);
void
setAvailabilityStartTime
(
time_t
time
);
time_t
getAvailabilityEndTime
()
const
;
time_t
getAvailabilityEndTime
()
const
;
void
setAvailabilityEndTime
(
time_t
time
);
void
setAvailabilityEndTime
(
time_t
time
);
void
setType
(
const
std
::
string
&
);
time_t
getDuration
()
const
;
time_t
getDuration
()
const
;
void
setDuration
(
time_t
duration
);
void
setDuration
(
time_t
duration
);
time_t
getMinUpdatePeriod
()
const
;
time_t
getMinUpdatePeriod
()
const
;
...
@@ -76,7 +76,6 @@ namespace dash
...
@@ -76,7 +76,6 @@ namespace dash
private:
private:
stream_t
*
stream
;
stream_t
*
stream
;
Profile
profile
;
Profile
profile
;
bool
live
;
time_t
availabilityStartTime
;
time_t
availabilityStartTime
;
time_t
availabilityEndTime
;
time_t
availabilityEndTime
;
time_t
duration
;
time_t
duration
;
...
@@ -86,6 +85,7 @@ namespace dash
...
@@ -86,6 +85,7 @@ namespace dash
std
::
vector
<
Period
*>
periods
;
std
::
vector
<
Period
*>
periods
;
std
::
vector
<
BaseUrl
*>
baseUrls
;
std
::
vector
<
BaseUrl
*>
baseUrls
;
ProgramInformation
*
programInfo
;
ProgramInformation
*
programInfo
;
std
::
string
type
;
};
};
}
}
}
}
...
...
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