speex_decoder_ctl(st, SPEEX_SET_PF, &pf_enabled);
speex_decoder_ctl(st, SPEEX_SET_ENH, &enh_enabled);
static void *process_header(ogg_packet *op, int pf_enabled, int *frame_size, int *rate, int *nframes){   void *st;   SpeexMode *mode;   SpeexHeader *header;      header = speex_packet_to_header((char*)op->packet, op->bytes);   if (!header)   {      fprintf (stderr, "Cannot read header\n");      return NULL;   }   if (header->mode >= SPEEX_NB_MODES)   {      fprintf (stderr, "Mode number %d does not (any longer) exist in this version\n",                header->mode);      return NULL;   }         mode = speex_mode_list[header->mode];      if (mode->bitstream_version < header->mode_bitstream_version)   {      fprintf (stderr, "The file was encoded with a newer version of Speex. You need to upgrade in order to play it.\n");      return NULL;   }   if (mode->bitstream_version > header->mode_bitstream_version)    {      fprintf (stderr, "The file was encoded with an older version of Speex. You would need to downgrade the version in order to play it.\n");      return NULL;   }      st = speex_decoder_init(mode);   speex_decoder_ctl(st, SPEEX_SET_PF, &pf_enabled);   speex_decoder_ctl(st, SPEEX_GET_FRAME_SIZE, frame_size);      *rate = header->rate;   *nframes = header->frames_per_packet;      fprintf (stderr, "Decoding %d Hz audio using %s mode",             *rate, mode->modeName);   if (header->vbr)      fprintf (stderr, " (VBR)\n");   else      fprintf(stderr, "\n");   /*fprintf (stderr, "Decoding %d Hz audio at %d bps using %s mode\n",     *rate, mode->bitrate, mode->modeName);*/   free(header);   return st;}