8c7938aca0
IFfmpegLocator seam that resolves ffmpeg.exe (PATH -> cache -> pinned download), plus the licensing compliance that makes a paid GA product defensible. NOTE FOR USERS: this change shows NO difference in the app's behavior except a new top-bar "About" button (opens THIRD-PARTY-NOTICES.txt). It is scaffolding for the encoder/streaming work. - Services/Encoder/: IFfmpegLocator + FfmpegLocator. Pin is BtbN lgpl-shared autobuild-2026-08-09-13-03 (NOT gyan.dev/GPL or static: LGPLv2.1 §6 static relink material avoided by dynamic linking); extracts ffmpeg.exe + libav*.dll via a staging dir so a crash never leaves a partial cache - THIRD-PARTY-NOTICES.txt: LGPL/BSD/MIT notices + source offer, copied to the build output, surfaced by the About button; v1 gate = bundle full license texts (TASK 4 requirement 9) - ai.md "Licensing - do not violate" guardrails (never GPL/nonfree/static/latest- tag, never link FFmpeg in, never drop notices); TASKS.md + Services/index.md updated - Tests: FfmpegLocatorTests - hermetic decision-ladder integration test + shared- build DLL extraction + edge cases; docs updated (78 tests passing, 0 warnings)
79 lines
3.9 KiB
Plaintext
79 lines
3.9 KiB
Plaintext
ytLlive — Third-Party Notices
|
|
================================
|
|
|
|
ytLlive is a paid, closed-source product. This file lists every third-party
|
|
component the product distributes or downloads, its license, and where to get
|
|
its source, so the LGPL/BSD/MIT obligations are met. Distribution obligations
|
|
are NOT optional: they attach because this product ships or automates the
|
|
download of these components.
|
|
|
|
If this file changes, update it here AND in the app's About screen (it opens
|
|
this file). See TASKS.md (TASK 4) and ai.md ("Licensing — do not violate") for
|
|
the guardrails — the "never do" list is there on purpose.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
1. FFmpeg (dynamic libraries + ffmpeg.exe, LGPL v2.1+)
|
|
Copyright (c) 2000-2026 the FFmpeg developers
|
|
License: GNU Lesser General Public License v2.1 or later
|
|
Home: https://ffmpeg.org/
|
|
Source: https://git.ffmpeg.org/ffmpeg.git
|
|
Used as: the streaming encoder/RTMP subprocess. This product distributes the
|
|
UNMODIFIED binaries; it never links FFmpeg into its own code (it is
|
|
launched as a separate process fed raw frames over a pipe).
|
|
Why LGPL (not GPL): a GPL build (e.g. gyan.dev, or BtbN's "gpl" variant)
|
|
would contaminate this proprietary product. Do NOT use one.
|
|
Why "shared" (not static): LGPL v2.1 §6 requires "relinkable" materials for
|
|
statically-linked libraries. The shared build links dynamically, so
|
|
the user can replace the DLLs — compliance is this notice plus the
|
|
source offer below, with no relink material required.
|
|
Compliance supplied by this product:
|
|
- The license text: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
|
- The corresponding source / written offer to obtain it:
|
|
FFmpeg source https://ffmpeg.org/download.html
|
|
Exact binary https://github.com/BtbN/FFmpeg-Builds
|
|
Build tag: autobuild-2026-08-09-13-03 (variant lgpl-shared)
|
|
- The binaries are unmodified and the LGPL notices therein are intact.
|
|
|
|
2. BtbN FFmpeg-Builds (the exact binary this product downloads)
|
|
License: MIT (build scripts + repository) — the produced binaries are
|
|
covered by FFmpeg's LGPL (item 1).
|
|
Home: https://github.com/BtbN/FFmpeg-Builds
|
|
|
|
3. OpenH264 (libopenh264 — the H.264 software fallback encoder)
|
|
Copyright (c) 2010-2026 Cisco Systems, Inc. (and contributors)
|
|
License: BSD 2-Clause + Cisco's H.264 patent grant
|
|
Home: https://www.openh264.org/
|
|
Note: Cisco grants the patent license for its own H.264 implementation;
|
|
it ships inside the FFmpeg build above (LGPL obligations of item 1
|
|
apply to the library; the BSD terms apply to Cisco's code).
|
|
|
|
4. SQLite (bundled via SQLitePCLRaw's e_sqlite3 native bundle)
|
|
License: public domain (no rights reserved)
|
|
Home: https://www.sqlite.org/
|
|
|
|
5. Microsoft.Data.Sqlite (.NET data provider, statically linked into this app)
|
|
Copyright (c) .NET Foundation and contributors
|
|
License: MIT
|
|
Home: https://github.com/dotnet/efcore
|
|
|
|
6. SQLitePCLRaw (raw SQLite bindings + bundles)
|
|
Copyright (c) 2012-2026 Eric Sink and contributors
|
|
License: Apache-2.0
|
|
Home: https://github.com/ericstj/SQLitePCLRaw
|
|
|
|
7. .NET runtime / WPF / Windows SDK projections, incl.
|
|
System.Security.Cryptography.ProtectedData
|
|
Copyright (c) .NET Foundation and contributors
|
|
License: MIT
|
|
Home: https://github.com/dotnet/
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
MISCELLANEOUS
|
|
- The full text of every license named above is available at the linked
|
|
canonical locations. The v1 (GA) release MUST additionally bundle the full
|
|
license texts alongside this file (a `licenses/` folder beside it, still
|
|
reachable from the About screen) — TASK 4 requirement 9, a release blocker.
|
|
- No warranty is expressed or implied for any third-party component.
|