Commit d813da5e authored by Laurent Aimar's avatar Laurent Aimar

Added and used a packetizer_Header for packetizers.

parent 55441fa5
......@@ -355,19 +355,8 @@ static int Open( vlc_object_t *p_this )
/* */
if( p_dec->fmt_in.i_extra > 0 )
{
block_t *p_init = block_New( p_dec, p_dec->fmt_in.i_extra );
block_t *p_pic;
memcpy( p_init->p_buffer, p_dec->fmt_in.p_extra,
p_dec->fmt_in.i_extra );
while( ( p_pic = Packetize( p_dec, &p_init ) ) )
{
/* Should not occur because we should only receive SPS/PPS */
block_Release( p_pic );
}
}
packetizer_Header( &p_sys->packetizer,
p_dec->fmt_in.p_extra, p_dec->fmt_in.i_extra );
}
return VLC_SUCCESS;
......
......@@ -182,5 +182,19 @@ static inline block_t *packetizer_Packetize( packetizer_t *p_pack, block_t **pp_
}
}
static inline void packetizer_Header( packetizer_t *p_pack,
const uint8_t *p_header, int i_header )
{
block_t *p_init = block_Alloc( i_header );
if( !p_init )
return;
memcpy( p_init->p_buffer, p_header, i_header );
block_t *p_pic;
while( ( p_pic = packetizer_Packetize( p_pack, &p_init ) ) )
block_Release( p_pic ); /* Should not happen (only sequence header) */
}
#endif
......@@ -165,16 +165,8 @@ static int Open( vlc_object_t *p_this )
/* */
if( p_dec->fmt_out.i_extra > 0 )
{
block_t *p_init = block_New( p_dec, p_dec->fmt_out.i_extra );
memcpy( p_init->p_buffer, p_dec->fmt_out.p_extra,
p_dec->fmt_out.i_extra );
block_t *p_pic;
while( ( p_pic = Packetize( p_dec, &p_init ) ) )
block_Release( p_pic ); /* Should not happen (only sequence header) */
}
packetizer_Header( &p_sys->packetizer,
p_dec->fmt_out.p_extra, p_dec->fmt_out.i_extra );
}
return VLC_SUCCESS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment