static ANPAudioTrack* ANPCreateTrack(uint32_t sampleRate,
                                     ANPSampleFormat format,
                                     int channelCount,
                                     ANPAudioCallbackProc proc,
                                     void* user) {
    
    ANPAudioTrack* track = new ANPAudioTrack;
    
    track->mUser = user;
    track->mProc = proc;
// TODO:
#if 0
    track->mTrack = new android::AudioTrack(AUDIO_STREAM_MUSIC,
                                            sampleRate,
                                            fromANPFormat(format),
                                            (channelCount > 1) ? AUDIO_CHANNEL_OUT_STEREO : AUDIO_CHANNEL_OUT_MONO,
                                            0,  // frameCount
                                            (audio_output_flags_t) 0, // AUDIO_OUTPUT_FLAG_NONE,
                                            callbackProc,
                                            track,
                                            0);
    track->mChannelCount = channelCount;
    
    if (track->mTrack->initCheck() != 0) {  // failure
//Android KITKAT Merge  - START
//        delete track->mTrack;
	  track->mTrack.clear();
//Android KITKAT Merge  - END
        delete track;
        track = NULL;
    }
#endif
    return track;
}
Ejemplo n.º 2
0
static ANPAudioTrack* ANPCreateTrack(uint32_t sampleRate,
                                     ANPSampleFormat format,
                                     int channelCount,
                                     ANPAudioCallbackProc proc,
                                     void* user) {
    
    ANPAudioTrack* track = new ANPAudioTrack;
    
    track->mUser = user;
    track->mProc = proc;
    track->mTrack = new android::AudioTrack(android::AudioTrack::MUSIC,
                                            sampleRate,
                                            fromANPFormat(format),
                                            channelCount,
                                            0,  // frameCount
                                            0,  // flags
                                            callbackProc,
                                            track,
                                            0);
    
    if (track->mTrack->initCheck() != 0) {  // failure
        delete track->mTrack;
        delete track;
        track = NULL;
    }
    return track;
}