Здравствуйте.
Делаю приложение под linux с использованием библиотеки live555. В приложении необходимо воспроизводить видеопотоки с камер. Мой код плеера передран из примера - тестовой программы:
int playstream(char** argv)
eventLoopWatchVariable = 0;
TaskScheduler* scheduler = BasicTaskScheduler::createNew();
UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);
RTSPClient * rtspClient = openURL(*env, argv[0], argv[1]);
env->taskScheduler().doEventLoop(&eventLoopWatchVariable);
TeardownSession(rtspClient);
env->reclaim();
delete scheduler;
return 0;
}
После каждого сеанса память утекает. Видимо, связано с тем, что rtspClient каждый раз создается, но никогда не удаляется. На форумах нашел совет по этому поводу, после TeardownSession вызвать Medium::close(client->rtspClient); Но, видимо, совет относится к каким-то старым версиям live555. В текущей никакого client’а нет.
Есть ли у кого-нибудь опыт? Куда копать?
