{
MWR_LOGI("[ENTER]");
+ mStreamingThreadActive.store(true);
+
unique_lock<mutex> lock(mMutex, defer_lock);
bool finish_event_sent = false;
}
}
}
+ mStreamingThreadActive.store(false);
return;
}
cnt++;
}
}
}
+ mStreamingThreadActive.store(false);
MWR_LOGI("[EXIT]");
}
data_with_time.data = data;
data_with_time.time = time;
+ static unsigned int num = 0;
+ const std::chrono::seconds interval(3);
+ static auto last = std::chrono::steady_clock::now();
+ auto now = std::chrono::steady_clock::now();
+ if (now - last > interval) {
+ MWR_LOGI("Feeding audio data : num(%d), now(%" PRId64 "), %d %zu",
+ num, now.time_since_epoch().count(),
+ mStreamingThreadActive.load(), mAudioData.size());
+ last = now;
+ }
+ num++;
+
lock_guard<mutex> lock(mMutex);
/* Pop items only when the streaming is not activated */
- if (!mStreamingThread.joinable()) {
+ if (!mStreamingThreadActive.load()) {
while(false == mAudioData.empty() && mAudioData.front().time < time - delta) {
const auto &front = mAudioData.front();
if (front.data.buffer) {
{
if (nullptr == g_wakeup_manager) return -1;
- static unsigned int num = 0;
- const std::chrono::seconds interval(5);
- static auto last = std::chrono::steady_clock::now();
- auto now = std::chrono::steady_clock::now();
- if (now - last > interval) {
- MWR_LOGI("Feeding audio data : num(%d), now(%" PRId64 ")",
- num, now.time_since_epoch().count());
- last = now;
- }
- num++;
-
g_wakeup_manager->feed_audio_data(event, buffer, len);
return 0;