Pull to refresh
70
0
Максим Андреев @cdump

.

Send message

А в чем конкретно была проблема? Если в автодополнении C/C++ - то используем https://github.com/cdump/bazel_compile_commands

Поверхностно смотрели - нет поддержки нужного нам Go и с кэшированием вроде бы похуже Bazel, после этого более детально изучать не стали.

интересно, как измерял точность автор отзыва
Несколько месяцев
Правдивость — доверился обсуждениям на iXBT, абсолютные значения показателей с другими приборами не сравнивал
Xiaomi Mijia Cleargrass Air Detector — ~8k
CO2 + PM2.5 + tVOC + влажность, еще и показания можно снимать через python-miio и например самому делать графики/алерты/любую кастомную логику: image
В gcc можно смотреть на __builtin_return_address (https://gcc.gnu.org/onlinedocs/gcc/Return-Address.html), а из него уже понять имя функции/строку (если собраны с дебагом)
Хороший обзор!
P. P. S. Для себя мы выбрали HNSW.

Я так понимаю HNSW у вас используется где-то в продакшне? Если да, то у меня есть куча вопросов :)
А какая размерность вектора у вас используется?
Какой размер данных (штук векторов) обычно в индексе и какие параметры M / ef выбрали для генерации индекса, какой ef для поиска?
Данные изменяются? Если да, то как часто делаете перейстройку индекса и что делаете с теми данными, которые пока еще не попали в индекс, но по которым хочется искать?
Как решали проблему удаления из индекса, или такой задачи нет/подходит решение перестроением индекса?
Реализовали HNSW самостоятельно или взяли какую-то готовую реализацию?
Я предложил такой вариант, но его желательно проверить тому, кто нормально знаком с кодом ffmpeg.
diff --git a/libavformat/hls.c b/libavformat/hls.c
index cd64501..8893f24 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -610,6 +610,10 @@ static int open_url(HLSContext *c, URLContext **uc, const char *url, AVDictionar
 {
     AVDictionary *tmp = NULL;
     int ret;
+	const char *proto_name = avio_find_protocol_name(url);
+	// only http(s) & file are allowed
+	if (!av_strstart(proto_name, "http", NULL) && !av_strstart(proto_name, "file", NULL))
+		return AVERROR_INVALIDDATA;
 
     av_dict_copy(&tmp, c->avio_opts, 0);
     av_dict_copy(&tmp, opts, 0);
В плейлисте может быть плейлист, и если в ответ на полученную первую строчку прислать в ответ еще один плейлист, где будет запрос с нужным offset'ом (subfile) второй строчки, а дальше повторять так, пока не прочитаем весь файл построчно, то все должно получиться.
Read and seek from many resources in sequence as if they were a unique resource.

я это понимаю как
concat:first://arg1|second://arg2 => ./result `./first arg1``./second arg2`
А, я думал речь про concat с урлом.
В любом случае, картинка — это красиво, но subfile — это полный файл без искажений

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity