HVC1 Packetizer does not drain
Extracted from packetizer/hevc.c
:
/****************************************************************************
* Packetize
****************************************************************************/
static block_t *PacketizeHVC1(decoder_t *p_dec, block_t **pp_block)
{
decoder_sys_t *p_sys = p_dec->p_sys;
return PacketizeXXC1( p_dec, p_sys->i_nal_length_size,
pp_block, ParseNALBlock );
}
static block_t *PacketizeAnnexB(decoder_t *p_dec, block_t **pp_block)
{
decoder_sys_t *p_sys = p_dec->p_sys;
return packetizer_Packetize(&p_sys->packetizer, pp_block);
}
The HVC1 packetizing does not use packetizer_Packetize
which handle draining on a NULL input block.
This results in non-annexB streams losing a frame or two.