Releases: superkabuki/threefive3
Releases · superkabuki/threefive3
Three zero nineteen
This is a bug fix release.
- Fixed bug with InfoSection.tier so it converts to hex from xml
- Fixed several minor bugs with the new error aggregation stuff.
- Fixed bug in cli tool related to stdin and JSON
- Fixed master.m3u8 loop bug in HlsParser
- Added HlsParser and TagParser to init.py
- Added iso8601 timestamp function to stuff.py
- Added new atohif function to stuff.
- atohif parses hex, ints, and floats from strings and converts them to real values
- ascii to hex|int|float
- pronounced "a to hif"
Full Changelog: v3.0.17...v3.0.19
chicks dig threefive3
Three oh seventeen
threefive3 SCTE-35 tool
Release v3.0.17
- Big 40% Speed Up for Python3 parsing SCTE-35 from MPEGTS streams
- PMT table parsing tuned up.
- Stream.show() now correctly displays programs with PMTs split over multiple packets
- Big Speed Up for Stream.show()
- untangled circular m3ufu dependencies
- Added hls_tags.py for hls SCTE-35 tag parsing
- Fixed rendition selection when parsing hls for SCTE-35
- non-fatal SCTE-35 errors now reported in json
- cleaned up UPID deprecation messages.
- bunch of other cool stuff.
- lines of code 3644
- Cyclomatic complexity: A (2.0280898876404496)
Full Changelog: v3.0.5...v3.0.17
Three oh five
-
SuperXmlParser has been rewritten and Optimized
-
Added xml2cue
-
Tuned up sixfix
-
Tuned up hls
-
Added iframes to the cli
-
Average cyclomatic complexity: A (2.0733197556008145)
Full Changelog: /~https://github.com/superkabuki/scte35/compare/v3.0.3...v3.0.5
Three oh three
- Added Super Advanced Error Detection Stuff ( SAEDS)
- Removed decode() and load() calls for Cue class
- The Stream class now parses 1316 bytes at a time to stay in sync with mcast and unicast UDP
- Pulled in new_reader and iframes modules to reduce external deps.
- Average cyclomatic complexity score: A (2.094650205761317)
Zero zero seventeen
- Cue.decode() now called when you instantiate an instance of cue and pass in data
- data can be base64, bytes,dict ,hex, int,json,xml, or xmlbin
Python 3.9.16 (7.3.11+dfsg-2+deb12u2, May 20 2024, 22:08:06)
[PyPy 7.3.11 with GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from scte35 import Cue
>>>> data = '/DAgAAAAAAAAAP/wDwUAAAABf0/+AKTLgAABAAAAAKENyC4='
>>>> cue=Cue(data)
>>>> cue.show()
{
"info_section": {
"table_id": "0xfc",
"section_syntax_indicator": false,
"private": false,
"sap_type": "0x03",
"sap_details": "No Sap Type",
"section_length": 32,
"protocol_version": 0,
"encrypted_packet": false,
"encryption_algorithm": 0,
"pts_adjustment": 0.0,
"cw_index": "0x00",
"tier": "0x0fff",
"splice_command_length": 15,
"splice_command_type": 5,
"descriptor_loop_length": 0,
"crc": "0xa10dc82e"
},
"command": {
"command_length": 15,
"command_type": 5,
"name": "Splice Insert",
"time_specified_flag": true,
"pts_time": 120.0,
"splice_event_id": 1,
"splice_event_cancel_indicator": false,
"out_of_network_indicator": false,
"program_splice_flag": true,
"duration_flag": false,
"splice_immediate_flag": false,
"event_id_compliance_flag": true,
"unique_program_id": 1,
"avail_num": 0,
"avails_expected": 0
},
"descriptors": []
}
>>>>
Full Changelog: /~https://github.com/superkabuki/scte35/compare/v0.0.15...v0.0.17
v0.0.15
December 9th 2024
- Clean up on stream.py, segment.py, and hls.py
- Removed over 1,000 lines of code from the threefive code base.
- Cyclomatic complexity score: 2.1419355
- Added Private Command parsing for SuperXmlParser()
- Added removing the hls keyword from sys.argv in the cli
Full Changelog: /~https://github.com/superkabuki/scte35/compare/v0.0.13...v0.0.15
v0.0.13
- Added iframes times to cli
- Added hls to cli
- cli parses mpegts, base64, hex, int, json, xml, and xmlbin
- cli can output mpegts, base64, bytes, hex, int, json, xml, and xmlbin
- cli file protocols: file, stdin, http(s), multicast and unicast udp
- Cue class encoding methods are base64(), bytes(),hex(),int(), xml(), and xmlbin()
- Stream class decode() now parses 1316 bytes by default to match udp datagrams.
- XmlParser has been replaced by SuperXmlParser
- SuperXmlParser eliminates from_xml() methods from all Splice Commands, Splice Descritptors, Upids, and Splice Info Section.
- full xml support for namespaces on elements and attributes.
Full Changelog: /~https://github.com/superkabuki/scte35/commits/v0.0.13