< prev index next > modules/javafx.media/src/main/native/jfxmedia/platform/osx/avf/AVFAudioSpectrumUnit.cpp
Print this page
mSampleRate(0),
mChannels(0),
mMaxFrames(0),
mSamplesPerInterval(0),
mRebuildCrunch(true),
+ mFirstBufferDelivered(false),
mSpectrumElement(NULL),
mSpectrum(NULL) {
mMixBuffer.mNumberBuffers = 1;
mMixBuffer.mBuffers[0].mData = NULL;
mBands->UpdateBands(size, magnitudes, magnitudes);
// Call our listener to dispatch the spectrum event
if (mSpectrumCallbackProc) {
double duration = (double) mSamplesPerInterval / (double) 44100;
! mSpectrumCallbackProc(mSpectrumCallbackContext, duration);
}
unlockBands();
}
mBands->UpdateBands(size, magnitudes, magnitudes);
// Call our listener to dispatch the spectrum event
if (mSpectrumCallbackProc) {
double duration = (double) mSamplesPerInterval / (double) 44100;
! double timestamp = mFirstBufferDelivered ? -1.0 : 0.0;
+ mSpectrumCallbackProc(mSpectrumCallbackContext, duration, timestamp);
}
unlockBands();
}
void AVFAudioSpectrumUnit::SetSpectrumCallbackProc(AVFSpectrumUnitCallbackProc proc, void *context) {
mSpectrumCallbackProc = proc;
mSpectrumCallbackContext = context;
}
+ void AVFAudioSpectrumUnit::SetFirstBufferDelivered(bool isFirstBufferDelivered) {
+ mFirstBufferDelivered = isFirstBufferDelivered;
+ }
+
static gboolean PostMessageCallback(GstElement * element, GstMessage * message) {
if (message == NULL) {
return FALSE;
}
< prev index next >