* feat(scanner): capture audio stream profile metadata
Store ffprobe audio stream profiles in the existing audio track metadata JSON. This mirrors the video track profile field and is additive for clients that want to display or inspect codec profile details.
* feat(catalogseed): carry audio profile in seed export records
Keep AudioTrackRecord in parity with VideoTrackRecord, which already
mirrors the video profile field, so seed exports do not drop the new
audio profile metadata.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat(jellycompat): surface audio profile and spatial format on media streams
Set MediaStream.Profile from the captured ffprobe audio profile and
derive AudioSpatialFormat (DolbyAtmos / DTSX) from it, matching
Jellyfin's case-insensitive substring semantics. Audio display titles
now prefer the profile over the codec name (except the AAC "LC"
profile), matching Jellyfin, so DTS-HD MA and Atmos tracks read
correctly in clients like Infuse.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Silo Contributor <silo-contributor@example.invalid>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>