avccontext->channels = vc->audio_channels;
avccontext->sample_rate = vc->audio_samplerate;
avccontext->frame_size = FFMIN(vc->blocksize[0], vc->blocksize[1]) >> 2;
+ /* ffdshow custom code */
+#if CONFIG_AUDIO_FLOAT
+ avccontext->sample_fmt = AV_SAMPLE_FMT_FLT;
+#else
avccontext->sample_fmt = AV_SAMPLE_FMT_S16;
+#endif
return 0 ;
}
len * ff_vorbis_channel_layout_offsets[vc->audio_channels - 1][i];
}
+ /* ffdshow custom code */
+#if CONFIG_AUDIO_FLOAT
+ float_interleave(data, channel_ptrs, len, vc->audio_channels);
+ *data_size = len * sizeof(float) * vc->audio_channels;
+#else
vc->fmt_conv.float_to_int16_interleave(data, channel_ptrs, len,
vc->audio_channels);
*data_size = len * 2 * vc->audio_channels;
+#endif
return buf_size ;
}