Skip to content

2.8.2

Latest

Choose a tag to compare

@pedroSG94 pedroSG94 released this 11 Nov 10:14
· 11 commits to master since this release

General

  • Try every resolved address when connecting a TCP socket instead of only the first one, so a host with a broken IPv6 falls back to IPv4 (by @x270880x)
  • Release the filter FBO when a filter is removed, replaced or cleared, fixing a GPU memory leak (by @x270880x)
  • Fix crash in GlStreamInterface draw when a multi preview surface is removed concurrently (by @x270880x)
  • Do not forward the audio codec config buffer as an encoded frame, fixing MP4 files that Chrome can't play (by @RomanHerbstmann)
  • Keep encoders running in stopStream while a recording is starting or paused (by @RomanHerbstmann)
  • Fix a possible deadlock in stopRecord. Bitrate and stats callbacks no longer block the sender waiting for the main thread
  • Make filter Context nullability explicit in filter initialization (by @blihio)
  • Fix GifFilterRender crash with a null InputStream, now it is reported as IOException (by @blihio)
  • Fix UrlParser crash with URLs without scheme, now they are rejected as malformed URLs (by @blihio)

RTMP

  • Add getJavaSocket method to RtmpClient, RtmpStreamClient and GenericStreamClient to inspect the active Java socket (for example to read the TCP RTT from the kernel) (by @AubreyHaskett)
  • Avoid stuck disconnect if the sender is blocked in a socket write (by @RomanHerbstmann)

RTSP

  • Avoid stuck disconnect if the sender is blocked in a socket write (by @RomanHerbstmann)
  • Remove spaces between fmtp parameters in the SDP

SRT

  • Add setServerSilenceTimeout method to detect a dead connection if the server stops responding. Disabled by default (by @RomanHerbstmann)
  • Limit retransmissions to avoid a NAK driven retransmit storm. By default the limit is 25% of the bitrate and it can be changed with setRetransmitOverhead method (0 to disable it) (by @RomanHerbstmann)
  • Add getPacketsLostUnique method to count each lost packet only once (by @RomanHerbstmann)
  • Refactor CommandsManager and move the retransmission logic to PacketRetransmission
  • Generate a random socket id for each connection, allowing multiple devices to stream to the same server at the same time (by @michelsbautzen)

WHIP

  • Add DTLS client role, used when the server answers with a=setup:passive
  • Support ice-lite servers, the client no longer waits for a STUN binding request from the server
  • Fix SDP compatibility with SRS (level-asymmetry-allowed, a=setup per media and msid per ssrc)
  • Fix SRTCP packets encrypted with the SRTP keys instead of the SRTCP keys
  • Queue DTLS packets received during the STUN negotiation
  • Fix DTLS packets sent with a wrong size when the offset is not 0
  • Bind the UDP socket instead of connecting it, to avoid ignoring packets received from other ports
  • Remove the UDP receive buffer limited to the MTU, which made the system drop STUN packets
  • Close DTLS before stopping the sender, so the server knows that the stream ended
  • Increase DTLS handshake timeout to 10 seconds