Skip to content

Releases: devopvoid/webrtc-java

Release v0.20.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:49

What's Changed

Features

  • Decode VP9 spatial layers with VA-API by @devopvoid in #388
  • Encode H.264 and H.265 temporal layers with VA-API by @devopvoid in #381
  • Encode VP9 temporal layers with VA-API by @devopvoid in #380
  • Encode AV1 temporal layers with VA-API by @devopvoid in #379
  • Encode AV1 with VA-API on Linux by @devopvoid in #377
  • Decode AV1 with VA-API on Linux by @devopvoid in #376
  • Decode H.264 with VA-API on Linux by @devopvoid in #375
  • Encode VP9 with VA-API on Linux without turning it on by @devopvoid in #374
  • Decode H.265 with VA-API on Linux by @devopvoid in #372
  • Let the audio codecs of a factory be limited and ordered by @devopvoid in #340
  • Report receiver source changes and audio packet infos by @devopvoid in #366
  • Send encoded frames through RTP sender injectors by @devopvoid in #365
  • List the hardware codecs of the hardware video codec factories by @devopvoid in #359
  • Decode H.265 and AV1 with NVDEC on Linux by @devopvoid in #353
  • Encode H.265 and VP9 and decode VP9 with VA-API on Linux, when turned on by @devopvoid in #352
  • Encode VP9 in hardware on Windows, when turned on by @devopvoid in #348
  • Encode and decode H.265 in hardware on Windows by @devopvoid in #347
  • Build WebRTC with H.265 by @devopvoid in #346
  • Decode with Vulkan Video on Linux in the media player by @devopvoid in #345
  • Decode HEVC and AV1 in hardware in the media player by @devopvoid in #331
  • Let a video processor change camera and desktop frames by @devopvoid in #342
  • Add first-packet observers, sender and receiver IDs, and track volume by @devopvoid in #338
  • Add the missing peer connection signaling and control calls by @devopvoid in #334
  • Decode H.264 and VP9 with NVDEC on NVIDIA GPUs on Linux by @devopvoid in #321
  • Decode video in hardware in the media player by @devopvoid in #320
  • Decode VP9 on the GPU with Media Foundation on Windows by @devopvoid in #319
  • Decode VP9 with VideoToolbox on macOS by @devopvoid in #318
  • Add a hardware video decoder factory, with Media Foundation on Windows by @devopvoid in #315
  • Encode AV1 on the GPU with Media Foundation and NVENC by @devopvoid in #314
  • Encode H.264 with VA-API on Intel and AMD GPUs on Linux by @devopvoid in #313
  • Encode H.264 with NVENC on NVIDIA GPUs, on Windows and Linux by @devopvoid in #312
  • Add a hardware video encoder factory, with Media Foundation H.264 by @devopvoid in #310
  • Add custom video codec factories by @devopvoid in #303
  • Map the remaining peer connection configuration fields by @devopvoid in #317
  • Map the remaining sender encoding parameters by @devopvoid in #316

Bug Fixes

  • Restore version and changelog before 0.20.0 release by @devopvoid in #392
  • Map the VP9 interpolation filter to VA-API's order by @devopvoid in #383
  • Write the H.264 and H.265 headers for VA-API drivers that need them by @devopvoid in #371
  • Call network thread observers on a callback thread by @devopvoid in #364
  • Play and record on Windows devices that mix in more than two channels by @devopvoid in #358
  • Capture screens with ScreenCaptureKit on macOS by @devopvoid in #354
  • Mark encoded frames as the end of their temporal unit by @devopvoid in #356
  • Dispose a MediaStream from onAddTrack as a view, and return its ID by @devopvoid in #343
  • Keep camera hotplug and track views from crashing or releasing shared tracks by @devopvoid in #341
  • Stop exceptions from callbacks unwinding through WebRTC by @devopvoid in #335
  • Keep audio device change handling from aborting or corrupting state by @devopvoid in #337
  • Keep exceptions inside the audio device change callbacks by @Yml-0 in #333
  • Fall back from a failed hardware video decoder without losing or damaging pictures by @devopvoid in #329
  • Keep a seek near the end of the source and the position after seeking back by @devopvoid in #328
  • Keep hardware encoders for sources whose first frame has an odd size by @devopvoid in #324

Refactor

  • Let the PeerConnectionFactory own its worker thread by @devopvoid in #355

