@remotion/lambda 4.0.0-bitrate.16 → 4.0.0-copy.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +0 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +0 -0
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +0 -0
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +0 -0
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +0 -0
- package/dist/api/create-function.d.ts +0 -0
- package/dist/api/create-function.js +0 -0
- package/dist/api/delete-function.d.ts +0 -0
- package/dist/api/delete-function.js +0 -0
- package/dist/api/delete-render.d.ts +0 -0
- package/dist/api/delete-render.js +0 -0
- package/dist/api/delete-site.d.ts +0 -0
- package/dist/api/delete-site.js +0 -0
- package/dist/api/deploy-function.d.ts +0 -0
- package/dist/api/deploy-function.js +0 -0
- package/dist/api/deploy-site.d.ts +0 -0
- package/dist/api/deploy-site.js +0 -0
- package/dist/api/download-media.d.ts +0 -0
- package/dist/api/download-media.js +0 -0
- package/dist/api/enable-s3-website.d.ts +0 -0
- package/dist/api/enable-s3-website.js +0 -0
- package/dist/api/estimate-price.d.ts +0 -0
- package/dist/api/estimate-price.js +0 -0
- package/dist/api/get-aws-client.d.ts +0 -0
- package/dist/api/get-aws-client.js +0 -0
- package/dist/api/get-buckets.d.ts +0 -0
- package/dist/api/get-buckets.js +0 -0
- package/dist/api/get-compositions-on-lambda.d.ts +28 -0
- package/dist/api/get-compositions-on-lambda.js +54 -0
- package/dist/api/get-function-info.d.ts +0 -0
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +0 -0
- package/dist/api/get-functions.js +0 -0
- package/dist/api/get-or-create-bucket.d.ts +0 -0
- package/dist/api/get-or-create-bucket.js +0 -0
- package/dist/api/get-regions.d.ts +0 -0
- package/dist/api/get-regions.js +0 -0
- package/dist/api/get-render-progress.d.ts +0 -0
- package/dist/api/get-render-progress.js +0 -0
- package/dist/api/get-sites.d.ts +0 -0
- package/dist/api/get-sites.js +0 -0
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
- package/dist/api/iam-validation/simulate-rule.js +0 -0
- package/dist/api/iam-validation/simulate.d.ts +0 -0
- package/dist/api/iam-validation/simulate.js +0 -0
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +0 -0
- package/dist/api/iam-validation/user-permissions.js +0 -0
- package/dist/api/mock-functions.d.ts +0 -0
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +0 -0
- package/dist/api/presign-url.js +0 -0
- package/dist/api/render-media-on-lambda.d.ts +5 -2
- package/dist/api/render-media-on-lambda.js +22 -7
- package/dist/api/render-still-on-lambda.d.ts +3 -1
- package/dist/api/render-still-on-lambda.js +12 -4
- package/dist/api/upload-dir.d.ts +0 -0
- package/dist/api/upload-dir.js +0 -0
- package/dist/api/validate-webhook-signature.d.ts +0 -0
- package/dist/api/validate-webhook-signature.js +0 -0
- package/dist/cli/args.d.ts +2 -2
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +44 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +0 -0
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +0 -0
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +0 -0
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +0 -0
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +0 -0
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +0 -0
- package/dist/cli/commands/render/progress.d.ts +2 -1
- package/dist/cli/commands/render/progress.js +10 -3
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +23 -10
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +9 -4
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +2 -2
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +0 -0
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +0 -0
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +0 -0
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +19 -11
- package/dist/cli/get-aws-region.d.ts +0 -0
- package/dist/cli/get-aws-region.js +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +0 -0
- package/dist/cli/helpers/progress-bar.d.ts +0 -0
- package/dist/cli/helpers/progress-bar.js +0 -0
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +14 -8
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +2 -1
- package/dist/client.js +3 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
- package/dist/functions/chunk-optimization/types.d.ts +0 -11
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +50 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
- package/dist/functions/helpers/check-if-render-exists.js +0 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +6 -1
- package/dist/functions/helpers/concat-videos.js +27 -9
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +0 -0
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +0 -0
- package/dist/functions/helpers/expected-out-name.js +0 -0
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +0 -0
- package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
- package/dist/functions/helpers/get-browser-instance.js +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +0 -0
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +0 -0
- package/dist/functions/helpers/get-custom-out-name.js +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-encoding-metadata.js +0 -0
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- package/dist/functions/helpers/get-files-to-delete.js +0 -0
- package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
- package/dist/functions/helpers/get-final-encoding-status.js +0 -0
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
- package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
- package/dist/functions/helpers/get-overall-progress.js +0 -0
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +0 -0
- package/dist/functions/helpers/get-progress.js +0 -0
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
- package/dist/functions/helpers/get-retry-stats.js +0 -0
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +0 -0
- package/dist/functions/helpers/io.js +3 -1
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/min-max.d.ts +0 -0
- package/dist/functions/helpers/min-max.js +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +0 -0
- package/dist/functions/helpers/read-with-progress.js +1 -1
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +3 -1
- package/dist/functions/helpers/validate-composition.js +6 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +0 -0
- package/dist/functions/helpers/write-lambda-error.js +0 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +0 -0
- package/dist/functions/index.d.ts +0 -0
- package/dist/functions/index.js +13 -1
- package/dist/functions/info.d.ts +0 -0
- package/dist/functions/info.js +0 -0
- package/dist/functions/launch.d.ts +1 -0
- package/dist/functions/launch.js +68 -71
- package/dist/functions/progress.d.ts +0 -0
- package/dist/functions/progress.js +2 -2
- package/dist/functions/renderer.d.ts +0 -0
- package/dist/functions/renderer.js +10 -2
- package/dist/functions/start.d.ts +0 -0
- package/dist/functions/start.js +6 -2
- package/dist/functions/still.d.ts +0 -0
- package/dist/functions/still.js +22 -6
- package/dist/index.d.ts +6 -2
- package/dist/index.js +3 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +0 -0
- package/dist/pricing/aws-regions.js +0 -0
- package/dist/pricing/price-per-1-s.d.ts +0 -0
- package/dist/pricing/price-per-1-s.js +0 -0
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +0 -0
- package/dist/shared/aws-clients.js +0 -0
- package/dist/shared/bundle-site.d.ts +0 -0
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +0 -0
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +0 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +37 -14
- package/dist/shared/constants.js +6 -3
- package/dist/shared/content-disposition-header.d.ts +0 -0
- package/dist/shared/content-disposition-header.js +0 -0
- package/dist/shared/convert-to-serve-url.d.ts +0 -0
- package/dist/shared/convert-to-serve-url.js +0 -0
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +0 -0
- package/dist/shared/function-zip-path.js +0 -0
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +0 -0
- package/dist/shared/get-aws-urls.d.ts +13 -0
- package/dist/{cli/helpers/get-cloudwatch-stream-url.js → shared/get-aws-urls.js} +5 -1
- package/dist/shared/get-cloudwatch-stream-url.d.ts +0 -0
- package/dist/shared/get-cloudwatch-stream-url.js +0 -0
- package/dist/shared/get-function-version.d.ts +0 -0
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
- package/dist/shared/get-most-expensive-chunks.js +0 -0
- package/dist/shared/hosted-layers.d.ts +0 -0
- package/dist/shared/hosted-layers.js +0 -0
- package/dist/shared/invoke-webhook.d.ts +0 -0
- package/dist/shared/invoke-webhook.js +0 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +0 -0
- package/dist/shared/lambda-version-string.d.ts +0 -0
- package/dist/shared/lambda-version-string.js +0 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +0 -0
- package/dist/shared/make-s3-url.d.ts +0 -0
- package/dist/shared/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/return-values.d.ts +2 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/serialize-input-props.d.ts +7 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +0 -0
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +0 -0
- package/dist/shared/truthy.js +0 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +0 -0
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +0 -0
- package/dist/shared/validate-bucketname.js +0 -0
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +0 -0
- package/dist/shared/validate-download-behavior.js +0 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
- package/dist/shared/validate-frames-per-lambda.js +0 -0
- package/dist/shared/validate-lambda-codec.d.ts +0 -0
- package/dist/shared/validate-lambda-codec.js +0 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +0 -0
- package/dist/shared/validate-outname.js +0 -0
- package/dist/shared/validate-presign-expiration.d.ts +0 -0
- package/dist/shared/validate-presign-expiration.js +0 -0
- package/dist/shared/validate-privacy.d.ts +0 -0
- package/dist/shared/validate-privacy.js +0 -0
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +19 -22
- package/remotionlambda.zip +0 -0
- package/dist/cli/helpers/determine-image-format.d.ts +0 -10
- package/dist/cli/helpers/determine-image-format.js +0 -47
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/cli/helpers/webhook-types.d.ts +0 -6
- package/dist/cli/helpers/webhook-types.js +0 -2
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -47
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getImageFormat = void 0;
|
|
4
|
-
const deriveExtensionFromFilename = (filename) => {
|
|
5
|
-
if (filename === null || filename === void 0 ? void 0 : filename.endsWith('.png')) {
|
|
6
|
-
return 'png';
|
|
7
|
-
}
|
|
8
|
-
if (filename === null || filename === void 0 ? void 0 : filename.endsWith('.jpg')) {
|
|
9
|
-
return 'jpeg';
|
|
10
|
-
}
|
|
11
|
-
if (filename === null || filename === void 0 ? void 0 : filename.endsWith('.jpeg')) {
|
|
12
|
-
return 'jpeg';
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
15
|
-
};
|
|
16
|
-
const getImageFormat = ({ downloadName, outName, configImageFormat, cliFlag, }) => {
|
|
17
|
-
const outNameExtension = deriveExtensionFromFilename(outName);
|
|
18
|
-
const downloadNameExtension = deriveExtensionFromFilename(downloadName);
|
|
19
|
-
if (outNameExtension &&
|
|
20
|
-
downloadNameExtension &&
|
|
21
|
-
outNameExtension !== downloadNameExtension) {
|
|
22
|
-
throw new TypeError(`Image format mismatch: ${outName} was given as the S3 output name and ${downloadName} was given as the download name, but the extensions don't match.`);
|
|
23
|
-
}
|
|
24
|
-
if (downloadNameExtension) {
|
|
25
|
-
if (cliFlag && downloadNameExtension !== cliFlag) {
|
|
26
|
-
throw new TypeError(`Image format mismatch: ${downloadName} was given as the download name, but --image-format=${cliFlag} was passed. The image formats must match.`);
|
|
27
|
-
}
|
|
28
|
-
return { format: downloadNameExtension, source: 'Download name extension' };
|
|
29
|
-
}
|
|
30
|
-
if (outNameExtension) {
|
|
31
|
-
if (cliFlag && outNameExtension !== cliFlag) {
|
|
32
|
-
throw new TypeError(`Image format mismatch: ${outName} was given as the S3 out name, but --image-format=${cliFlag} was passed. The image formats must match.`);
|
|
33
|
-
}
|
|
34
|
-
return { format: outNameExtension, source: 'Out name extension' };
|
|
35
|
-
}
|
|
36
|
-
if (cliFlag === 'none') {
|
|
37
|
-
throw new TypeError('The --image-format flag must not be "none" for stills.');
|
|
38
|
-
}
|
|
39
|
-
if (cliFlag !== null) {
|
|
40
|
-
return { format: cliFlag, source: '--image-format flag' };
|
|
41
|
-
}
|
|
42
|
-
if (configImageFormat !== null && configImageFormat !== 'none') {
|
|
43
|
-
return { format: configImageFormat, source: 'Config file' };
|
|
44
|
-
}
|
|
45
|
-
return { format: 'png', source: 'Default' };
|
|
46
|
-
};
|
|
47
|
-
exports.getImageFormat = getImageFormat;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AwsRegion } from '../../client';
|
|
2
|
-
import type { LambdaRoutines } from '../../shared/constants';
|
|
3
|
-
export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, }: {
|
|
4
|
-
region: AwsRegion;
|
|
5
|
-
functionName: string;
|
|
6
|
-
method: LambdaRoutines;
|
|
7
|
-
renderId: string;
|
|
8
|
-
}) => string;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canUseOptimization = void 0;
|
|
4
|
-
const version_1 = require("remotion/version");
|
|
5
|
-
const canUseOptimization = ({ optimization, framesPerLambda, frameRange, }) => {
|
|
6
|
-
if (!optimization) {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
if (optimization.framesPerLambda !== framesPerLambda) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
if (optimization.lambdaVersion !== version_1.VERSION) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (optimization.frameRange[0] !== frameRange[0]) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
if (optimization.frameRange[1] !== frameRange[1]) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
};
|
|
23
|
-
exports.canUseOptimization = canUseOptimization;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
export declare const collectChunkInformation: ({ bucketName, renderId, region, expectedBucketOwner, }: {
|
|
3
|
-
bucketName: string;
|
|
4
|
-
renderId: string;
|
|
5
|
-
region: AwsRegion;
|
|
6
|
-
expectedBucketOwner: string;
|
|
7
|
-
}) => Promise<(Omit<import("./types").ObjectChunkTimingData, "timings"> & {
|
|
8
|
-
timings: number[];
|
|
9
|
-
})[]>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.collectChunkInformation = void 0;
|
|
4
|
-
const constants_1 = require("../../shared/constants");
|
|
5
|
-
const stream_to_string_1 = require("../../shared/stream-to-string");
|
|
6
|
-
const io_1 = require("../helpers/io");
|
|
7
|
-
const collectChunkInformation = async ({ bucketName, renderId, region, expectedBucketOwner, }) => {
|
|
8
|
-
const prefix = (0, constants_1.lambdaTimingsPrefix)(renderId);
|
|
9
|
-
const timingFiles = await (0, io_1.lambdaLs)({
|
|
10
|
-
bucketName,
|
|
11
|
-
prefix,
|
|
12
|
-
region,
|
|
13
|
-
expectedBucketOwner,
|
|
14
|
-
});
|
|
15
|
-
const timingFileContents = await Promise.all(timingFiles.map(async (file) => {
|
|
16
|
-
const contents = await (0, io_1.lambdaReadFile)({
|
|
17
|
-
bucketName,
|
|
18
|
-
key: file.Key,
|
|
19
|
-
region,
|
|
20
|
-
expectedBucketOwner,
|
|
21
|
-
});
|
|
22
|
-
const string = await (0, stream_to_string_1.streamToString)(contents);
|
|
23
|
-
return JSON.parse(string);
|
|
24
|
-
}));
|
|
25
|
-
return timingFileContents;
|
|
26
|
-
};
|
|
27
|
-
exports.collectChunkInformation = collectChunkInformation;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortProfileByFrameRanges = exports.getFrameRangesFromProfile = void 0;
|
|
4
|
-
const getFrameRangesFromProfile = (profile) => {
|
|
5
|
-
return profile.map((p) => p.frameRange);
|
|
6
|
-
};
|
|
7
|
-
exports.getFrameRangesFromProfile = getFrameRangesFromProfile;
|
|
8
|
-
const sortProfileByFrameRanges = (profile) => {
|
|
9
|
-
return profile.slice().sort((a, b) => a.frameRange[0] - b.frameRange[0]);
|
|
10
|
-
};
|
|
11
|
-
exports.sortProfileByFrameRanges = sortProfileByFrameRanges;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProfileDuration = exports.getTimingEndTimestamps = void 0;
|
|
4
|
-
const getTimingEndTimestamps = (chunk) => {
|
|
5
|
-
return chunk.timings.map((timing) => chunk.startDate + timing);
|
|
6
|
-
};
|
|
7
|
-
exports.getTimingEndTimestamps = getTimingEndTimestamps;
|
|
8
|
-
const getProfileTimestamps = (chunks) => {
|
|
9
|
-
return chunks.map((c) => (0, exports.getTimingEndTimestamps)(c));
|
|
10
|
-
};
|
|
11
|
-
const getProfileDuration = (chunks) => {
|
|
12
|
-
const startTimeStamps = chunks.map((c) => c.startDate).flat(1);
|
|
13
|
-
const endTimestamps = getProfileTimestamps(chunks).flat(1);
|
|
14
|
-
const earliest = Math.min(...startTimeStamps);
|
|
15
|
-
const latest = Math.max(...endTimestamps);
|
|
16
|
-
return latest - earliest;
|
|
17
|
-
};
|
|
18
|
-
exports.getProfileDuration = getProfileDuration;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValidOptimizationProfile = void 0;
|
|
4
|
-
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const isValidOptimizationProfile = (profile) => {
|
|
6
|
-
return profile.every((timing) => {
|
|
7
|
-
const frames = renderer_1.RenderInternals.getFramesToRender(timing.frameRange, 1);
|
|
8
|
-
const values = Object.values(timing.timings);
|
|
9
|
-
return frames.length === values.length && values.every((v) => v > 0);
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
exports.isValidOptimizationProfile = isValidOptimizationProfile;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optimizeInvocationOrder = void 0;
|
|
4
|
-
const sort_by_duration_1 = require("./sort-by-duration");
|
|
5
|
-
const optimizeInvocationOrder = (profile) => {
|
|
6
|
-
const sortedByDuration = (0, sort_by_duration_1.sortProfileByDuration)(profile).reverse();
|
|
7
|
-
const sortedByStartTime = profile
|
|
8
|
-
.slice()
|
|
9
|
-
.map((a) => a.startDate)
|
|
10
|
-
.sort((a, b) => a - b);
|
|
11
|
-
const result = sortedByStartTime.map((prof, i) => {
|
|
12
|
-
return {
|
|
13
|
-
...sortedByDuration[i],
|
|
14
|
-
startDate: prof,
|
|
15
|
-
};
|
|
16
|
-
});
|
|
17
|
-
return result;
|
|
18
|
-
};
|
|
19
|
-
exports.optimizeInvocationOrder = optimizeInvocationOrder;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { TimingProfile } from './types';
|
|
2
|
-
export declare const assignFrameToOther: ({ frameRanges, fromChunk, toChunk, framesToShift, }: {
|
|
3
|
-
frameRanges: [number, number][];
|
|
4
|
-
fromChunk: number;
|
|
5
|
-
toChunk: number;
|
|
6
|
-
framesToShift: number;
|
|
7
|
-
}) => [number, number][];
|
|
8
|
-
export declare const optimizeProfile: (_profile: TimingProfile) => TimingProfile;
|
|
9
|
-
export declare const optimizeProfileRecursively: (profile: TimingProfile, amount: number) => TimingProfile;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optimizeProfileRecursively = exports.optimizeProfile = exports.assignFrameToOther = void 0;
|
|
4
|
-
const get_frame_ranges_from_profile_1 = require("./get-frame-ranges-from-profile");
|
|
5
|
-
const simulate_frame_ranges_1 = require("./simulate-frame-ranges");
|
|
6
|
-
const sort_by_duration_1 = require("./sort-by-duration");
|
|
7
|
-
const assignFrameToOther = ({ frameRanges, fromChunk, toChunk, framesToShift, }) => {
|
|
8
|
-
if (fromChunk < toChunk) {
|
|
9
|
-
return frameRanges.map((frameRange, i) => {
|
|
10
|
-
if (i === fromChunk) {
|
|
11
|
-
return [frameRange[0], frameRange[1] - framesToShift];
|
|
12
|
-
}
|
|
13
|
-
if (i === toChunk) {
|
|
14
|
-
return [frameRange[0] - framesToShift, frameRange[1]];
|
|
15
|
-
}
|
|
16
|
-
if (i > fromChunk && i < toChunk) {
|
|
17
|
-
return [frameRange[0] - framesToShift, frameRange[1] - framesToShift];
|
|
18
|
-
}
|
|
19
|
-
return frameRange;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return frameRanges.map((frameRange, i) => {
|
|
23
|
-
if (i === fromChunk) {
|
|
24
|
-
return [frameRange[0] + framesToShift, frameRange[1]];
|
|
25
|
-
}
|
|
26
|
-
if (i === toChunk) {
|
|
27
|
-
return [frameRange[0], frameRange[1] + framesToShift];
|
|
28
|
-
}
|
|
29
|
-
if (i > toChunk && i < fromChunk) {
|
|
30
|
-
return [frameRange[0] + framesToShift, frameRange[1] + framesToShift];
|
|
31
|
-
}
|
|
32
|
-
return frameRange;
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
exports.assignFrameToOther = assignFrameToOther;
|
|
36
|
-
const optimizeProfile = (_profile) => {
|
|
37
|
-
const sortedByStart = _profile
|
|
38
|
-
.slice()
|
|
39
|
-
.sort((a, b) => a.frameRange[0] - b.frameRange[0]);
|
|
40
|
-
const sortedByDuration = (0, sort_by_duration_1.sortProfileByDuration)(sortedByStart);
|
|
41
|
-
const indexOfFastest = sortedByStart.indexOf(sortedByDuration[0]);
|
|
42
|
-
if (indexOfFastest === -1) {
|
|
43
|
-
throw new Error('invalid timing profile: ' + JSON.stringify(_profile));
|
|
44
|
-
}
|
|
45
|
-
const slowest = sortedByDuration[sortedByDuration.length - 1];
|
|
46
|
-
const indexOfSlowest = sortedByStart.indexOf(slowest);
|
|
47
|
-
if (indexOfSlowest === -1) {
|
|
48
|
-
throw new Error('invalid timing profile: ' + JSON.stringify(_profile));
|
|
49
|
-
}
|
|
50
|
-
const frameRanges = (0, get_frame_ranges_from_profile_1.getFrameRangesFromProfile)(sortedByStart);
|
|
51
|
-
if (indexOfFastest === indexOfSlowest) {
|
|
52
|
-
return _profile;
|
|
53
|
-
}
|
|
54
|
-
const newFrameRanges = (0, exports.assignFrameToOther)({
|
|
55
|
-
frameRanges,
|
|
56
|
-
fromChunk: indexOfSlowest,
|
|
57
|
-
toChunk: indexOfFastest,
|
|
58
|
-
framesToShift: Math.max(1, Math.min(2, Math.floor(slowest.timings.length / 3))),
|
|
59
|
-
});
|
|
60
|
-
const simulated = (0, simulate_frame_ranges_1.simulateFrameRanges)({
|
|
61
|
-
profile: sortedByStart,
|
|
62
|
-
newFrameRanges,
|
|
63
|
-
});
|
|
64
|
-
return simulated;
|
|
65
|
-
};
|
|
66
|
-
exports.optimizeProfile = optimizeProfile;
|
|
67
|
-
const optimizeProfileRecursively = (profile, amount) => {
|
|
68
|
-
let optimized = profile;
|
|
69
|
-
for (let i = 0; i < amount; i++) {
|
|
70
|
-
optimized = (0, exports.optimizeProfile)(optimized);
|
|
71
|
-
}
|
|
72
|
-
return optimized;
|
|
73
|
-
};
|
|
74
|
-
exports.optimizeProfileRecursively = optimizeProfileRecursively;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import type { OptimizationProfile } from './types';
|
|
3
|
-
export declare const writeOptimization: ({ bucketName, optimization, compositionId, siteId, region, expectedBucketOwner, }: {
|
|
4
|
-
bucketName: string;
|
|
5
|
-
optimization: OptimizationProfile;
|
|
6
|
-
compositionId: string;
|
|
7
|
-
siteId: string;
|
|
8
|
-
region: AwsRegion;
|
|
9
|
-
expectedBucketOwner: string;
|
|
10
|
-
}) => Promise<void>;
|
|
11
|
-
export declare const getOptimization: ({ siteId, compositionId, bucketName, region, expectedBucketOwner, }: {
|
|
12
|
-
bucketName: string;
|
|
13
|
-
siteId: string;
|
|
14
|
-
compositionId: string;
|
|
15
|
-
region: AwsRegion;
|
|
16
|
-
expectedBucketOwner: string;
|
|
17
|
-
}) => Promise<OptimizationProfile | null>;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOptimization = exports.writeOptimization = void 0;
|
|
4
|
-
const constants_1 = require("../../shared/constants");
|
|
5
|
-
const stream_to_string_1 = require("../../shared/stream-to-string");
|
|
6
|
-
const io_1 = require("../helpers/io");
|
|
7
|
-
const writeOptimization = async ({ bucketName, optimization, compositionId, siteId, region, expectedBucketOwner, }) => {
|
|
8
|
-
await (0, io_1.lambdaWriteFile)({
|
|
9
|
-
bucketName,
|
|
10
|
-
body: JSON.stringify(optimization),
|
|
11
|
-
key: (0, constants_1.optimizationProfile)(siteId, compositionId) + '.json',
|
|
12
|
-
region,
|
|
13
|
-
privacy: 'private',
|
|
14
|
-
expectedBucketOwner,
|
|
15
|
-
downloadBehavior: null,
|
|
16
|
-
customCredentials: null,
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
exports.writeOptimization = writeOptimization;
|
|
20
|
-
const getOptimization = async ({ siteId, compositionId, bucketName, region, expectedBucketOwner, }) => {
|
|
21
|
-
const prefix = (0, constants_1.optimizationProfile)(siteId, compositionId);
|
|
22
|
-
const dir = await (0, io_1.lambdaLs)({
|
|
23
|
-
bucketName,
|
|
24
|
-
prefix,
|
|
25
|
-
region,
|
|
26
|
-
expectedBucketOwner,
|
|
27
|
-
});
|
|
28
|
-
const files = dir
|
|
29
|
-
.sort((a, b) => {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
return ((_a = a.LastModified) === null || _a === void 0 ? void 0 : _a.getTime()) -
|
|
32
|
-
((_b = b.LastModified) === null || _b === void 0 ? void 0 : _b.getTime());
|
|
33
|
-
})
|
|
34
|
-
.reverse();
|
|
35
|
-
if (files.length === 0) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
const body = await (0, io_1.lambdaReadFile)({
|
|
39
|
-
bucketName,
|
|
40
|
-
key: files[0].Key,
|
|
41
|
-
region,
|
|
42
|
-
expectedBucketOwner,
|
|
43
|
-
});
|
|
44
|
-
const str = await (0, stream_to_string_1.streamToString)(body);
|
|
45
|
-
return JSON.parse(str);
|
|
46
|
-
};
|
|
47
|
-
exports.getOptimization = getOptimization;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ChunkTimingData, TimingProfile } from './types';
|
|
2
|
-
export declare const getTimingForFrame: (profile: TimingProfile, frame: number) => number;
|
|
3
|
-
export declare const getSimulatedTimingForFrameRange: (profile: TimingProfile, frameRange: [number, number]) => ChunkTimingData['timings'];
|
|
4
|
-
export declare const simulateFrameRanges: ({ profile, newFrameRanges, }: {
|
|
5
|
-
profile: TimingProfile;
|
|
6
|
-
newFrameRanges: [number, number][];
|
|
7
|
-
}) => TimingProfile;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.simulateFrameRanges = exports.getSimulatedTimingForFrameRange = exports.getTimingForFrame = void 0;
|
|
4
|
-
const getTimingForFrame = (profile, frame) => {
|
|
5
|
-
for (const timingInfo of profile) {
|
|
6
|
-
if (timingInfo.frameRange[0] > frame || timingInfo.frameRange[1] < frame) {
|
|
7
|
-
continue;
|
|
8
|
-
}
|
|
9
|
-
let lastTime = timingInfo.startDate;
|
|
10
|
-
for (let i = 0; i < timingInfo.timings.length; i++) {
|
|
11
|
-
const actualFrame = i + timingInfo.frameRange[0];
|
|
12
|
-
const timing = timingInfo.timings[i];
|
|
13
|
-
const absolute = timing + timingInfo.startDate;
|
|
14
|
-
if (actualFrame === frame) {
|
|
15
|
-
return absolute - lastTime;
|
|
16
|
-
}
|
|
17
|
-
lastTime = absolute;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
throw new Error(`Frame ${frame} was not rendered`);
|
|
21
|
-
};
|
|
22
|
-
exports.getTimingForFrame = getTimingForFrame;
|
|
23
|
-
const getSimulatedTimingForFrameRange = (profile, frameRange) => {
|
|
24
|
-
const timings = [];
|
|
25
|
-
let totalDuration = 0;
|
|
26
|
-
for (let i = frameRange[0]; i <= frameRange[1]; i++) {
|
|
27
|
-
const timingForFrame = (0, exports.getTimingForFrame)(profile, i);
|
|
28
|
-
timings.push(timingForFrame + totalDuration);
|
|
29
|
-
totalDuration += timingForFrame;
|
|
30
|
-
}
|
|
31
|
-
return timings;
|
|
32
|
-
};
|
|
33
|
-
exports.getSimulatedTimingForFrameRange = getSimulatedTimingForFrameRange;
|
|
34
|
-
const simulateFrameRanges = ({ profile, newFrameRanges, }) => {
|
|
35
|
-
if (profile.length !== newFrameRanges.length) {
|
|
36
|
-
throw new Error('Expected previous and new frame ranges to be equal');
|
|
37
|
-
}
|
|
38
|
-
return newFrameRanges.map((range, i) => {
|
|
39
|
-
return {
|
|
40
|
-
timings: (0, exports.getSimulatedTimingForFrameRange)(profile, range),
|
|
41
|
-
chunk: i,
|
|
42
|
-
frameRange: range,
|
|
43
|
-
startDate: profile[i].startDate,
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
exports.simulateFrameRanges = simulateFrameRanges;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortProfileByDuration = void 0;
|
|
4
|
-
const get_profile_duration_1 = require("./get-profile-duration");
|
|
5
|
-
const durationCache = new Map();
|
|
6
|
-
const getChunkDuration = (chunk) => {
|
|
7
|
-
const inCache = durationCache.get(chunk);
|
|
8
|
-
if (inCache) {
|
|
9
|
-
return inCache;
|
|
10
|
-
}
|
|
11
|
-
const timestamps = (0, get_profile_duration_1.getTimingEndTimestamps)(chunk);
|
|
12
|
-
const duration = Math.max(...timestamps) - chunk.startDate;
|
|
13
|
-
durationCache.set(chunk, duration);
|
|
14
|
-
return duration;
|
|
15
|
-
};
|
|
16
|
-
const sortProfileByDuration = (profile) => {
|
|
17
|
-
const sortedByDuration = profile.slice().sort((a, b) => {
|
|
18
|
-
const aDuration = getChunkDuration(a);
|
|
19
|
-
const bDuration = getChunkDuration(b);
|
|
20
|
-
return aDuration - bDuration;
|
|
21
|
-
});
|
|
22
|
-
durationCache.clear();
|
|
23
|
-
return sortedByDuration;
|
|
24
|
-
};
|
|
25
|
-
exports.sortProfileByDuration = sortProfileByDuration;
|