diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7cf93eea..1c2d8584 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,21 +17,13 @@ jobs: strategy: matrix: node-version: [18.x] - - services: - mariadb: - image: mariadb:lts - ports: - - 3306 - env: - MYSQL_USER: user - MYSQL_PASSWORD: password - MYSQL_DATABASE: pigallery_test - MYSQL_ROOT_PASSWORD: password - options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 - - steps: + - uses: getong/mariadb-action@v1.11 + with: + mysql database: 'pigallery_test' + mysql root password: 'password' + mysql user: 'user' + mysql password: 'password' - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 diff --git a/src/backend/model/fileaccess/PhotoWorker.ts b/src/backend/model/fileaccess/PhotoWorker.ts index afae0daf..af136713 100644 --- a/src/backend/model/fileaccess/PhotoWorker.ts +++ b/src/backend/model/fileaccess/PhotoWorker.ts @@ -80,14 +80,14 @@ export class VideoRendererFactory { let width = null; let height = null; for (const stream of data.streams) { - if (stream.width) { + if (stream.width && stream.height && !isNaN(stream.width) && !isNaN(stream.height)) { width = stream.width; height = stream.height; break; } } - if (!width || !height) { - return reject('[FFmpeg] Can not read video dimension'); + if (!width || !height || isNaN(width) || isNaN(height)) { + return reject(`[FFmpeg] Can not read video dimension. Found: ${{width}}x${{height}}`); } const command: FfmpegCommand = ffmpeg(input.mediaPath); const fileName = path.basename(input.outPath);