[vlc-devel] commit: Clip pts_delay from access/demux to 60s. (Laurent Aimar )

git version control git at videolan.org
Thu Apr 30 22:34:56 CEST 2009


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Thu Apr 30 22:29:08 2009 +0200| [6d9c2bc2d6f40012f068725a117a54888b28e606] | committer: Laurent Aimar 

Clip pts_delay from access/demux to 60s.

That plus the fact that the decoder already limit its fifo will allow
to mark all --*-cache options safe.

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

 src/input/input.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/input/input.c b/src/input/input.c
index dfb27e5..4ff910f 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -110,6 +110,9 @@ static void SubtitleAdd( input_thread_t *p_input, char *psz_subtitle, bool b_for
 
 static void input_ChangeState( input_thread_t *p_input, int i_state ); /* TODO fix name */
 
+/* Do not let a pts_delay from access/demux go beyong 60s */
+#define INPUT_PTS_DELAY_MAX INT64_C(601000000)
+
 /*****************************************************************************
  * This function creates a new input, and returns a pointer
  * to its description. On error, it returns NULL.
@@ -2370,6 +2373,8 @@ static int InputSourceInit( input_thread_t *p_input,
         /* Get infos from access_demux */
         demux_Control( in->p_demux,
                         DEMUX_GET_PTS_DELAY, &in->i_pts_delay );
+        in->i_pts_delay = __MAX( 0, __MIN( in->i_pts_delay, INPUT_PTS_DELAY_MAX ) );
+
 
         in->b_title_demux = true;
         if( demux_Control( in->p_demux, DEMUX_GET_TITLE_INFO,
@@ -2440,6 +2445,7 @@ static int InputSourceInit( input_thread_t *p_input,
             bool b_can_seek;
             access_Control( in->p_access,
                              ACCESS_GET_PTS_DELAY, &in->i_pts_delay );
+            in->i_pts_delay = __MAX( 0, __MIN( in->i_pts_delay, INPUT_PTS_DELAY_MAX ) );
 
             in->b_title_demux = false;
             if( access_Control( in->p_access, ACCESS_GET_TITLE_INFO,




More information about the vlc-devel mailing list