[vlc-commits] [Git][videolan/vlc][master] 2 commits: dvdread: avoid PCR reset before decoder drain

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Apr 3 13:34:28 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
9fb53cb3 by Saifelden Mohamed Ismail at 2026-04-03T12:53:20+00:00
dvdread: avoid PCR reset before decoder drain

- - - - -
0b63e6d7 by Saifelden Mohamed Ismail at 2026-04-03T12:53:20+00:00
dvdnav: avoid PCR reset before decoder drain

- - - - -


2 changed files:

- modules/access/dvdnav.c
- modules/access/dvdread.c


Changes:

=====================================
modules/access/dvdnav.c
=====================================
@@ -1036,9 +1036,6 @@ static int Demux( demux_t *p_demux )
         msg_Dbg( p_demux, "     - vtsN=%d", event->new_vtsN );
         msg_Dbg( p_demux, "     - domain=%d", event->new_domain );
 
-        /* reset PCR */
-        es_out_Control( p_sys->p_tf_out, ES_OUT_RESET_PCR );
-
         for( int i = 0; i < PS_TK_COUNT; i++ )
         {
             ps_track_t *tk = &p_sys->tk[i];
@@ -1061,6 +1058,9 @@ static int Demux( demux_t *p_demux )
             tk->b_configured = false;
         }
 
+        /* reset PCR */
+        es_out_Control( p_sys->p_tf_out, ES_OUT_RESET_PCR );
+
         uint32_t i_width, i_height;
         if( dvdnav_get_video_resolution( p_sys->dvdnav,
                                          &i_width, &i_height ) )


=====================================
modules/access/dvdread.c
=====================================
@@ -1015,7 +1015,6 @@ static int DvdReadSetArea( demux_t *p_demux, int i_title, int i_chapter,
          * Destroy obsolete ES by reinitializing program 0
          * and find all ES in title with ifo data
          */
-        es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
 
         for( int i = 0; i < PS_TK_COUNT; i++ )
         {
@@ -1028,6 +1027,8 @@ static int DvdReadSetArea( demux_t *p_demux, int i_title, int i_chapter,
             tk->b_configured = false;
         }
 
+        es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
+
         if( p_sys->cur_title != i_title )
         {
             p_sys->updates |= INPUT_UPDATE_TITLE | INPUT_UPDATE_SEEKPOINT;
@@ -1303,7 +1304,6 @@ static int DvdAudioReadSetArea( demux_t *p_demux, int i_title, int i_track,
          * Destroy obsolete ES by reinitializing program 0
          * and find all ES in title with ifo data
          */
-        es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
 
         for( int i = 0; i < PS_TK_COUNT; i++ )
         {
@@ -1316,6 +1316,8 @@ static int DvdAudioReadSetArea( demux_t *p_demux, int i_title, int i_track,
             tk->b_configured = false;
         }
 
+        es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
+
         if( p_sys->cur_title != i_title)
         {
             p_sys->updates |= INPUT_UPDATE_TITLE | INPUT_UPDATE_SEEKPOINT;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4dea3647f595172aaac800de6839f38d14ce2fa7...0b63e6d72f050e54bb460f49fe9711c8a79b90cc

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4dea3647f595172aaac800de6839f38d14ce2fa7...0b63e6d72f050e54bb460f49fe9711c8a79b90cc
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list