+ /* Allocate the memory needed to store the decoder's structure */
+ if( ( p_dec->p_sys = p_sys =
+ (decoder_sys_t *)malloc(sizeof(decoder_sys_t)) ) == NULL )
+ return VLC_ENOMEM;
+
+ /* Misc init */
+ p_sys->b_packetizer = false;
+ p_sys->i_state = STATE_NOSYNC;
+ aout_DateSet( &p_sys->end_date, 0 );
+
+ p_sys->bytestream = block_BytestreamInit();
+ p_sys->i_input_rate = INPUT_RATE_DEFAULT;
+
+ /* Set output properties */
+ p_dec->fmt_out.i_cat = AUDIO_ES;
+ p_dec->fmt_out.i_codec = VLC_FOURCC('a','5','2',' ');
+ p_dec->fmt_out.audio.i_rate = 0; /* So end_date gets initialized */
+
+ /* Set callback */
+ p_dec->pf_decode_audio = (aout_buffer_t *(*)(decoder_t *, block_t **))
+ DecodeBlock;
+ p_dec->pf_packetize = (block_t *(*)(decoder_t *, block_t **))
+ DecodeBlock;
+