pull/1542/head
SmileGoat 3 years ago
parent c769d90781
commit 7c1b432830

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include "base/common.h"
#include "frontend/feature_extractor_interface.h"

@ -35,7 +35,6 @@ void RawAudioSource::AcceptWaveform(const VectorBase<BaseFloat>& data) {
ring_buffer_[idx % ring_buffer_.size()] = data(idx);
}
data_length_ += data.Dim();
ready_read_condition_.notify_one();
}
// bool RawAudioSource::AcceptWaveform(BaseFloat* data, int length) {
@ -53,7 +52,7 @@ bool RawAudioSource::Read(Vector<BaseFloat>* feat) {
std::unique_lock<std::mutex> lock(mutex_);
while (chunk_size > data_length_) {
// when audio is empty and no more data feed
// ready_read_condition will block in dead lock.
// ready_read_condition will block in dead lock. so replace with timeout_
// ready_read_condition_.wait(lock);
int32 elapsed = static_cast<int32>(timer.Elapsed() * 1000);
if (elapsed > timeout_) {

@ -18,8 +18,6 @@
#include "base/common.h"
#include "frontend/feature_extractor_interface.h"
#pragma once
namespace ppspeech {
class RawAudioSource : public FeatureExtractorInterface {
@ -40,7 +38,6 @@ class RawAudioSource : public FeatureExtractorInterface {
size_t data_length_;
bool finished_;
mutable std::mutex mutex_;
std::condition_variable ready_read_condition_;
std::condition_variable ready_feed_condition_;
kaldi::int32 timeout_;

Loading…
Cancel
Save