Documentation

  • Link the unreleased docs from the README and release notes by @devopvoid in #386
  • Note that VP9 cannot be injected by @devopvoid in #385
  • Add icons and links to the home page features by @devopvoid in #384
  • List the hardware codecs in tables by @devopvoid in #378
  • Open the other channel's docs in the same tab by @devopvoid in #382
  • List hardware codecs, video processing and frame injection as features by @devopvoid in #369

Performance

  • Cut the processor time of hardware decoding on Windows by @devopvoid in #326

Testing

  • Play real sizes and formats the GPU refuses in the media player by @devopvoid in #325
  • Cover the lifecycle of hardware decoding in the media player by @devopvoid in #323
  • Check that hardware decoders crop padded frames to the picture by @devopvoid in #322

Miscellaneous Tasks

  • Bump @vue/server-renderer and vue in /docs by @dependabot[bot] in #363
  • Bump source-map-js from 1.2.1 to 1.2.2 in /docs by @dependabot[bot] in #362
  • Publish the docs of the latest release, and main's under /next/ by @devopvoid in #361
  • Send Central credentials again under Maven 3.10 by @devopvoid in #339
  • Bump the github-actions group across 3 directories with 3 updates by @dependabot[bot] in #309
  • Share one platform matrix and deploy snapshots once by @devopvoid in #306
  • Add Dependabot and trim caches and artifacts by @devopvoid in #304
  • Harden the release workflow and keep native caches warm by @devopvoid in #302

Other

Read more

Release v0.19.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 16:52

What's Changed

Features

  • Add encoded frame transforms and a media recorder by @devopvoid in #300
  • Add a native extension API and an FFmpeg-based media module by @devopvoid in #291

Bug Fixes

  • Repair the release pipeline and publish the media module by @devopvoid in #299
  • Clear the CI build annotations by @devopvoid in #294
  • Take Map method IDs from the interface instead of from HashMap by @devopvoid in #290
  • Keep device-captured audio out of sink-fed audio senders by @devopvoid in #289
  • Give AudioTrackSource a dispose() to release its native reference by @devopvoid in #287

Miscellaneous Tasks

  • Cache the FFmpeg build of the macOS x86_64 target by @devopvoid in #295

Other

  • Sync the WebRTC checkout without git history by @devopvoid in #298
  • Cross compile the macOS x86_64 target natively on Apple Silicon by @devopvoid in #296
  • Build FFmpeg on every platform and make the media module part of the normal build by @devopvoid in #292

Release v0.18.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:00

What's Changed

Features

  • Allow setting custom WebRTC field trials on PeerConnectionFactory by @devopvoid in #284

Bug Fixes

  • Make CustomVideoSource's frame_id_ counter thread-safe by @devopvoid in #286
  • Synchronize CustomAudioSource's sinks_ against AddSink/RemoveSink by @devopvoid in #285
  • JNI memory-safety and thread-safety bugs in the native bridge by @devopvoid in #283

Release v0.17.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 11:32

What's Changed

Features

Bug Fixes

Documentation

Performance

Testing

Miscellaneous Tasks

Other

Release v0.16.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:38

What's Changed

Other

  • Add Wayland/PipeWire desktop capture support by @B077AS in #261
  • Improve release workflow reliability and artifact management by @devopvoid in #260
  • Refactor release workflows and setup for multi-platform deployment by @devopvoid in #259

New Contributors

Release v0.15.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:38

What's Changed

Features

  • Bridge OnIceSelectedCandidatePairChanged to Java observers by @SendableMetatype in #247
  • Add asynchronous sendAsync to RTCDataChannel by @SendableMetatype in #246
  • Device transport and form factor types by @Stasyanych in #203
  • Add funding information to support development
  • Add legacy AGC1 and update AGC2 in the AudioProcessingConfig by @devopvoid in #205

Bug Fixes

Documentation

  • Add sponsorship link to index page
  • Recreated using VitePress by @devopvoid in #210
  • Add notes on native library classifiers for webrtc-java
  • Reorganize guide links

Testing

