Releases: ThibaultBee/StreamPack
Releases · ThibaultBee/StreamPack
3.1.1
3.1.0
API changes:
PreviewViewstreamersetter/getter has been renamed bysetVideoSourceProvider.
Features:
- RTMP: New implementation (fixes #22)
- RTMP: Add support for Opus
- Camera settings are now suspendable
- Microphone: add a way to set the audio source
- Camera: also set
SENSOR_FRAME_DURATIONwhen the framerate setting is applied PreviewViewautomatically starts when it is displayed. You don't have to call neitherstartPreviewnorstopPreview- Upgrade to dokka 2.1.0
Bug fixes:
- PreviewView: fix multiple race conditions
- Fix timestamp after the device has been locked
- Camera settings: fix onTap.
- Remove multiple
runBlocking - Fix a deadlock when calling
setTargetRotationwhile trying to open the streamer - And other bug fixes.
3.0.2
Features:
DualStreamer: improve the set audio/video configuration API.- Add an API to invalidate the configuration of a configurable output.
Bug fixes:
- Fix a crash when trying to change the FPS of a configurable output
- Fix video aspect ratio when using multiple outputs with different aspect ratios.
- Do not emit audio/video source changed events when the configuration failed to be applied.
3.0.1
Features:
- Render correct preview size for non-camera video sources in
PreviewView.
See #238 - Add an API to set color format in
VideoConfig.
See #235 - Add an API to customize audio and video
MediaFormatinAudioConfigandVideoConfig. - Add an API to set threads, handler and dispatcher for streamers.
- Replace most of internal executor services with coroutines.
Bug fixes:
- Fix usage of the camera in background.
See #231 - Fix multithreading issues in pipeline, encoding output,...
- Fix fps and dynamic range in camera
configureAPI. - And other bug fixes.
3.0.0
Features:
- Add a
SurfaceProcessorfactory toSingleStreamerandDualStreamerconstructors to
customize the processing of the input surface. - Verify
VideoConfigandAudioConfigduring instantiation.
Bug fixes:
- Camera: Fix FPS
- Camera: add missing
RequiresPermissionannotation forstartPreview - DualStreamer: correctly use default value
3.0.0-RC3
Features:
- Move
RTMPandSRTpackages toio.github.thibaultbee.streampack:streampack-rtmpand
io.github.thibaultbee.streampack:streampack-srt. - Made
SurfaceProcessorcustomizable: you can now set a customISurfaceProcessorInternalto
process the
frames before they are sent to the encoders. - Move audio and video input settings to
audioInputandvideoInputmembers
Bug fixes:
- Fix 16 KB page size alignment for SRT
- Demos: fix crash on startup for audio only demo
- Fix permissions of RTMP and SRT packages
- Fix dead lock on
release
3.0.0-RC2
Features:
- MediaProjection: add a dedicated
Serviceto handle screen recording.
Bug fixes:
- Multiple fixes on MediaProjection
- Fix HDR support for cameras
3.0.0-RC
Version 3.0.0-RC is a release candidate for the next major version of StreamPack. It includes:
- dynamic endpoint: the endpoint (RTMP, SRT, File,...) is inferred from the stream URL.
- multiple outputs: you can now stream to multiple endpoints at the same time.
- dynamic input: you can set the input source (camera, screen, file,...) at runtime.
- a new file writer based on Android
MediaMuxer. - package have been moved, renamed and splits.
For the migration, see
the migration guide.
2.6.1
Features:
- Upgrade dependencies (AGP 8.4.2, Kotlin 1.9.24,...)
Bug fixes:
- Streamer: do not call
stopStreamwhen streamer is not streaming - ScreenRecorder: fix callback
registration #147 - PreviewView: fix facing camera orientation
- PreviewView: fix synchro
- MP4: use relative timestamps
- FLV: fix onMetadata audio sample size
- FLV: fix onMetadata timestamp
- FLV: only send header once
- TS: fix PES packet length when frame size is >
65535 #135. Thanks to @moliyadi - AudioSource: try catch audio processors and properly release them
- VideoConfig: only set HDR when profile and level can be set
New Contributors
Full Changelog: 2.6.0...2.6.1
2.6.0
API Changes:
startStreamandstopStreamare now a suspend methods because they triggers a network
operation. Therefore they must be called from a coroutine.
Features:
- Camera streamer: mirror the video on the stream when the front camera is used. Preview is not
mirrored. - RTMP: Add support for enhanced RTMP video codecs (HEVC, VP9 and AV1 (experimental,
see #90)) - RTMP: Improve synchronization on audio and video frames: force to send Header 0 when timestamp are
not in order. - HDR: Add experimental support for HDR camera streamers,
see #91 - VideoConfig: infer the bitrate from the resolution when it is not explicitly set.
- SRT: add a latency setting.
- SRT and RTMP: add specific class to describe the connection (see
SrtConnectionDescriptor
andRtmpConnectionDescriptor). - AAC: add support for multiple AAC profiles (HE-AAC, HE-AACv2, ...).
- ISO Sensitivity: Add an API to set ISO sensitivity for camera streamers.
- MP4: Introduce MP4 muxer and new MP4 streamers. (Fragmented MP4)
- Screen recorder: display root cause on notification instead of the exception message.
- Codec helper: get only once instance of each profiles.
- Camera: add an API to set
onTapfor auto exposure, auto focus and auto white balance
independently. - Improve orientation management.
- Upgrade to Android 14, gradle 8 and Kotlin 1.9
- Internal: rename
CapturetoSource
Bug fixes:
- Camera: fix default camera when device does not have a "0" camera
- Camera: fix an
onTapcrash when the device zoom ratio is < 1 - Camera: fix auto focus trigger on tap
New Contributors:
- @dependabot made their first contribution in #82
- @yhbsh made their first contribution in #93
Full Changelog: 2.5.2...2.6.0