Skip to content
This repository has been archived by the owner on Oct 10, 2023. It is now read-only.

unpause-live/SwiftSRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift wrapper for SRT (Secure Reliable Transport)

This repo tracks stable releases of SRT in the Haivision git repo (https://github.com/haivision/srt). Currently at 1.4.1.

This wrapper is based on swift-nio and is used in the same way, except that you must use an SrtEventLoopGroup instance instead of a typical MultithreadedEventLoopGroup because the SRT sockets live in userspace and are therefore incompatible with a standard NIO event loop.

See ClientServerExample for a usage example.

Work done / to be done:

  • Linux compatibility
  • macOS compatibility
  • iOS compatibility
  • Android compatibility
  • Server accepts (IPv4)
  • Client calls out (IPv4)
  • "Live" mode
  • "File" mode
  • "Rendez-vous" connections
  • Bandwidth statistics
  • Encryption
  • Bonding
  • Options:
    • MaxBW
    • Passphrase
    • Stream ID
    • Payload Size
    • Reuse Address
    • MSS
    • Packet Filter
    • PB Key Length
    • Peer Latency
    • Peer Idle Time
    • Peer Version
    • KM State
    • Recv Latency
    • Congestion
    • Send Buffer Size
    • Too Late Packet Drop
    • Enforced Encryption