[vlc-commits] demux:ps: fix the same vararg used twice

Steve Lhomme git at videolan.org
Thu Sep 20 16:15:54 CEST 2018


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Thu Sep 20 14:59:11 2018 +0200| [a8ff7e56a8128da444bce58a80e09203947742d8] | committer: Steve Lhomme

demux:ps: fix the same vararg used twice

from 07666913ef3533acaf0f640a50af45e64b12d5dd

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

 modules/demux/mpeg/ps.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/demux/mpeg/ps.c b/modules/demux/mpeg/ps.c
index 342fcadfba..724a9dfe1d 100644
--- a/modules/demux/mpeg/ps.c
+++ b/modules/demux/mpeg/ps.c
@@ -736,13 +736,14 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
             }
             if( p_sys->i_first_scr != VLC_TICK_INVALID && p_sys->i_scr != VLC_TICK_INVALID )
             {
-                *va_arg( args, vlc_tick_t * ) = p_sys->i_scr - p_sys->i_first_scr;
+                vlc_tick_t i_time = p_sys->i_scr - p_sys->i_first_scr;
                 /* H.222 2.5.2.2 */
                 if( p_sys->i_mux_rate > 0 && p_sys->b_have_pack )
                 {
                     uint64_t i_offset = vlc_stream_Tell( p_demux->s ) - p_sys->i_lastpack_byte;
-                    *va_arg( args, vlc_tick_t * ) += CLOCK_FREQ * i_offset / (p_sys->i_mux_rate * 50);
+                    i_time += CLOCK_FREQ * i_offset / (p_sys->i_mux_rate * 50);
                 }
+                *va_arg( args, vlc_tick_t * ) = i_time;
                 return VLC_SUCCESS;
             }
             *va_arg( args, vlc_tick_t * ) = 0;



More information about the vlc-commits mailing list