RetroArch video player don't show subtitles
Description
RetroArch v1.10.3 video player (FFmpeg) don't show subtitles.
Expected behavior
To display the subtitles embedded inside an mkv video.
Actual behavior
RetroArch is not displaying the subtitles (ass files) embedded in the mkv video.
Steps to reproduce the bug
- First step: Load content
- Second step: choose any video.mkv file
- The video loads, but the subtitles are not displayed.
Bisect Results
I tested with older versions starting from v1.9.8 and v1.10.0 and the subtitles work without problem, this problem appears from v1.10.1 to v1.10.3.
Version/Commit
- RetroArch: 1.10.3 / a597c95
Environment information
- OS: Windows 10 x64
- retroarch.log
will this ever be fixed?
Nobody is working on it, specifically, but sure, it might get fixed at some point. It just takes someone who knows what they're doing to figure out what broke it and then submit a fix for it.
I played around with this a bit but couldn't get it to work, I'm not familiar with ffmpeg, libass, nor C/C++. Here are my findings from testing with one anime episode:
ass_process_datadoes get the subtitle string insub.rects[i]->assass_render_framedoes not create any images to be rendered and because of this the for loop inrender_ass_imgnever does anythingif (codec_id_is_ttf(params->codec_id))never adds any attachments asparams->codec_idis always0butparams->extradata_sizeseems good- the code only tries to use
AV_CODEC_ID_TTFbut there are alsoAV_CODEC_ID_OTFfonts (?) probably unrelated ass_add_fontuses an empty string as the font name and libass has this checkif (!name || !data || !size) return;, don't the font names matter?
The console log window didn't have anything suspicious in it.
If we could get ass_render_frame to render the images it should work again, maybe something is not initialized correctly but I don't know.
I used MSYS2 MINGW64 on Windows 10.
Hmm, yeah, sounds like the lack of a font name could be causing some problems.
May I know is this issue fixed? I also want to show subtitle....
No, it is not fixed.