From 10b01ed4910dfd1e26e5989818f7d53bd839f9b0 Mon Sep 17 00:00:00 2001
From: Laurent Aimar <fenrir@videolan.org>
Date: Sun, 10 Aug 2003 22:13:05 +0000
Subject: [PATCH]  * mpegvideo.c: try to set a better value for length. (I am
 not sure it is  the good one but it give far better result). dts/pts/length
 computation  should be verified.

---
 modules/packetizer/mpegvideo.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/modules/packetizer/mpegvideo.c b/modules/packetizer/mpegvideo.c
index bab30bf8abf4..548bbaa11c3e 100644
--- a/modules/packetizer/mpegvideo.c
+++ b/modules/packetizer/mpegvideo.c
@@ -2,7 +2,7 @@
  * mpegvideo.c
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: mpegvideo.c,v 1.15 2003/06/10 22:42:59 gbazin Exp $
+ * $Id: mpegvideo.c,v 1.16 2003/08/10 22:13:05 fenrir Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Eric Petit <titer@videolan.org>
@@ -510,15 +510,21 @@ static void PacketizeThread( packetizer_t *p_pack )
     {
         /* Trivial case (DTS == PTS) */
         p_pack->i_interpolated_dts += i_duration;
+        p_sout_buffer->i_length = i_duration;
     }
     else
     {
         p_pack->i_interpolated_dts += p_pack->i_old_duration;
+        p_sout_buffer->i_length = p_pack->i_old_duration;
         p_pack->i_old_duration = i_duration;
     }
 
     p_sout_buffer->i_bitrate = (int)( 8 * i_pos * p_pack->d_frame_rate );
-    p_sout_buffer->i_length = i_duration;
+#if 0
+    msg_Dbg( p_pack->p_fifo, "------------> dts=%lld pts=%lld duration=%lld",
+             p_sout_buffer->i_dts, p_sout_buffer->i_pts,
+             p_sout_buffer->i_length );
+#endif
 
     sout_InputSendBuffer( p_pack->p_sout_input, p_sout_buffer );
 }
-- 
GitLab