Merge pull request #3302 from marius-luca-87/fix_subtitle_crash

Avoid requesting mjpeg attachements during ass subtitle playback
This commit is contained in:
Bill Thornton 2022-01-14 09:16:42 -05:00 committed by GitHub
commit cc6611a98a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1048,12 +1048,16 @@ function tryRemoveElement(elem) {
* @private * @private
*/ */
renderSsaAss(videoElement, track, item) { renderSsaAss(videoElement, track, item) {
const supportedFonts = ['application/x-truetype-font', 'font/otf', 'font/ttf', 'font/woff', 'font/woff2'];
const avaliableFonts = []; const avaliableFonts = [];
const attachments = this._currentPlayOptions.mediaSource.MediaAttachments || []; const attachments = this._currentPlayOptions.mediaSource.MediaAttachments || [];
const apiClient = ServerConnections.getApiClient(item); const apiClient = ServerConnections.getApiClient(item);
attachments.map(function (i) { attachments.forEach(i => {
// embedded font url // we only require font files and ignore embedded media attachments like covers as there are cases where ffmpeg fails to extract those
return avaliableFonts.push(apiClient.getUrl(i.DeliveryUrl)); if (supportedFonts.includes(i.MimeType)) {
// embedded font url
avaliableFonts.push(apiClient.getUrl(i.DeliveryUrl));
}
}); });
const fallbackFontList = apiClient.getUrl('/FallbackFont/Fonts', { const fallbackFontList = apiClient.getUrl('/FallbackFont/Fonts', {
api_key: apiClient.accessToken() api_key: apiClient.accessToken()