Repository navigation
Summary
Some applications experienced crashes due to badly formatted SCTE35 messages and this library not being defensive against them. In some cases, messages would end unexpectedly while we were still reading bits, and the precondition would fail and cause an application crash. Now, all methods that read bits are throwing, and such a situation will throw an error from the parser rather than cause a crash. There is no integration change needed because all SpliceInfoSection constructors were already throwing so this is purely an internal improvement towards resiliency. Performance metrics (clock time taken to parse 33 SCTE35 messages, which were found in a 10 hour live window for one of the streaming providers) were validated using XCTestCase.measure and showed no degradation.
What's Changed
- Added basic clock measurement by @theRealRobG in #9
- Added defensiveness running out of bits during parse by @theRealRobG in #8
Full Changelog: 0.3.1...0.4.0