added

Slicer release 23062600

Fixes:

  • Fix a rare race condition affecting use_brokers=3 and use_brokers=4 slicers that sometimes caused the slicer to crash during a broker upgrade.

  • Fix accumulating lipsync error on secondary audio tracks due to timeline discontinuities and 33-bit PTS rollover.

  • Fix slicer not obeying brokers goaway directive when slicer is in an Ad break or blackout.

  • Fix a blackout_timeline_on_boundary_break_start regression.

  • Fix an old regression in handling portrait/landscape input vs encoding profile mismatch.

  • Fix use_brokers=4 losing slices when switching brokers, causing a deadlock followed by an involuntary_blackout several hours later.

  • Prevent a race condition that could result in losing an unfinished slice when switching brokers, causing a stalled live channel.

  • Signal ad_start at the start of warm stand-by failover state to avoid triggering stalled live channel alert.

  • Fix debugoverlay flicker caused by deinterlace: doubler with SDI input.

  • Fix handling of "failover_id": null response.

  • Fix mac CameraSlicer microphone and camera entitlements issues.

  • Improve exception handling in slicer API component.

  • Fix secondary audio issues caused by a tug-of-war between injecting blank audio and dropping late audio frames.

  • Do not parse SMPTE 2038 stream if it’s not listed in pids.

  • Handle SMPTE 2038 parser exceptions.

  • Fix SMPTE 2038 DID/SDID configuration and parity checking.

  • Fix -use_all_audio_tracks creating an empty audio track description.

  • Fix liveslicer failure to start when DVB teletext pid is specified in slicer config pids.

  • Fix rtmp slicer crash when rtmp_url is not specified in slicer config.

Enables:

  • Runtime update of liveslicer failover configuration, without slicer restart.

  • Runtime update of liveslicer profile, without slicer restart.

  • UDP/TCP signal capture in unicast mode.

  • Add VMNU output to python SCTE plugin.

  • Add slicer_upload_backlog_threshold config option with range [5, 80], default value 10.

Other changes:

  • Reimplement Dolby ATMOS pass-through.

  • Reimplement delay: liveslicer option.

  • Reimplement UDP capture.

  • Liveslicer will fetch and process remote slicer config after the local config has been processed:

  • This allows local failover_id to be specified after enable_remote_config.

  • This ensures that the remote slicer config is authoritative.

  • Log failover health evaluation faults.

  • Update root CA bundle to the latest version.

  • Refer to rollover_external_id slicer config option when involuntary blackout ends to optionally rollover external_id, description, and metadata.

  • Log the broker list, and improve JSON data formatting in the log.

  • Codesign slicer builds for mac intel and arm64.

Known issues:

  • Apple M1 slicer build (mac_arm64) does not support Dolby AC3/EC3 encoding, or Nielsen options.

  • Slicer response to /reload_remote_slicer_config includes error: 1 even when there was no error.

  • Live preview is currently not possible with CameraSlicer.app.

Prerequisites:

  • Due to CentOS 6 reaching EOL in November 2020 this slicer release requires CentOS 7 or newer.

  • Due to the slicer being built on CentOS 7 it picks up some new library dependencies which are not included in the base install of Ubuntu 18.04. Ubuntu users may need to pre-install them: sudo apt install libnl-3-200 libatomic1.

  • Nvidia driver 418 or later is required for HEVC 4K HDR/SDR.

  • Mac intel build: sudo xattr -d -r com.apple.quarantine uplynk_slicer_mac_64-23062600-master.

As of 23020901-rc1 VOD slicer no longer requires a CPU with AVX instruction set support, and is compatible with rosetta on Apple M1.