Искам да захраня libsamplerate (библиотека за понижаване на аудио данни, която се нуждае от попълване на следната структура:
typedef struct
{ float *data_in, *data_out ;
long input_frames, output_frames ;
long input_frames_used, output_frames_gen ;
int end_of_input ;
double src_ratio ;
} SRC_DATA ;
Полетата на тази структура, които трябва да бъдат попълнени от повикващия, са:
data_in : A pointer to the input data samples.
input_frames : The number of frames of data pointed to by data_in.
data_out : A pointer to the output data samples.
output_frames : Maximum number of frames pointer to by data_out.
src_ratio : Equal to output_sample_rate / input_sample_rate.
end_of_input : Equal to 0 if more input data is available and 1
otherwise.
За да попълня тази структура, имам data_in, но не знам броя на кадрите, така че не мога да дефинирам input_frames. Има ли лесен начин за изрязване на потока PCM байтове? Така че мога да го въведа в тази функция и с правилния брой кадри. (Така че този въпрос не е пряко свързан с libsamplerate)
end_of_input
в структурата). Очевидно последното ви обаждане може да има по-малко, когато знаете, че сте в края на потока. - person marko   schedule 22.07.2013