Releases
2.8.0
Compare
Sorry, something went wrong.
No results found
General
Add PitchShiftEffect audio filter
Add lock exposure support to Camera2 (lockExposure/unlockExposure)
Add PCM resample method and allow G711 with any audio config
Fix readUntil entering an infinite busy-loop when the stream reaches EOF
Fix partial reads on readUInt16/24/32
Fix isKeyframe comparing flags with == instead of a bitmask
Fix getStartCodeSize IndexOutOfBounds on buffers shorter than 4 bytes
Fix setDelay crash with values under 5ms
Fix BaseSender resizeCache guard and getCacheSize
Refactor BitBuffer class, fix readUVLC and bit-remaining off-by-one
Fix UrlParser to support passwords containing ':'
Fix sockets: isConnected after close, recreate ktor selector on reconnect, UDP receive buffer size
Fix audio PTS frozen in TimestampMode.BUFFER
Fix BaseDecoder busy-wait while paused
Fix AudioDecoder muted buffer size, output size and PCMUtil stereo conversion
Refactor MicrophoneManager and fix races and shared buffer
Fix BaseEncoder start order and processInput offset
Fix Camera2ApiManager getSupportedFps formula
Fix G711 decode output size
Fix TextStreamObject crash with empty text
Fix ViewSurfaceFilterRender always crashing
Move AndroidViewFilterRender to Kotlin, fix CPU spin and add targetFps
Fix CropFilterRender divide by zero when cropping a full axis
Fix EGL lifecycle on stop (OpenGlView / GlStreamInterface)
Fix GlUtil createTextures offset and disableResources bound
Fix Sprite/AndroidViewSprite center translation with non-uniform scale
Fix SpriteGestureController mutating the internal scale point
Fix CameraRender placeholder leak and TextureLoader recycling the user bitmap
Fix GifStreamObject guards for empty/invalid frames
Fix Media3 audio/video sources not surviving stop/start
Fix keyframe detection in record controllers
RTMP
Refactor ASC to share in RTMP and RTSP
Refactor RtmpConfig to avoid share between RtmpClients
Fix Acknowledgement sequence value
Fix write extended timestamp
Fix parse chunk stream id and read message chunk
Fix RtmpHeader TYPE_1/TYPE_2 timestamp delta
Avoid send auth command when no user or password
Fix AuthUtil description value parsing
Fix CommandSessionHistory leak
Stop connection if AMF packet is unknown and disable AMF3 instead of crashing
Fix crash on read Aggregate or SharedObject
Avoid crash on malformed command
Fix AmfEcmaArray length, AmfObject read, UserControl length and Command length
Fix AmfString equals/hashCode to avoid duplicated AMF keys
Fix AAC/Opus FLV dropping the first audio frame
Fix opus and aac audio configs
Fix VideoSpecificConfigAV1 sRGB condition and chroma_sample_position
Fix first PONG rtt
RTSP
Refactor RtpTracks to avoid share between RtspClients
Fix AAC, G711 and Opus fragmented packets case
Fix AV1 packetizer on long size obus
Fix digest auth
Fix NTP timestamp to be unique per session
Fix parse method command
Fix loadServerPorts to use the expected track instead of guessing from the response
Consume the response body when Content-Length is present
SRT
Fix overflow message number
Fix PCR/PTS overflow after ~4 days of device uptime
Fix resend lost packets and discard packets in queue
Fix packetHandlingQueue growing without bound when ACKs stop (TLPKTDROP by latency)
Fix send ACK2 only on full ACK packet and support light/small ACKs
Fix audio-only AAC never emitting PCR
Fix Nak crash on a truncated/malformed NAK
Fix ControlPacket control type to 15 bits
Fix AdaptationField, Pes flags and pes small stuffing
Fix Psi continuity counter by pid and Psi version to 5 bits
Fix initial PSI order to [PAT, PMT, SDT]
Fix Opus packetizer
Fix read ipaddress on handshake and support handshake with no path
Fix streamid carrying the query
Refactor Pid to avoid share between SrtClient instances
Move latency to millis in CommandsManager as the single source
UDP
Fix UdpClient leaving isStreaming true when the port is missing
Fix initial PSI order to [PAT, PMT, SDT]
WHIP
Add protocol support (beta)
You can’t perform that action at this time.