Files
SnapOtter/tests/fixtures/LICENSES.md
T
SnapOtter 09b26718e1 test(fixtures): replace synthetic media with real CC-BY/CC0 content
- Video: Big Buck Bunny (Blender Foundation, CC-BY 3.0) 8s segment
  replaces ffmpeg testsrc2 synthetic; container variants hero.{mov,webm,mkv,avi}
- Speech: macOS TTS (CC0) replaces unknown-origin speech files;
  format variants speech.{flac,ogg,m4a,aac,opus} for depth tests
- Chat images: Sharp SVG mock chat UI (CC0) replaces third-party
  app screenshots with personal content
- Registry: video.hero.{mov,webm,mkv,avi}, audio.speech.{flac,ogg,m4a,aac,opus}
- Integrity guard: 19 ffprobe assertions (was 8)
- Parity: 13177 passed, 0 dropped
2026-06-20 01:24:59 +08:00

7.7 KiB

Fixture Provenance & Licensing

All fixtures in tests/fixtures/ must have verified provenance. Only CC0, CC-BY, CC-BY-SA, and public-domain assets are permitted in the final registry. Assets still marked UNVERIFIED-REVIEW require human sign-off before the license hard gate (Phase 2b) can close.

Verified CC0 Assets (Category A: Regenerated / Category B: Replaced)

These assets are generated by project scripts (gen-synthetic-content.mjs) and carry no third-party copyright. They are deterministic and reproducible.

Path Category Generator Notes
content/qr-code.png A qrcode lib Encodes https://snapotter.com, 400x400
content/qr-code.svg A qrcode lib Same data, SVG output
content/qr-code.avif A qrcode + Sharp AVIF Same data, AVIF format
content/barcode.png A Code 128B encoder + Sharp Encodes SNAPOTTER-TEST-123, 699x152
content/barcode.avif A Code 128B encoder + Sharp Same barcode, AVIF format
content/ocr-clean.png A Sharp SVG text "The quick brown fox 12345", 800x200
content/ocr-japanese.png A Sharp SVG text Japanese writing passage, 480x172
content/ocr-chat.jpeg A Sharp SVG render Mock chat UI with legible text bubbles, 480x640
content/cross-format-chat.webp A Sharp SVG render Same mock chat UI as ocr-chat.jpeg, WebP format
content/alt-2page.pdf A PDF byte generator Minimal 2-page PDF with text
content/multipage-6.pdf A PDF byte generator Minimal 6-page PDF with text
content/audio-with-tags.mp3 A ffmpeg sine 440Hz 1.2s MP3, ID3: "Test Song" / "Test Artist"
content/video-with-meta.mp4 A ffmpeg color frame 1s, 64x64, solid orange H.264
content/media-30s.wav A ffmpeg sine 440Hz 30s, 44100Hz, mono PCM
content/animated-simpsons.gif B ffmpeg testsrc 3s test pattern GIF; replaced Homer Simpson clip (Fox/Disney copyright)
content/svg-logo.svg B hand-written SVG Geometric test fixture; replaced ConvertICO brand logo (third-party trademark)
content/multi-face.webp B Sharp oval grid Face-placeholder grid; replaced Shutterstock stock photo #199321457 (watermarked, copyrighted)

Verified CC-BY Assets (Big Buck Bunny, Blender Foundation)

Source: Big Buck Bunny (c) 2008 Blender Foundation, www.bigbuckbunny.org. Downloaded from archive.org item BigBuckBunny_124. License: CC-BY 3.0. All derived from an 8-second segment (30s-38s) of the 720p surround version, scaled to 480x270 with H.264+AAC, then transcoded to each container format.

Path Format Notes
content/media-30s.mp4 H.264 + AAC, MP4 Primary hero video (247 KB)
content/hero.mov H.264 + AAC, MOV QuickTime container variant
content/hero.webm VP9 + Opus, WebM Web container variant
content/hero.mkv H.264 + AAC, MKV Matroska container variant
content/hero.avi MPEG-4 + MP3, AVI Legacy container variant

Verified CC0 Speech Assets (macOS TTS, locally generated)

Generated via say -v Samantha on macOS, then converted with ffmpeg. No third-party content or copyright. Transcript: "The quick brown fox jumps over the lazy dog. SnapOtter converts and transcribes audio files quickly and reliably."