Other

  • Update versions of dependencies and plugins by @devopvoid in #257
  • Update WebRTC branch version from 7339 to 7977 (m152) by @SendableMetatype in #249
  • Derive the WebRTC cache branch from the pom and guard deploys by @SendableMetatype in #248
  • Bump org.eclipse.jetty:jetty-server in /webrtc-examples by @dependabot[bot] in #255
  • Bump com.fasterxml.jackson.core:jackson-databind by @dependabot[bot] in #254
  • Bump picomatch from 4.0.3 to 4.0.5 in /docs by @dependabot[bot] in #253
  • Bump rollup from 4.50.0 to 4.59.0 in /docs by @dependabot[bot] in #235
  • Bump vite from 7.1.11 to 7.3.6 in /docs by @dependabot[bot] in #252
  • Bump postcss from 8.5.6 to 8.5.26 in /docs by @dependabot[bot] in #251
  • Bump org.eclipse.jetty:jetty-util in /webrtc-examples by @dependabot[bot] in #250
  • Updates all checkout GitHub Actions to v6 by @maxkratz in #226
  • Bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs by @dependabot[bot] in #230
  • Bump vite from 7.1.5 to 7.1.11 in /docs by @dependabot[bot] in #218
  • Update WebRTC branch version from 7204 to 7339 (m140)
  • Bump vite from 7.1.4 to 7.1.5 in /docs by @dependabot[bot] in #211

New Contributors

Release v0.14.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 09:39

What's Changed

Features

  • Restrict ICE port ranges and control candidate gathering behavior by @devopvoid in #202
  • Push or pull audio frames with a headless audio device module by @devopvoid in #201
  • Add guide for configuring send-only and receive-only media
  • Add the platform classifier to the native library filename by @SnirDecartAI in #194
  • Add VideoBufferConverter.convertToI420 by @SnirDecartAI in #192
  • Add SyncClock for audio and video synchronization support
  • Add CustomVideoSource and related JNI bindings for video frame handling
  • Added a new web-based example
  • Custom audio source that can be provided to audio tracks by @devopvoid in #188

Bug Fixes

  • RTCDtmfSenderTests timeouts
  • Update error handling to stop capturing on permanent errors #186
  • Ensure JNIEnv is properly attached before deleting global reference 146
  • Return a valid NtpTime from SyncClock::GetNtpTime by @SnirDecartAI in #193
  • Release video frame after processing in WHEP example #191
  • Made RTCRtpCodecCapability's int fields optional by @SnirDecartAI in #190

Documentation

  • Add AudioRecorder and AudioPlayer documentation
  • Documentation for VideoBufferConverter
  • Documentation for MediaStreamTrack, VideoBufferConverter, and VideoCapture
  • Add Video Capture guide
  • Add Screen Capturer and Window Capturer guides
  • Add Power Management utility
  • Add Audio Converter guide
  • Add Voice Activity Detector guide
  • Reorganize media guides into categories
  • Add section on disabling audio processing with dummy audio layer
  • Add Custom Video Source guide and update documentation
  • Update example descriptions and add WebClientExample
  • Add Custom Audio Source guide
  • Update asset paths and add a privacy policy by @devopvoid in #187
  • Add camera capture guide
  • Update CHANGELOG.md

Miscellaneous Tasks

  • Add custom video source and generator to the web example

Other

  • Update release workflow to use main branch
  • Update GitHub Actions workflows to use changelog generation
  • Update all GitHub Actions setup-java to v5 by @maxkratz in #200

New Contributors

Release v0.13.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 12:09

What's Changed

Bug Fixes

  • macOS screen capturing only the first frame
  • Crash in MediaDevices by validating COM initialization in audio device management

Feature

  • Enable H.264 support for Linux, macOS and Windows
  • Added RTCDtmfSender implementation for sending DTMF tones

Documentation

Refactoring

  • Moved master branch to main

Release v0.12.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 08:35

What's Changed

Bug Fixes

  • Maven release action for macOS platforms

Feature

  • Add the missing macOS camera capture functionality (#180)
  • Add a copy method for NativeI420Buffer and VideoFrame

Build

  • Update package installation commands and enhance sysroot configuration for Linux (#178)

Refactoring

  • Updated the native interface to m138 (#179)

Release v0.11.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 12:16

What's Changed

Bug Fixes

  • Screen/Window capturer memory leak.

Build

  • Updated project to a more recent stable WebRTC branch, m134 (6998).
  • Link against the WebRTC custom libc++ and libc++abi on Linux, and against libc++ on Windows.
  • Added support for Linux ARM and ARM64 builds.
  • Build with Clang on all platforms.