Skip to content

Release v0.20.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:49
· 39 commits to main since this release

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

New Contributors

Documentation