From 3e03b961b8ab897500dfea626f808c009f64e551 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 9 Apr 2021 10:36:21 +0200 Subject: Add ability for plugins to specify scale filter --- server/tests/plugins/plugin-transcoding.ts | 34 +++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'server/tests/plugins') diff --git a/server/tests/plugins/plugin-transcoding.ts b/server/tests/plugins/plugin-transcoding.ts index 415705ca1..b6dff930e 100644 --- a/server/tests/plugins/plugin-transcoding.ts +++ b/server/tests/plugins/plugin-transcoding.ts @@ -15,9 +15,11 @@ import { sendRTMPStreamInVideo, setAccessTokensToServers, setDefaultVideoChannel, + testFfmpegStreamError, uninstallPlugin, updateCustomSubConfig, uploadVideoAndGetId, + waitFfmpegUntilError, waitJobs, waitUntilLivePublished } from '../../../shared/extra-utils' @@ -119,8 +121,8 @@ describe('Test transcoding plugins', function () { const res = await getConfig(server.url) const config = res.body as ServerConfig - expect(config.transcoding.availableProfiles).to.have.members([ 'default', 'low-vod', 'video-filters-vod', 'input-options-vod' ]) - expect(config.live.transcoding.availableProfiles).to.have.members([ 'default', 'low-live', 'input-options-live' ]) + expect(config.transcoding.availableProfiles).to.have.members([ 'default', 'low-vod', 'input-options-vod', 'bad-scale-vod' ]) + expect(config.live.transcoding.availableProfiles).to.have.members([ 'default', 'low-live', 'input-options-live', 'bad-scale-live' ]) }) it('Should not use the plugin profile if not chosen by the admin', async function () { @@ -143,26 +145,31 @@ describe('Test transcoding plugins', function () { await checkVideoFPS(videoUUID, 'below', 12) }) - it('Should apply video filters in vod profile', async function () { + it('Should apply input options in vod profile', async function () { this.timeout(120000) - await updateConf(server, 'video-filters-vod', 'default') + await updateConf(server, 'input-options-vod', 'default') const videoUUID = (await uploadVideoAndGetId({ server, videoName: 'video' })).uuid await waitJobs([ server ]) - await checkVideoFPS(videoUUID, 'below', 12) + await checkVideoFPS(videoUUID, 'below', 6) }) - it('Should apply input options in vod profile', async function () { + it('Should apply the scale filter in vod profile', async function () { this.timeout(120000) - await updateConf(server, 'input-options-vod', 'default') + await updateConf(server, 'bad-scale-vod', 'default') const videoUUID = (await uploadVideoAndGetId({ server, videoName: 'video' })).uuid await waitJobs([ server ]) - await checkVideoFPS(videoUUID, 'below', 6) + // Transcoding failed + const res = await getVideo(server.url, videoUUID) + const video: VideoDetails = res.body + + expect(video.files).to.have.lengthOf(1) + expect(video.streamingPlaylists).to.have.lengthOf(0) }) it('Should not use the plugin profile if not chosen by the admin', async function () { @@ -205,6 +212,17 @@ describe('Test transcoding plugins', function () { await checkLiveFPS(liveVideoId, 'below', 6) }) + it('Should apply the scale filter name on live profile', async function () { + this.timeout(120000) + + await updateConf(server, 'low-vod', 'bad-scale-live') + + const liveVideoId = await createLiveWrapper(server) + + const command = await sendRTMPStreamInVideo(server.url, server.accessToken, liveVideoId, 'video_short2.webm') + await testFfmpegStreamError(command, true) + }) + it('Should default to the default profile if the specified profile does not exist', async function () { this.timeout(120000) -- cgit v1.2.3