Ks-userport kernel module

From VoiSmart Open Source Wiki

Jump to: navigation, search

The ks-userport module is a kstreamer module whose purpose is to gateway streams flowing into the streaming network to the userland by means of character devices.

ks-userports register two character devices, userport_stream and userport_frame, usually placed in /dev/ks/. When the application opens the device a userport node is created with two simplex channels going to and from the softswitch. The kstreamer's Netlink interface can then be used to connect the node to other kstreamer's nodes to form a pipeline.

Once the pipeline is activated, the file descriptor can be read, written, poll()ed or select()ed.

The KS_UP_GET_PRESSURE ioctl() allows the caller to obtain the current pressure (outbound FIFO usage) to be able to opitimally control the outbound flow. If, for example, the application gathers data from a source whose clock is plesiosynchronous with respect to the pipeline destination, the pressure will progressively grow or shrink and the application will thus be able to drop, or interpolate samples or even resample blocks.

Personal tools