Skip to content

Releases: Darkness4/fc2-live-dl-go

v1.8.4: fix deadlock on websocket failure

04 Oct 20:38
v1.8.4
Compare
Choose a tag to compare

Changes

  • Fixed deadlock due to sudden websocket error not canceling the whole goroutine group (#72, #74).
  • Refactored the project to allow easier integration testing.
  • Added contract testing to avoid API client implementation drift with FC2 API.
  • Added check to avoid a watcher getting canceled without its parent getting canceled.

SHA256 Checksums

a06544d97525e3f7a33abcf90381ea8eeb3ed6146f07dd71d5161c11aa5e6019 fc2-live-dl-go-darwin-amd64
b6b317ceb6250386b9e4dc228790c041ce5c24986541032453e4b95d82f63f04 fc2-live-dl-go-darwin-arm64
b7de2c9a768c74dfb3a94811db35ed6ecec21dddbe49a885436160a332157cd1 fc2-live-dl-go-linux-amd64
d5231159d4d4a64727acced7b2a25bb9489615a07199210d1118f57c976a68d3 fc2-live-dl-go-linux-arm64
4b8c29ba3b858154b6abd9eff52fe7dc8aab19c3b0ffb5d0f79c0dcd71461874 fc2-live-dl-go-linux-riscv64
dd56af9012ea2fd451afc625f002876b9a7db2ee16ac09165052c500b0547e5c fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.3...v1.8.4

v1.8.4-rc.2: fix deadlock on context canceled

28 Sep 20:18
v1.8.4-rc.2
d87697f
Compare
Choose a tag to compare

Changes

  • Fixed a deadlock after a channel finished downloading.
  • Added check to avoid a watcher getting canceled without its parent getting canceled.

SHA256 Checksums

9164f87bc34519c9934e6a24b99196bd071c6d1855e4643022b90925b7795424 fc2-live-dl-go-darwin-amd64
223af9372cd79a47d3d123d1174e3934d7c3fbec0202e43dc6382cb2251e890f fc2-live-dl-go-darwin-arm64
afcc466c4a1ab1132e8ddda4e742877264d030926d72131c6f056a87b42be020 fc2-live-dl-go-linux-amd64
55ab2d9a91c376ba7ba108218980001861a7eea50c77321a8145cc395901ef3a fc2-live-dl-go-linux-arm64
fce0f44ab9c63c890da64194869a8ff63063bb3b09ad8b902c2159a99b63c7d7 fc2-live-dl-go-linux-riscv64
65b0372608786c5f17e71ecd94da0b9c329707590ebb104577244027a597ac61 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.4-rc.1...v1.8.4-rc.2

v1.8.4-rc.1: fix deadlock on websocket failure

25 Sep 23:58
v1.8.4-rc.1
ec7f49b
Compare
Choose a tag to compare

Changes

  • Fixed deadlock due to sudden websocket error not canceling the whole goroutine group (#72, #74).
  • Refactored the project to allow easier integration testing.
  • Added contract testing to avoid API client implementation drift with FC2 API.

SHA256 Checksums

dd071b7ede81f9fff803cd8e833e0b4393b7542b5bb39845b764486148eb5a20 fc2-live-dl-go-darwin-amd64
8bae571af987ef1a45e2b9defea6d949068ca504f6276c6f37d5d0e3b9f6c008 fc2-live-dl-go-darwin-arm64
2c22bfea449630084849382d79b474d1c5efb39d05521e16a850b69890bae05a fc2-live-dl-go-linux-amd64
2e35389937eb0391696cdcc19a03f7f99b1716afd1b73f4e09a4801a58d682b0 fc2-live-dl-go-linux-arm64
bd9aaf0e341f685b80a95acd114363279c209ac2c7211a9b1a7cf74beb5c06bd fc2-live-dl-go-linux-riscv64
93d25eb699980cca3b1cf92dbe57387fd998ea94b49505dab74cdff66241cce5 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.3...v1.8.4-rc.1

v1.8.3: concat and cleaner fixes

30 Aug 00:44
v1.8.3
341727d
Compare
Choose a tag to compare

Caution

This release contains a deadlock during the download. Please use a version greater than 1.8.3.

SHA256 Checksums

5855ab05338ff963df1ea06d65d7663d8d9047a24bd4131d5bc404af356f404c fc2-live-dl-go-darwin-amd64
cee40524cb8092d6178573af6a023be6e6f2bee9eacd4086ae94a9d2a1672c7a fc2-live-dl-go-darwin-arm64
aeb8f82335035b844fe744b861948ada4de23fe769b1811c83f5a2e15fe15b80 fc2-live-dl-go-linux-amd64
b538ce9e51b7eb1b5ed134f60e9ec83ead86a6224f7c87f7e46bb9b4a20a7839 fc2-live-dl-go-linux-arm64
bd5f52e4eda10a0b96f84a1973f2c2e5bde1c7896c5abdc404ded19516c873b5 fc2-live-dl-go-linux-riscv64
cd2aecb1c1742cef57c9aabe3408abb355b8a9b91f8fe04c7305bf4f56a68d43 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.2...v1.8.3

v1.8.2: Fix deadlock on quality upgrade

23 Aug 16:08
v1.8.2
d62bac0
Compare
Choose a tag to compare

Fixes

  • Fix deadlock on quality upgrade (#64)

SHA256 Checksums

4ac2feaae2c83e4a7c5e2615886663f0a4a2b075f52efc9ed4120b2afdaf83f6 fc2-live-dl-go-darwin-amd64
892b79d378aff6f322ce9f48ccd057c80b5bf6802a01a5a8cecf153be2553955 fc2-live-dl-go-darwin-arm64
06823ae889e2e581ce83d038dd2c91b7d5c1e5cf0f1d08ae980c50e81563d2d3 fc2-live-dl-go-linux-amd64
76e7ed8e61f1c824e681cb0cf2b4a46111bf5b5187d491a60e870908495c2f75 fc2-live-dl-go-linux-arm64
883868806cdc3b82fbaed8bd410c6cb794a2647300844813a3a2977bce5667a4 fc2-live-dl-go-linux-riscv64
f54fa76a9a58d4badb95272045fdbeee8e0b964b586c3ab400bf501e452d7617 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.1...v1.8.2

v1.8.1: Fix concat stream align + mem leak

21 Aug 15:40
v1.8.1
9cbf9fc
Compare
Choose a tag to compare

Caution

Quality upgrade is not working here and will cause a deadlock. Deadlock can be detected by seeing a CANCELED state in the metrics that is too long.

Fixes

  • Fix concatenation of multiple streams which are misaligned (video/audio not in the same stream number).
  • Fixed memory leak by avoiding calling av_packet_unref when it's not necessary.

SHA256 Checksums

1d4cd6d49f6b823eb644a77c24baa122efa356992954607319a27c5b60bafae5 fc2-live-dl-go-darwin-amd64
c5ea573facdcf43095e5f8dd9ed136b7dd5f75fe471a7ce5317d082d8ead70b0 fc2-live-dl-go-darwin-arm64
44e66c0a1184063bb096b598f57d55d967fb27c4b47b87e51f148d45cb994b0b fc2-live-dl-go-linux-amd64
72ca718983562c43aa82a7781c08393ce3e63641afaca2654b19c68d6ec74523 fc2-live-dl-go-linux-arm64
bc48b7239c402f62eea0b1ae0c29ed36094ee78f68f513c8bedfff1932d0a60a fc2-live-dl-go-linux-riscv64
96968c16a75122925d2758fc1705aef3bdffbd2d3c40052d8cf756c2031188a8 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.0...v1.8.1

v1.8.0: Added metrics and traces

21 Aug 02:41
v1.8.0
Compare
Choose a tag to compare

Caution

Quality upgrade is not working here and will cause a deadlock. Deadlock can be detected by seeing a CANCELED state in the metrics that is too long.

New Feature: Added OTEL Tracing, Metrics and Pyroscope

As a wish to seriously improve the performance and memory-safety of fc2-live-dl-go, supports for OTEL and Pyroscope is added.

OTEL and Pyroscope are solutions for YOU to monitor and profile the program. No data is sent to us.

OpenTelemetry

OpenTelemetry provides an API that allows you to collect traces and metrics from the application.

By setting these environment variables:

OTEL_EXPORTER_OTLP_TRACES_ENABLED=true/false
OTEL_EXPORTER_OTLP_METRICS_ENABLED=true/false

You enable push-based telemetry. The telemetry must be send to a OTEL collector like the OTEL Agent or Grafana Alloy.

The parameters of OTEL can be changed using standard environment variables given by the OpenTelemetry project.

Prometheus

In combination with OTEL, we are also exposing the metrics at 0.0.0.0:3000/metrics. This comes included with OTEL.

Pyroscope

In addition to net/http/pprof, github.com/grafana/pyroscope-go/godeltaprof/http/pprof has been added to enable precise continuous profiling via Pyroscope.

The endpoint is still 0.0.0.0:3000/debug/pprof.

Grafana Dashboard

A Grafana Dashboard is now available in the grafana directory

Fixes

  • Fixed a memory leak when calling C.CString during concatenation.
  • Fixed dts_offset missing free on multiple inputs using arena allocation.
  • Ignore empty files and dirs during concat.
  • Fixed Windows build and added basic Windows testing.
  • Fixed an issue where concatenation of mixed formats didn't work because ignoreSingle was passed.

Other Changes

  • Notifications about a new version will now be sent to the user.
  • Container images are now signed.
  • The quality 3Mbps is now the default. We recommend enabling "quality upgrade".
  • The CI is now releasing on GitHub. No more manual releases.
  • Removed a goroutine and used idiomatic Go usage of io.Writer to write bytes directly from HTTP request.
  • Download lifecycle is now controlled via an error channel instead of the ctx.Done. This allow proper graceful cancellation.
  • Added e2e tests by streaming with FFmpeg and do some kool sh- with SSIM and PSNR.
  • Added trace log level.
  • Bumped Go to 1.22.

SHA256 Checksums

18bec7a0023d623c1d5c040c35f6566535a66e993dd356252c0cae06114a13aa fc2-live-dl-go-darwin-amd64
ec48e96650bf8c4004a4780ec7e6ae78bf6b18f3b4e76474efb0efaa7a1442fc fc2-live-dl-go-darwin-arm64
88c668125f6b5156723737550fbb32b6890cc0926c9cb11b435d6921d143f6d8 fc2-live-dl-go-linux-amd64
40bad556e82ad6fba21a68e1bd61730f6ee63d88f09532a1b8f451903140d2a2 fc2-live-dl-go-linux-arm64
5be9a0d4e82b15f19693f6b1fa50c205e69794758fc0bb531c2ccc7955fb2357 fc2-live-dl-go-linux-riscv64
41b76b37455d828d2e10fd61093e9d89e49c188c70f4b833b6cc2a95acb67cde fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.7.0...v1.8.0

v1.8.0-rc.6: Added e2e test and fixed deadlock

17 Aug 23:46
v1.8.0-rc.6
0e6f030
Compare
Choose a tag to compare

Changes

  • Added e2e tests.
  • Fixed deadlock where initial playlist is not fetched ever since tracing was added.
  • Added trace log level.

SHA256 Checksums

ca69d8294f95c23f718b22568b19752d32b48167126e3668fb1d2c6017559cd8 fc2-live-dl-go-darwin-amd64
82a28ff5338d4d5c208e53e304c91568ad2db7211d7884a87d28822ab3e13943 fc2-live-dl-go-darwin-arm64
416e9641116b21be902832d2290b72f0c2905f02079bdf3c674cf4e9a3e73cad fc2-live-dl-go-linux-amd64
031110d4e0fae0a4dbc520c6275b7650cfc93b40ee653ceb7f2a7a0f6a4e012d fc2-live-dl-go-linux-arm64
333b192f085839c7eaa67333a6914311c52e01a41398ecf3d14ab1d454eb69c1 fc2-live-dl-go-linux-riscv64
85d3f45a5a712e045ee444c7f774add0581af2c910481728fecd7ac1fa48e91e fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.0-rc.5...v1.8.0-rc.6

v1.8.0-rc.5: Various optimizations

15 Aug 20:06
v1.8.0-rc.5
bf88497
Compare
Choose a tag to compare
Pre-release

Changes

  • Fixed an issue where concatenation of mixed formats didn't work because ignoreSingle was passed.
  • Removed a goroutine and used idiomatic Go usage of io.Writer to write bytes directly from HTTP request.
  • Download lifecycle is now controlled via an error channel instead of the ctx.Done. This allow proper graceful cancellation.

SHA256 Checksums

4ff4cb98caefae11dc6c544902cec0c7d59a1c742d51788cc927fd0aba5451e0 fc2-live-dl-go-darwin-amd64
f2582dafed4a3b9b242e1e8e0b365a8a7d0cb561bf892114c778ecd9492f5b8d fc2-live-dl-go-darwin-arm64
2efe8c79ee8e3eea7af40f0ba4df7e1dab3d2fadfb6edac8d861b75f525db32d fc2-live-dl-go-linux-amd64
560952647e839e447d508b11408394a337e11085f72f17931d37ad9c54c01ba3 fc2-live-dl-go-linux-arm64
30294ce4029e285d79859b3ef2710297ed80fc2f7f477d6ef6222f7020873f38 fc2-live-dl-go-linux-riscv64
970be0ed6aa684b02e82687ddf36f3e22bfcb8e3bbe95e12075c4bedfedfdcc2 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.0-rc.4...v1.8.0-rc.5

v1.8.0-rc.4

15 Aug 19:40
v1.8.0-rc.4
2643e00
Compare
Choose a tag to compare
v1.8.0-rc.4 Pre-release
Pre-release

SHA256 Checksums

aaa8d481c84d3d09fba4d5490b599a4f0e9f41b5980e3921516968519d7fa876 fc2-live-dl-go-darwin-amd64
4f771fb6f7e3c8eb172c7bc43c37d492b4626cd25de7904e5cc87a5fbfbd59d8 fc2-live-dl-go-darwin-arm64
31489d616cfa9d4599779f857550366df09fa24a427468d9216360af01502210 fc2-live-dl-go-linux-amd64
2620045a91336063464bafe3db19a96ecc341bc2abe50257fdd1bb1843774330 fc2-live-dl-go-linux-arm64
9f56eba557ec77d060ffd92b3d88b5be1cbf7f5d18a6326339b721aebfb3790c fc2-live-dl-go-linux-riscv64
4a9b908daf7417382d73b1b6a261503aeddfb5c061b2fbb36711d74149d4ae35 fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.8.0-rc.3...v1.8.0-rc.4