bugtracker
bugtracker copied to clipboard
Connecting Mixer HubPorts causes a segfault
When I try to connect two HubPorts on a Mixer hub, KMS segfaults immediately. I'm using the Java SDK to connect to KMS running in Docker on my machine.
Steps to reproduce the behavior:
KurentoClient kurentoClient = KurentoClient.create("ws://localhost:8888/kurento");
MediaPipeline mediaPipeline = kurentoClient.createMediaPipeline();
Mixer mixer = new Mixer.Builder(mediaPipeline).build();
HubPort inputPort1 = new HubPort.Builder(mixer).build();
HubPort inputPort2 = new HubPort.Builder(mixer).build();
HubPort outputPort = new HubPort.Builder(mixer).build();
RtpEndpoint rtpEndpoint1 = new RtpEndpoint.Builder(mediaPipeline).build();
RtpEndpoint rtpEndpoint2 = new RtpEndpoint.Builder(mediaPipeline).build();
RtpEndpoint rtpEndpointOut = new RtpEndpoint.Builder(mediaPipeline).build();
rtpEndpoint1.connect(inputPort1, MediaType.AUDIO);
rtpEndpoint2.connect(inputPort2, MediaType.AUDIO);
outputPort.connect(rtpEndpointOut, MediaType.AUDIO);
mixer.connect(MediaType.AUDIO, inputPort1, outputPort);
This last line is what causes the segfault:
mixer.connect(MediaType.AUDIO, inputPort1, outputPort);
Expected behavior: I would expect the server to not segfault, and media to start flowing (assuming there was something else connected to these RtpEndpoints).
- Kurento version: 6.13.0
- Server OS: Docker on macOS
- Installation method: docker pull kurento/kurento-media-server:latest && docker run -it --rm --name kms -p 8888:8888 kurento/kurento-media-server:latest
Application Server
- Language: Java
- Client version: 6.13.0
kurento-media-server -v
0:00:00.010175164 36 0x55f0c109b4a0 DEBUG KurentoModuleManager ModuleManager.cpp:158:loadModules: Looking for modules, path: /usr/lib/x86_64-linux-gnu/kurento/modules
0:00:00.010305086 36 0x55f0c109b4a0 DEBUG KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so
0:00:00.016148657 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so
0:00:00.016220918 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: elements, version: 6.13.0, date: Dec 17 2019 13:26:02
0:00:00.016266065 36 0x55f0c109b4a0 DEBUG KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so
0:00:00.016742212 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so
0:00:00.016795638 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: core, version: 6.13.0, date: Dec 17 2019 13:17:31
0:00:00.016829079 36 0x55f0c109b4a0 DEBUG KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so
0:00:00.017676092 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so
0:00:00.017731170 36 0x55f0c109b4a0 INFO KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: filters, version: 6.13.0, date: Dec 17 2019 13:35:00
Kurento Media Server version: 6.13.0
Found modules:
'core' version 6.13.0
'elements' version 6.13.0
'filters' version 6.13.0
@nguyer Maybe you don't need manual connect inputPort1 to outputPort. Mixer will do it. I used CompositeMixer instead of Mixer in java client for mixer video and audio (MCU), it's work fine.