12 #ifndef ROC_AUDIO_WATCHDOG_H_
13 #define ROC_AUDIO_WATCHDOG_H_
91 bool check_blank_timeout_()
const;
94 bool check_drops_timeout_();
96 void update_status_(
const Frame& frame);
101 const size_t num_channels_;
111 unsigned curr_window_flags_;
bool update()
Update stream.
bool valid() const
Check if object is successfully constructed.
virtual void read(Frame &frame)
Read audio frame.
Watchdog(IReader &reader, size_t num_channels, const WatchdogConfig &config, size_t sample_rate, core::IAllocator &allocator)
Initialize.
Memory allocator interface.
Base class for non-copyable objects.
Memory allocator interface.
const nanoseconds_t Millisecond
One millisecond represented in nanoseconds.
const nanoseconds_t Second
One second represented in nanoseconds.
int64_t nanoseconds_t
Nanoseconds.
uint32_t timestamp_t
Audio packet timestamp.
Various units used in packets.
WatchdogConfig()
Initialize config with default values.
core::nanoseconds_t breakage_detection_window
Breakage detection window, nanoseconds.
core::nanoseconds_t broken_playback_timeout
Timeout for frequent breakages, nanoseconds.
size_t frame_status_window
Frame status window size for logging, number of frames.
core::nanoseconds_t no_playback_timeout
Timeout for the lack of packets, nanoseconds.