vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Oct 22 
20:55:28 2018 +0200| [aa290bfdd2000cfee36be92c9a479b0ac52c0ad2] | committer: 
Francois Cartegnie

access: bluray: reset pcr on every demux initiated random access

core can't cope with diff > 30s

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

 modules/access/bluray.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index a8324e832f..6a9ea3873c 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -2165,6 +2165,7 @@ static int blurayControl(demux_t *p_demux, int query, 
va_list args)
         }
         blurayRestartParser(p_demux, true);
         notifyDiscontinuityToParser(p_sys);
+        es_out_Control(p_demux->out, ES_OUT_RESET_PCR);
         es_out_Control(p_sys->p_out, BLURAY_ES_OUT_CONTROL_FLAG_DISCONTINUITY);
         break;
     }
@@ -2174,6 +2175,7 @@ static int blurayControl(demux_t *p_demux, int query, 
va_list args)
         bd_seek_chapter(p_sys->bluray, i_chapter);
         blurayRestartParser(p_demux, true);
         notifyDiscontinuityToParser(p_sys);
+        es_out_Control(p_demux->out, ES_OUT_RESET_PCR);
         p_sys->updates |= INPUT_UPDATE_SEEKPOINT;
         break;
     }
@@ -2704,6 +2706,7 @@ static void blurayHandleEvent(demux_t *p_demux, const 
BD_EVENT *e)
         {
             notifyDiscontinuityToParser(p_sys);
             blurayRestartParser(p_demux, false);
+            es_out_Control(p_demux->out, ES_OUT_RESET_PCR);
             p_sys->b_pl_playing = false;
         }
         break;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to