JRTPLib, получающий данные от нескольких клиентов одновременно, вызывает замедление - PullRequest
0 голосов
/ 25 октября 2018

У меня есть сеанс приема в серверном приложении, и два клиента отправляют свои аудиоданные на этот сервер.

В серверном приложении я просто попробовал эти два примера: https://github.com/j0r1/JRTPLIB/blob/master/examples/example4.cpp https://github.com/j0r1/JRTPLIB/blob/master/examples/example2.cpp

, который сводится к этому коду для получения данных в отдельном потоке:

 session.BeginDataAccess();
    if (session.GotoFirstSource())
    {
        do
        {
            RTPPacket *packet;

            while ((packet = session.GetNextPacket()) != 0)
            {
                //access to packet here
                session.DeletePacket(packet);
            }
        } while (session.GotoNextSource());
    }
    session.EndDataAccess();

Для одного отправляющего клиента все работает нормально, но когда два клиента отправляют , это выглядит как получениесеанс не может идти в ногу .Это не целое серверное приложение, заблокированное, хотя, я могу запросить список клиентов, и поток TCP отвечает во время этого замедления.

Я очень новичок в использовании RTP, простите меня, если я неправильно понимаю пример кода, и я будуБуду очень благодарен за любой совет, который я могу получить о том, как решить эту проблему.

Поэтому я пытаюсь получить данные из нескольких клиентских приложений за один сеанс приемника, но по какой-то причине это не работает слишком быстро.Что может быть причиной?Сеанс RTP предназначен для получения данных из нескольких источников iirc.

...