bit_rate = a52dec->bit_rate;
sample_rate = a52dec->sample_rate;
flags = 0;
- while (av >= 7) {
+ while (size >= 7) {
- length = a52_syncinfo (data, &flags, &sample_rate, &bit_rate);
+ length = a52_syncinfo ((guint8 *) data, &flags, &sample_rate, &bit_rate);
if (length == 0) {
/* shift window to re-find sync */
gst_audio_decoder_get_parse_state (dec, &sync, &eos);
/* need to peek data to get the size */
- if (gst_adapter_available (adapter) < 1)
+ if (size < 1)
return GST_FLOW_ERROR;
- data = gst_adapter_peek (adapter, 1);
+ gst_adapter_copy (adapter, head, 0, 1);
/* get size */
switch (amrnbdec->variant) {
gst_audio_decoder_get_parse_state (dec, &sync, &eos);
/* need to peek data to get the size */
- if (gst_adapter_available (adapter) < 1)
+ if (size < 1)
return GST_FLOW_ERROR;
- data = gst_adapter_peek (adapter, 1);
- mode = (data[0] >> 3) & 0x0F;
+ gst_adapter_copy (adapter, header, 0, 1);
+ mode = (header[0] >> 3) & 0x0F;
block = block_size[mode];
GST_DEBUG_OBJECT (amrwbdec, "mode %d, block %d", mode, block);