Фрэнк Шеарар SIP Компонент - PullRequest
2 голосов
/ 18 ноября 2011

Я смотрю демонстрационную программу Фрэнка Шеарара и не могу создать демонстрационную программу.Я исправил все ссылки на "отсутствующие файлы", и последние ошибки, которые я пытаюсь исправить, связаны с различиями в интерфейсе в классах и тем, как они используются сейчас ...

Self.CalleeMedia := TIdSDPMultimediaSession.Create(Self.Profile);

vs

Self.CalleeMedia := TIdSDPMultimediaSession.Create(Self.Profile, ???, ???);

Я знаю, что интерфейс теперь выглядит как ....

constructor TIdSDPMultimediaSession.Create(Profile: TIdRTPProfile; 
  Factory: TIdSdpMediaStreamFactory; ExecutionContext: TIdTimerQueue);

, и я мог бы просто добавить ...

x := TIdSdpMediaStreamFactory.Create;
y := TIdTimerQueue.Create;

и передать их?Или в обоих случаях.Есть несколько других мест, где я получаю подобные ошибки при создании демонстрационной программы.Мне просто нужно создавать другие объекты, которые требуются?Если нет, какие дополнительные шаги необходимы?Любая помощь, чтобы начать меня, была бы великолепна.

Спасибо,

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Я подозреваю, что просто забыл обновить демо в соответствии с интерфейсом API SDP!

Создайте TIdSdpMediaStreamFactory и TIdTimerQueue перед созданием TIdSDPMultimediaSession.

В частностипосмотрите, как настроен тестовый пример, в test\TestIdSdp.pas:

procedure TestTIdSDPMultimediaSession.SetUp;
begin
  inherited SetUp;

  Self.Factory     := TMockMediaStreamFactory.Create;
  Self.Profile     := TIdAudioVisualProfile.Create;
  Self.Timer       := TIdThreadedTimerQueue.Create(false);
  Self.MS          := TIdSDPMultimediaSession.Create(Self.Profile, Self.Factory, Self.Timer);
  Self.PortBlocker := TIdMockRTPPeer.Create;

  // We only instantiate Server so that we know that GStack points to an
  // instantiated stack.
  Self.Server := TIdUdpServer.Create(nil);
end;
0 голосов
/ 24 ноября 2011

Демо-проект не может быть скомпилирован. У него много ссылок для проверки * файлов. Также все фабрики были заявлены в тестовом проекте.

...