Implement automatic setting of redorder_queue_size in videostore by implementing has_out_of_order_packets and get_max_keyframe_interval in the monitor object.

more_gps
Isaac Connor 2023-07-19 12:38:11 -04:00
parent cb7d954a87
commit f4d3b979f4
2 changed files with 8 additions and 0 deletions

View File

@ -657,6 +657,9 @@ public:
return shared_data->janus_pin;
}
inline bool has_out_of_order_packets() const { return packetqueue.has_out_of_order_packets(); };
int get_max_keyframe_interval() const { return packetqueue.get_max_keyframe_interval(); };
bool OnvifEnabled() {
return onvif_event_listener;
}

View File

@ -152,6 +152,11 @@ bool VideoStore::open() {
Debug(1, "reorder_queue_size set to %zu", reorder_queue_size);
// remove it to prevent complaining later.
av_dict_set(&opts, "reorder_queue_size", nullptr, AV_DICT_MATCH_CASE);
} else {
if (monitor->has_out_of_order_packets()) {
reorder_queue_size = monitor->get_max_keyframe_interval();
Debug(1, "reorder_queue_size set to %zu because we have out of order packets", reorder_queue_size);
}
}
}