c++ - Superpowered Android PlayBack & Record Simultaneously -


i developing mixer using superpowered android c++ library, getting issue player while recording, player not playing, recorder recording. below code, can guide me misplacing something

bool processrecording(short int *input, unsigned int numberofsamples) { pthread_mutex_lock(&mutex); if (askrecording) {     unsigned int data = 0;         superpoweredshortinttofloat(input, stereobufferrecording, numberofsamples);        data = recorder->process(stereobufferrecording, null, numberofsamples);         playera->process( musicbuffer, false, numberofsamples, 0.5f );        superpoweredshortinttofloat(input, stereobufferrecording, numberofsamples);         superpoweredfloattoshortint(musicbuffer, input, numberofsamples);         pthread_mutex_unlock(&mutex);        return true;        } pthread_mutex_unlock(&mutex); return false; } 

does have idea in right place?

after changes suggested @gabor following code snippet

bool processrecording(short int *input, unsigned int numberofsamples) {  pthread_mutex_lock(&mutex); if (askrecording) {     unsigned int data = 0;     superpoweredshortinttofloat(input, stereobufferrecording, numberofsamples);      playera->process( musicbuffer, false, numberofsamples, 1.0f );  //=====================================================================================  // ================== mixing 2 buffer ==================      mixerinputs[0] = musicbuffer;     mixerinputs[1] = stereobufferrecording;     mixerinputs[2] = null;     mixerinputs[3] = null;      mixeroutputs[0] = outputbuffer;     mixeroutputs[1] = null;      float inputlevels[] = { 0.5f, 0.5f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f };     float outputlevels[] = { 1.0f, 1.0f };     __android_log_print(android_log_info, "nativesuperpoweredrecorder  ", " processrecording 2>>");     mixerbackend->process(mixerinputs, mixeroutputs, inputlevels, outputlevels, null, null, numberofsamples);  //=====================================================================================      data = recorder->process(mixeroutputs[0], null, numberofsamples);     superpoweredfloattoshortint(musicbuffer, input, numberofsamples);     pthread_mutex_unlock(&mutex);     return true; } pthread_mutex_unlock(&mutex);  return false; } 

this in code:

input->stereobufferrecording->recorder

input->stereobufferrecording->?

player->musicbuffer->input

when askrecording false, player not playing @ all.

i'm guessing "input" same buffer goes "output" well?


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -