]> git.sesse.net Git - vlc/commitdiff
demux: asf: preroll to seek time from index keyframes (fix #7890)
authorFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 22 Nov 2013 12:33:04 +0000 (13:33 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 22 Nov 2013 12:33:04 +0000 (13:33 +0100)
modules/demux/asf/asf.c

index fedc23216688bd9111112776934a333724e2363d..befcf59107a2471a5d8ae3615d40ae096c1e1237 100644 (file)
@@ -261,7 +261,13 @@ static int SeekIndex( demux_t *p_demux, mtime_t i_date, float f_pos )
 
     uint64_t i_offset = (uint64_t)p_index->index_entry[i_entry].i_packet_number *
                         p_sys->p_fp->i_min_data_packet_size;
-    return stream_Seek( p_demux->s, p_sys->i_data_begin + i_offset );
+
+    if ( stream_Seek( p_demux->s, p_sys->i_data_begin + i_offset ) == VLC_SUCCESS )
+    {
+        es_out_Control( p_demux->out, ES_OUT_SET_NEXT_DISPLAY_TIME, VLC_TS_0 + i_date );
+        return VLC_SUCCESS;
+    }
+    else return VLC_EGENERIC;
 }
 
 static void SeekPrepare( demux_t *p_demux )