demux_sys_t *p_sys;
const uint8_t *p_peek;
frame_header_t fh;
- bool b_extended;
/* Check id */
if( stream_Peek( p_demux->s, &p_peek, 12 ) != 12 ||
goto error;
if( p_peek[0] == 'X' )
{
- b_extended = true;
-
if( FrameHeaderLoad( p_demux, &fh ) )
goto error;
if( fh.i_length != 512 )
}
else
{
- b_extended = false;
-
/* XXX: for now only file with extended chunk are supported
* why: because else we need to have support for rtjpeg+stupid nuv shit */
- msg_Err( p_demux, "incomplete NUV support (upload samples)" );
+ msg_Err( p_demux, "VLC doesn't support NUV without extended chunks (please upload samples)" );
goto error;
}
{
/* for rtjpeg data, the header is also needed */
p_data = block_Realloc( p_data, NUV_FH_SIZE, fh.i_length );
+ if( unlikely(!p_data) )
+ abort();
memcpy( p_data->p_buffer, p_sys->fh_buffer, NUV_FH_SIZE );
}
/* 0,1,2,3 -> rtjpeg, >=4 mpeg4 */
const int32_t i_seek_elements = fh.i_length / 12;
/* Get keyframe adjust offsets */
- int32_t i_kfa_elements;
- uint8_t *p_kfa_table;
+ int32_t i_kfa_elements = 0;
+ uint8_t *p_kfa_table = NULL;
if( p_sys->exh.i_keyframe_adjust_offset > 0 )
{
i_kfa_elements = fh.i_length / 8;
}
- else
- {
- i_kfa_elements = 0;
- }
}
- else
- {
- i_kfa_elements = 0;
- }
-
if( i_kfa_elements > 0 )
msg_Warn( p_demux, "untested keyframe adjust support, upload samples" );