Skip to content

Releases: theori-io/nrsc5

Version 3.1.0

22 Dec 16:04
aa645c2

Choose a tag to compare

Improvements

  • Set default log level to info, and log stream & packet events at the debug level #432
  • Refactor FAAD2 HDC Patch #447

Bug fixes

  • Allow loading libnrsc5.dll from the same directory as nrsc5.py on Windows #426
  • Avoid exporting from static libraries & executables #425
  • Move log.c to the "app" target #434
  • Use hdrlen to check for LOT metadata header #435
  • Refactor LOT LRU counter #439
  • Check for exceptions when writing LOT files and HERE images #440
  • Fix off-by-one error in EAS length checks #455
  • Report emergency_alert.num_locations=0 if location decoding fails #456
  • Check that string lengths match before memcmp #459

API improvements

  • Add enum for AAS type (stream/packet/LOT) #422
  • Report frequency offset and service mode through the API #428
  • Remove uninformative library log messages #427
  • Deprecate the port field in stream/packet/LOT events #436
  • Don't report duplicate HERE images #438
  • Add LOT header & fragment events #437
  • Report AGC status in an API event #441
  • make CLI executable optional, allow use of system FAAD by indicating it's patched already #442

Full Changelog: v3.0.1...v3.1.0

Version 3.0.1

01 Jun 15:49
d8496a4

Choose a tag to compare

Bug fixes

  • Fix use-after-free triggered by set_frequency() #421

Full Changelog: v3.0...v3.0.1

Version 3.0

01 Jun 00:49

Choose a tag to compare

New features

  • The "HERE Images" stream, which contains traffic and weather images, is now decoded. The nrsc5 application dumps out these images when the --dump-aas-files <directory> argument is used. Images are also reported via the new NRSC5_EVENT_HERE_IMAGE API event. #415

Bug fixes

  • Reading IQ input from stdin, or writing IQ/audio/HDC output to stdout now works correctly on Windows. #393
  • Ctrl+C now terminates the nrsc5 program on Windows. #394
  • Occasional audio corruption on low-SNR signals has been fixed. #396
  • Startup time is reduced, especially on Raspberry Pi. #411
  • The limit on the total number of audio & data services has been increased from 8 to 16. #413

API improvements

  • Elastic buffering has been implemented. Audio output via the NRSC5_EVENT_AUDIO API event now occurs much more frequently, and with very little jitter. #399
  • A new NRSC5_EVENT_AUDIO_SERVICE API event reports information about audio streams, using data extracted from PDU headers. #402
  • When a station stops sending an emergency alert, a new NRSC5_EVENT_EMERGENCY_ALERT API event is generated to indicate that no alert is in effect. (A new NRSC5_EVENT_SIS API event is also generated, with the emergency alert fields cleared.) #408
  • The excessively large NRSC5_EVENT_SIS API event has been deprecated, and broken down into a more granular set of events (NRSC5_EVENT_STATION_ID, NRSC5_EVENT_STATION_NAME, NRSC5_EVENT_STATION_SLOGAN, NRSC5_EVENT_STATION_MESSAGE, NRSC5_EVENT_STATION_LOCATION, NRSC5_EVENT_AUDIO_SERVICE_DESCRIPTOR, NRSC5_EVENT_DATA_SERVICE_DESCRIPTOR, and NRSC5_EVENT_EMERGENCY_ALERT) #409
  • Duplicate SIG services & components are now removed from the table reported in the NRSC5_EVENT_SIG API event. #412
  • The NRSC5_EVENT_PACKET, NRSC5_EVENT_STREAM, and NRSC5_EVENT_LOT API events now include pointers to the corresponding SIG service & component records, thereby eliminating the need for applications to cache information from the NRSC5_EVENT_SIG API event. #414

Full Changelog: v2.0...v3.0