<div dir="ltr">---<br> modules/demux/hls/playlist/Parser.cpp | 8 +++++---<br> 1 file changed, 5 insertions(+), 3 deletions(-)<br><br>diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp<br>index 308139a..050683c 100644<br>--- a/modules/demux/hls/playlist/Parser.cpp<br>+++ b/modules/demux/hls/playlist/Parser.cpp<br>@@ -235,10 +235,12 @@ void M3U8Parser::parseSegments(vlc_object_t *, Representation *rep, const std::l<br> <br>                 if(ctx_extinf)<br>                 {<br>-                    if(ctx_extinf->getAttributeByName("DURATION"))<br>+                    const Attribute *attribute = ctx_extinf->getAttributeByName("DURATION");<br>+                    if(attribute)<br>                     {<br>-                        const mtime_t nzDuration = CLOCK_FREQ * ctx_extinf->getAttributeByName("DURATION")->floatingPoint();<br>-                        segment->duration.Set(ctx_extinf->getAttributeByName("DURATION")->floatingPoint() * (uint64_t) rep->getTimescale());<br>+                        const double duration = attribute->floatingPoint();<br>+                        const mtime_t nzDuration = CLOCK_FREQ * duration;<br>+                        segment->duration.Set(duration * (uint64_t) rep->getTimescale());<br>                         segment->startTime.Set(rep->getTimescale().ToScaled(nzStartTime));<br>                         nzStartTime += nzDuration;<br>                         totalduration += nzDuration;<br>-- <br>2.7.4<br><br></div>