[vlc-commits] mux: mp4: don't create edts if no valid data/timestamp has been sent

Francois Cartegnie git at videolan.org
Wed Nov 22 11:27:55 CET 2017


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Nov 22 11:19:00 2017 +0100| [4a0a805858f0c931231265095f13d482b96c32a7] | committer: Francois Cartegnie

mux: mp4: don't create edts if no valid data/timestamp has been sent

otherwise creates offset from TS_INVALID

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

 modules/mux/mp4/mp4.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/modules/mux/mp4/mp4.c b/modules/mux/mp4/mp4.c
index 1017cfb774..b3393c7afd 100644
--- a/modules/mux/mp4/mp4.c
+++ b/modules/mux/mp4/mp4.c
@@ -602,10 +602,13 @@ static int Mux(sout_mux_t *p_mux)
         /* Reset reference dts in case of discontinuity (ex: gather sout) */
         if (p_data->i_flags & BLOCK_FLAG_DISCONTINUITY && p_stream->mux.i_entry_count)
         {
-            if(!CreateCurrentEdit(p_stream, p_sys->i_start_dts, p_sys->b_fragmented))
+            if(p_stream->i_first_dts != VLC_TS_INVALID)
             {
-                block_Release( p_data );
-                return VLC_ENOMEM;
+                if(!CreateCurrentEdit(p_stream, p_sys->i_start_dts, p_sys->b_fragmented))
+                {
+                    block_Release( p_data );
+                    return VLC_ENOMEM;
+                }
             }
 
             p_stream->i_length_neg = 0;



More information about the vlc-commits mailing list