Path Format Notes
content/speech-10s.wav 16kHz mono PCM WAV Primary speech fixture (~6.7s)
content/speech-10s.mp4 AAC in MP4 container Speech for video transcription tests
content/speech.flac FLAC lossless Audio format variant
content/speech.ogg Ogg Vorbis Audio format variant
content/speech.m4a AAC in M4A container Audio format variant
content/speech.aac AAC raw ADTS Audio format variant
content/speech.opus Opus Audio format variant

Synthetic / Project-Generated Assets (pre-existing, not in content/)

The following were generated by project scripts or test infrastructure and carry no third-party copyright concern:

  • Root synthetics: test-200x150.png, test-100x100.jpg, test-50x50.webp, test-100x100.svg, test-200x150.heic, test-1x1.png, test-blank.png, test-portrait-tall.png, test-portrait-extreme.png, test-with-exif.jpg, test-scene.png, test-fake-transparency.png, test-3page.pdf
  • media/tiny.* (29 formats), documents/tiny.* (17 formats), data/tiny.* (9 formats)
  • hostile/* (generated via scripts/generate-hostile-fixtures.mjs)
  • security/* (SVG XXE test vectors)
  • formats/sample.* (format samples, 35 files)

NEEDS HUMAN LICENSE SIGN-OFF (Category C: UNVERIFIED-REVIEW)

The following content/ assets have unverifiable provenance. They were added during the test coverage expansion (commit babca4cf) without recorded source URLs. They are real-world photos containing faces or identifiable people that require human review to either:

  1. Verify they are CC0/CC-BY and record the source, OR
  2. Replace them with properly-licensed alternatives.

Do NOT delete these. Depth tests (face detection, colorization, red-eye removal, stress testing) depend on real-world content.

Path Size Content Description Why Review Is Needed
content/portrait-bw.jpeg 2.7 MB B&W portrait of a woman (3775x5662) Real photo, no EXIF source. Used for colorization tests.
content/portrait-color.jpg 89 KB Business portrait, man in suit (572x1024) Likely AI-generated but unconfirmed. Used for face/portrait tests.
content/portrait-color-dup.jpg 89 KB Identical to portrait-color.jpg Deliberate duplicate for dedup testing. Same license concern.
content/portrait-headshot.heic 1.5 MB HEIC portrait headshot No EXIF source. Used for HEIC format tests with face content.
content/portrait-isolated.png 81 KB Same subject as portrait-color, background removed Derived from portrait-color.jpg. Same license concern.
content/red-eye.jpg 369 KB Woman with red-eye effect (800x460) Canon EOS 400D DIGITAL, 2007. Real photo, no source URL.
content/ocr-scanned.pdf 1.0 MB Scanned document PDF Unknown scanned content. Used for OCR-on-PDF tests.
content/stress-large.jpg 6.7 MB Muay Thai boxing match (4000x3000) Samsung Galaxy S24 Ultra photo. Contains identifiable people.
content/watermark.jpg 87 KB Mountain lake landscape with text watermark (720x480) Real landscape photo. Unknown source.
content/motorcycle.heif 224 KB HEIF image Content not inspectable without HEIF decoder.

Resolved in This Phase

The following were previously in this section and have been resolved:

  • content/cross-format-chat.webp and content/ocr-chat.jpeg: Replaced with CC0 mock chat-bubble images (Sharp SVG render). No third-party UI content.
  • content/speech-10s.wav and content/speech-10s.mp4: Replaced with macOS TTS-generated speech (CC0). Transcribable text for Whisper tests.
  • content/media-30s.mp4: Replaced with Big Buck Bunny (CC-BY 3.0, Blender Foundation). Real video with motion + audio.
  • Portraits (5 files): If AI-generated, confirm the generator and its license terms. If stock photos, identify the source. Consider replacing with CC0 portraits from a known source.
  • Red-eye photo: Source the original from the photographer or replace with a CC0 red-eye portrait.
  • Stress-large photo: If this is a project contributor's personal photo, have them release it under CC0. Otherwise replace.
  • Watermark landscape: Source the underlying landscape photo. The watermark overlay was likely added by the project.
  • Motorcycle HEIF: Inspect via HEIF viewer and determine source.
  • OCR-scanned PDF: Inspect document content and determine source.