[vlc-commits] packetizer: hevc: handle AU_END flag

Francois Cartegnie git at videolan.org
Thu Mar 7 17:29:30 CET 2019


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Tue Aug 21 15:46:59 2018 +0200| [d1d0f6d255a83a339be656ef6a3f10923ba72556] | committer: Francois Cartegnie

packetizer: hevc: handle AU_END flag

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

 modules/packetizer/hevc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/packetizer/hevc.c b/modules/packetizer/hevc.c
index a5049f275d..b60892df5d 100644
--- a/modules/packetizer/hevc.c
+++ b/modules/packetizer/hevc.c
@@ -890,6 +890,7 @@ static void SetOutputBlockProperties(decoder_t *p_dec, block_t *p_output)
         }
         p_sys->pts = VLC_TICK_INVALID;
     }
+    p_output->i_flags &= ~BLOCK_FLAG_AU_END;
     hevc_release_sei_pic_timing(p_sys->p_timing);
     p_sys->p_timing = NULL;
 }
@@ -902,6 +903,7 @@ static block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t *p_fra
 {
     decoder_sys_t *p_sys = p_dec->p_sys;
     *pb_ts_used = false;
+    bool b_au_end = p_frag->i_flags & BLOCK_FLAG_AU_END;
 
     if(p_sys->b_need_ts)
     {
@@ -944,6 +946,10 @@ static block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t *p_fra
         p_output = ParseNonVCL(p_dec, i_nal_type, p_frag);
     }
 
+    if( !p_output && b_au_end )
+        p_output = OutputQueues(p_sys, p_sys->sets != MISSING &&
+                                       p_sys->b_recovery_point);
+
     p_output = GatherAndValidateChain(p_output);
     if(p_output)
     {



More information about the vlc-commits mailing list