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.