vlc | branch: master | Steve Lhomme <rob...@ycbcr.xyz> | Wed Jun 13 10:00:35 
2018 +0200| [9bd11ed9ca156913725545e084ab22f7b33dcc39] | committer: Steve Lhomme

mux:ts: simplify code

Compute the buffer duration only once.

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

 modules/mux/mpeg/ts.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/modules/mux/mpeg/ts.c b/modules/mux/mpeg/ts.c
index b77c38b06c..d7a6a59334 100644
--- a/modules/mux/mpeg/ts.c
+++ b/modules/mux/mpeg/ts.c
@@ -1652,11 +1652,12 @@ static block_t *FixPES( sout_mux_t *p_mux, block_fifo_t 
*p_fifo )
         i_copy = __MIN( STD_PES_PAYLOAD - i_size, p_next->i_buffer );
 
         memcpy( &p_data->p_buffer[i_size], p_next->p_buffer, i_copy );
+        vlc_tick_t offset = p_next->i_length * i_copy / p_next->i_buffer;
         if( p_next->i_pts )
-            p_next->i_pts += p_next->i_length * i_copy / p_next->i_buffer;
+            p_next->i_pts += offset;
         if( p_next->i_dts )
-            p_next->i_dts += p_next->i_length * i_copy / p_next->i_buffer;
-        p_next->i_length -= p_next->i_length * i_copy / p_next->i_buffer;
+            p_next->i_dts += offset;
+        p_next->i_length -= offset;
         p_next->i_buffer -= i_copy;
         p_next->p_buffer += i_copy;
         p_next->i_flags |= BLOCK_FLAG_NO_KEYFRAME;

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to