]> git.sesse.net Git - vlc/blobdiff - src/input/es_out.c
Prepare for maximal clock jitter configuration.
[vlc] / src / input / es_out.c
index 865af703f9b8d22dd953971e6bb8da1e9898aa21..f71733873694faf662519a12ff245e283434e1cc 100644 (file)
@@ -2323,7 +2323,7 @@ static int EsOutControlLocked( es_out_t *out, int i_query, va_list args )
                      * TODO have a mean to correctly reenter bufferization */
                     es_out_Control( out, ES_OUT_RESET_PCR );
 
-                    es_out_SetJitter( out, i_pts_delay, p_sys->i_cr_average );
+                    es_out_SetJitter( out, i_pts_delay, 0, p_sys->i_cr_average );
                 }
             }
             return VLC_SUCCESS;
@@ -2598,19 +2598,20 @@ static int EsOutControlLocked( es_out_t *out, int i_query, va_list args )
         }
         case ES_OUT_SET_JITTER:
         {
-            mtime_t i_pts_delay = (mtime_t)va_arg( args, mtime_t );
+            mtime_t i_pts_delay  = (mtime_t)va_arg( args, mtime_t );
+            mtime_t i_pts_jitter = (mtime_t)va_arg( args, mtime_t );
             int     i_cr_average = (int)va_arg( args, int );
 
-            if( i_pts_delay == p_sys->i_pts_delay &&
+            if( i_pts_delay + i_pts_jitter == p_sys->i_pts_delay &&
                 i_cr_average == p_sys->i_cr_average )
                 return VLC_SUCCESS;
 
-            p_sys->i_pts_delay = i_pts_delay;
+            p_sys->i_pts_delay = i_pts_delay + i_pts_jitter;
             p_sys->i_cr_average = i_cr_average;
 
             for( int i = 0; i < p_sys->i_pgrm; i++ )
                 input_clock_SetJitter( p_sys->pgrm[i]->p_clock,
-                                       i_pts_delay, i_cr_average );
+                                       i_pts_delay + i_pts_jitter, i_cr_average );
             return VLC_SUCCESS;
         }