Summary: | GLMediaPlayer/GraphUI: Support Displaying Text/ASS Subtitles | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
Component: | graph | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | sgothel |
Priority: | P4 | ||
Version: | 2.6.0 | ||
Hardware: | All | ||
OS: | all | ||
Type: | FEATURE | SCM Refs: |
6c67d73dc6b9e49bdd406902e533be91db1a3b0a
f92f72adef6abc76dce7eecf6c058e8d43d3add9
0f30aa0995aed0afa610efd49ab8f7ea26fa6db0
9aeff8cb3113729adcb5910061015a88ac827002
28e5b66e6e201259c6ad240552045314d2072595
c5bca1f0dba2540088e8e2a90d720fdbc4870b30
3e95c1994d363bc137ffcf548fd3751ac500ac7b
9a21e23b3296eb481bcb407d740e822ad11ac7cd
020f998cad685ce2267751196528b31ce939764c
020f998cad685ce2267751196528b31ce939764c
7928ed90104f71fb53ae8201b3140b8e347b83ee
4ba099b97df41be220c4b2816c728e6b8cc1b037
gluegen 36f595b37220976125222f7f5b3dbfc74df163e0
gluegen d9604cf4687c3f4e14967ee748749c784fd1578f
119a9bf8c474ec8d7db11235f90a3e266c911e1e
|
Workaround: | --- | ||
Bug Depends on: | 1492 | ||
Bug Blocks: | 805 |
Description
Sven Gothel
2024-01-31 10:54:26 CET
Will address bitmap'ed subtitles in a followup issue. +++ commit 6c67d73dc6b9e49bdd406902e533be91db1a3b0a GLMediaPlayer/FFMPEGMediaPlayer: Add working subtitle (text + ass/saa) support via FFMpeg TODO: - We may want to refine subtitle PTS handling - We may want to support bitmapped subtitles +++ commit f92f72adef6abc76dce7eecf6c058e8d43d3add9 GraphUI MediaButton/MediaPlayer-Widget: Add working subtitle (text + ass/saa) support via GLMediaPlayer/FFMPEGMediaPlayer +++ commit 0f30aa0995aed0afa610efd49ab8f7ea26fa6db0 FFMPEGMediaPlayer (native): Set used sid to none if not selected (missed) +++ commit 9aeff8cb3113729adcb5910061015a88ac827002 FFMPEGMediaPlayer (native): Simplify subtitle handling in readNextPacket0() +++ commit 28e5b66e6e201259c6ad240552045314d2072595 GraphUI MediaButton: Clear cached subtitle data on uninit and init from GLMediaPlayer +++ commit c5bca1f0dba2540088e8e2a90d720fdbc4870b30 Cleanup GLMediaPlayer.EventMask.Bit handling in GLMediaEventListener implementations: Either Uninit, Init, Pause or Play (exclusive) ++ commit 3e95c1994d363bc137ffcf548fd3751ac500ac7b FFMPEGMediaPlayer/GraphUI MediaButton: AVSubtitles's start/end are relative to pts [ms] (fixed); Use ASSEventLine packets within proper pts only. +++ commit 9a21e23b3296eb481bcb407d740e822ad11ac7cd (HEAD -> jausoft_01) GraphUI MediaButton: Add blending below subtitle, allow setting color/blending and subLineDY; MediaPlayer: Add full infoLine toggle with click on infoBox commit 020f998cad685ce2267751196528b31ce939764c (HEAD -> jausoft_01, jordan/jausoft_01) Bug 1493 - Text/ASS Subtitle via MediaButton/MediaPlayer Alignment defaults to CenterHoriz, also support Left. MediaButton: Also cleanup local vars in layout commit 020f998cad685ce2267751196528b31ce939764c (jordan/jausoft_01) Bug 1493 - Text/ASS Subtitle via MediaButton/MediaPlayer Alignment defaults to CenterHoriz, also support Left. MediaButton: Also cleanup local vars in layout +++ commit 7928ed90104f71fb53ae8201b3140b8e347b83ee Bug 1493: Supply language code to SubtitleEvent, perhaps allowsing player to select font for ASS/Text rendering; Remove GLMediaPlayer's getStreamLang() as replaced by getLang() +++ commit 4ba099b97df41be220c4b2816c728e6b8cc1b037 Graph/GraphUI: Move getDefault*() to FontFactory and add {get,set}FallbackFont() + Font.getBestCoverage(..); Use fallback-font in MediaButton in case chosen font doesn't match (foreign languages, e.g. 'zho' Chinese .. ) GlueGen: commit 36f595b37220976125222f7f5b3dbfc74df163e0 Adding StringUtil, containing basic utility functions as well as unicode space (whitespace) and full- and halfwidth tests. +++ commit d9604cf4687c3f4e14967ee748749c784fd1578f Rename StringUtil.strip() -> StringUtil.trim(), refine API doc +++ commit 119a9bf8c474ec8d7db11235f90a3e266c911e1e Bug 1493: Enhance Text/ASS subtitle layout: Split too wide text into multiple lines (max 4) fitting into box, trimming it beforehand Not always are Text/ASS subtitles well formed with newline character. Use new StringUtil to re-layout if their width doesn't fit into the box, by trimming all whitespace and splitting them into up-to 4 lines. |