<div dir="ltr"><div><div><br></div><div>---</div><div> modules/demux/mpeg/ts.c     | 6 +++++-</div><div> modules/demux/mpeg/ts_psi.c | 2 +-</div><div> 2 files changed, 6 insertions(+), 2 deletions(-)</div><div><br></div><div>diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c</div><div>index f70844b..e673cc7 100644</div><div>--- a/modules/demux/mpeg/ts.c</div><div>+++ b/modules/demux/mpeg/ts.c</div><div>@@ -1976,10 +1976,14 @@ int ProbeEnd( demux_t *p_demux, int i_program )</div><div>     int64_t i_stream_size = stream_Size( p_sys->stream );</div><div> </div><div>     int i_probe_count = PROBE_CHUNK_COUNT;</div><div>+    const int i_probe_max = 5 * PROBE_CHUNK_COUNT;</div><div>     int64_t i_pos;</div><div>     mtime_t i_pcr = -1;</div><div>     bool b_found = false;</div><div> </div><div>+    if ( p_sys->b_canfastseek == false )</div><div>+        i_probe_count = i_probe_max;</div><div>+</div><div>     do</div><div>     {</div><div>         i_pos = i_stream_size - (p_sys->i_packet_size * i_probe_count);</div><div>@@ -1992,7 +1996,7 @@ int ProbeEnd( demux_t *p_demux, int i_program )</div><div> </div><div>         /* Go ahead one more chunk if end of file contained only stuffing packets */</div><div>         i_probe_count += PROBE_CHUNK_COUNT;</div><div>-    } while( i_pos > 0 && (i_pcr == -1 || !b_found) && i_probe_count < (6 * PROBE_CHUNK_COUNT) );</div><div>+    } while( i_pos > 0 && (i_pcr == -1 || !b_found) && i_probe_count <= i_probe_max );</div><div> </div><div>     if( stream_Seek( p_sys->stream, i_initial_pos ) )</div><div>         return VLC_EGENERIC;</div><div>diff --git a/modules/demux/mpeg/ts_psi.c b/modules/demux/mpeg/ts_psi.c</div><div>index ac14b79..05623ac 100644</div><div>--- a/modules/demux/mpeg/ts_psi.c</div><div>+++ b/modules/demux/mpeg/ts_psi.c</div><div>@@ -1714,7 +1714,7 @@ static void PMTCallBack( void *data, dvbpsi_pmt_t *p_dvbpsipmt )</div><div>     }</div><div> </div><div>     /* Probe Boundaries */</div><div>-    if( p_sys->b_canfastseek && p_pmt->i_last_dts == -1 )</div><div>+    if( p_sys->b_canseek && p_pmt->i_last_dts == -1 )</div><div>     {</div><div>         p_pmt->i_last_dts = 0;</div><div>         ProbeStart( p_demux, p_pmt->i_number );</div><div>-- </div><div>1.9.1</div></div><div><br></div></div>