Исправление ProtocolException в getChildren()

Когда я пытаюсь вызвать getChildren() на mediapipeline, в котором работает моя пользовательская конечная точка модуля, я получаю это исключение:

org.kurento.client.internal.server.ProtocolException: исключение создание класса Java для mycustomfilter.MyCustomFilter

Это код, который запускает его:

List<MediaObject> mediaObjects = pipelines.get(i).getChildren();

Должен ли я использовать List<MediaObject> для какого-либо другого типа данных?

Ответы

Ответ 1

Когда вы создаете пользовательский элемент мультимедиа для KMS, вы также можете создать клиентский API для Java и JavaScript (см. doc здесь). В вашем случае вам нужно создать клиент Java для вашего фильтра, как показано ниже:

cmake .. -DGENERATE_JAVA_CLIENT_PROJECT=TRUE

Полученные Java-классы (пакет mycustomfilter.MyCustomFilter в вашем примере) должны быть в пути к классам проекта, который вызывает getChildren() (внутренне он вызывает Class.forName, см. код здесь).

Ответ 2

Не могли бы вы попробовать?

List<MediaObject> mediaObjects = new ArrayList<MediaObject>(Arrays.asList(pipelines.get(i).getChildren()));