- /* Backup headers as extra data */
- uint8_t *p_extra;
-
- p_dec->fmt_in.p_extra = realloc_or_free( p_dec->fmt_in.p_extra,
- p_dec->fmt_in.i_extra + oggpacket.bytes + 2 );
- assert( p_dec->fmt_in.p_extra );
- p_extra = ((uint8_t *)p_dec->fmt_in.p_extra) + p_dec->fmt_in.i_extra;
- *(p_extra++) = oggpacket.bytes >> 8;
- *(p_extra++) = oggpacket.bytes & 0xFF;
-
- memcpy( p_extra, oggpacket.packet, oggpacket.bytes );
- p_dec->fmt_in.i_extra += oggpacket.bytes + 2;
-
- block_Release( *pp_block );
- p_sys->i_headers++;
- return NULL;
- }
-
- if( p_sys->i_headers == 3 )
- {
- if( ProcessHeaders( p_dec ) != VLC_SUCCESS )