You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add BufferAudioSource to stream PCM buffers provided by the user
Add onStreamingStats callback with byte accurate send queue monitoring (StreamingStatsReport and Throughput) (by @bratta-dk)
Add getQueueBytesOut to stream clients (by @bratta-dk)
Add QueueAwareBitrateAdapter, a bitrate adapter driven by the send queue instead of the measured bitrate
Add BufferPool to reuse buffers in senders and record controllers
Add Camera2 white balance lock and tap to meter (exposure and white balance) methods (by @bratta-dk)
Add setCustomRequest and setCustomOnCaptureCompletedCallback to Camera2
Add FlvMuxerRecordController as record fallback in Camera1Base for API 17 and lower
Move object filters to Kotlin, unify sprites and fix filters rotation. AndroidViewFilterRender renamed to ViewFilterRender, GifObjectFilterRender to GifFilterRender, ImageObjectFilterRender to ImageFilterRender and TextObjectFilterRender to TextFilterRender
Refactor SpriteGestureController
Refactor all video and audio sources and fix leaks
Change source now fallback to the last source if the new one fails
Move H264, H265 and AV1 parsers to common and fix SpsH265Parser, Av1Parser, BitBuffer and G711 codec
Allow set gl debug with a static value
Refactor gradle and allow compile with Kotlin 2.1
Fix video timestamp jitter using the frame timestamp instead of the render clock, in the encoder and in FpsLimiter
Rebase surface PTS on the shared start instead of the first video frame, fixing audio lagging video (by @x270880x)
Announce the rotated resolution, so portrait streams are not pillarboxed (by @x270880x)
Prevent a bitrate or stats report failure from stopping the send loop (by @bratta-dk)
Fix Camera1 fps range calculation
Fix enableAutoFocus to clear the regions set by tapToFocus
Properly remove the Camera2 handler on close
Fix CameraX stop and file sources loop
Fix BitmapSource fps using a frame interval instead of a fixed sleep
Fix reloadCodec and prefer color format 19 on low API if possible
Avoid crash calling getCapabilities in CodecUtil
Fix BitrateManager reset to also reset the timestamp
Stop gl after the encoders
Fix tryClear crash if the SurfaceTexture is already released
Fix UrlParser and fallback auth in getFullPath
Add ACCESS_LOCAL_NETWORK permission to the example app, needed to stream to a local network server targeting Android 17+
Update AGP to 9.3.1, Kotlin to 2.4.10, ktor to 3.5.2 and media3 to 1.11.0
RTMP
Add VP8 and VP9 support
Add HE-AAC support
Add setCustomMetadata method to send custom values in the metadata
Add SharedObject parser and refactor Command message
Remove AMF3 related code
RTSP
Add VP8 and VP9 support
Add HE-AAC support
Discover the local UDP ports dynamically instead of using fixed ports
Refactor SdpBody and payload types
Fix AV1 fragmentation of obus bigger than the packet size and send the sequence header on each keyframe
Fix CommandParser crash on malformed ports, CSeq and status code
SRT
Add HE-AAC support
Refactor MPEG2-TS H264 and H265 packets removing duplicated code
Avoid close the connection if a control packet with no body is received (KeepAlive, Shutdown, Ack2, CongestionWarning and DropReq)
Reuse packets if sendVideoInfo is received while streaming
UDP
Add HE-AAC support
Reuse packets if sendVideoInfo is received while streaming
WHIP
Add VP8 and VP9 support
Support IPv6 candidates and sort remote candidates by the available network family