| 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.
|