[vlc-commits] demux: dash: index time is scaled

Francois Cartegnie git at videolan.org
Fri May 15 21:29:30 CEST 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri May 15 17:13:09 2015 +0200| [800a74a5b95a0e999b2ee9aa2ff25e95986c6ffa] | committer: Francois Cartegnie

demux: dash: index time is scaled

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=800a74a5b95a0e999b2ee9aa2ff25e95986c6ffa
---

 modules/demux/dash/mp4/AtomsReader.cpp |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/demux/dash/mp4/AtomsReader.cpp b/modules/demux/dash/mp4/AtomsReader.cpp
index 9630eff..c7e42d3 100644
--- a/modules/demux/dash/mp4/AtomsReader.cpp
+++ b/modules/demux/dash/mp4/AtomsReader.cpp
@@ -71,11 +71,12 @@ bool AtomsReader::parseBlock(void *buffer, size_t size, BaseRepresentation *rep)
                 MP4_Box_data_sidx_t *sidx = sidxbox->data.p_sidx;
                 point.offset = sidx->i_first_offset;
                 point.time = 0;
-                for(uint16_t i=0; i<sidx->i_reference_count; i++)
+                for(uint16_t i=0; i<sidx->i_reference_count && sidx->i_timescale; i++)
                 {
                     splitlist.push_back(point);
                     point.offset += sidx->p_items[i].i_referenced_size;
-                    point.time += sidx->p_items[i].i_subsegment_duration;
+                    point.time += CLOCK_FREQ * sidx->p_items[i].i_subsegment_duration /
+                                  sidx->i_timescale;
                 }
                 rep->SplitUsingIndex(splitlist);
                 rep->getPlaylist()->debug();



More information about the vlc-commits mailing list