Skip to content

Releases: ThibaultBee/StreamPack

3.1.1

02 Feb 15:15

Choose a tag to compare

Bug fixes:

  • RTMP: fix connection to Facebook Live (see #274)
  • PreviewView: call onZoomRationOnPinchChanged from the main thread
  • PreviewView: stop preview before requesting a new surface to avoid race condition (with setConfig)
  • UI: remove the permission in the AndroidManifest.xml

3.1.0

16 Jan 15:00

Choose a tag to compare

API changes:

  • PreviewView streamer setter/getter has been renamed by setVideoSourceProvider.

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_DURATION when the framerate setting is applied
  • PreviewView automatically starts when it is displayed. You don't have to call neither startPreview nor stopPreview
  • 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 setTargetRotation while trying to open the streamer
  • And other bug fixes.

3.0.2

20 Nov 14:41

Choose a tag to compare

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

13 Nov 10:40

Choose a tag to compare

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 MediaFormat in AudioConfig and VideoConfig.
  • 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 configure API.
  • And other bug fixes.

3.0.0

11 Sep 08:48

Choose a tag to compare

Features:

  • Add a SurfaceProcessor factory to SingleStreamer and DualStreamer constructors to
    customize the processing of the input surface.
  • Verify VideoConfig and AudioConfig during instantiation.

Bug fixes:

  • Camera: Fix FPS
  • Camera: add missing RequiresPermission annotation for startPreview
  • DualStreamer: correctly use default value

3.0.0-RC3

25 Jul 14:01

Choose a tag to compare

3.0.0-RC3 Pre-release
Pre-release

Features:

  • Move RTMP and SRT packages to io.github.thibaultbee.streampack:streampack-rtmp and
    io.github.thibaultbee.streampack:streampack-srt.
  • Made SurfaceProcessor customizable: you can now set a custom ISurfaceProcessorInternal to
    process the
    frames before they are sent to the encoders.
  • Move audio and video input settings to audioInput and videoInput members

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

26 Jun 12:11

Choose a tag to compare

3.0.0-RC2 Pre-release
Pre-release

Features:

  • MediaProjection: add a dedicated Service to handle screen recording.

Bug fixes:

  • Multiple fixes on MediaProjection
  • Fix HDR support for cameras

3.0.0-RC

09 Apr 20:12

Choose a tag to compare

3.0.0-RC Pre-release
Pre-release

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

11 Jul 10:18

Choose a tag to compare

Features:

  • Upgrade dependencies (AGP 8.4.2, Kotlin 1.9.24,...)

Bug fixes:

  • Streamer: do not call stopStream when 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

07 Feb 18:19

Choose a tag to compare

API Changes:

  • startStream and stopStream are 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
    and RtmpConnectionDescriptor).
  • 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 onTap for auto exposure, auto focus and auto white balance
    independently.
  • Improve orientation management.
  • Upgrade to Android 14, gradle 8 and Kotlin 1.9
  • Internal: rename Capture to Source

Bug fixes:

  • Camera: fix default camera when device does not have a "0" camera
  • Camera: fix an onTap crash when the device zoom ratio is < 1
  • Camera: fix auto focus trigger on tap

New Contributors:

Full Changelog: 2.5.2...2.6.0