Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: cleanup codec logic #590

Merged
merged 3 commits into from
Mar 20, 2024
Merged

perf: cleanup codec logic #590

merged 3 commits into from
Mar 20, 2024

Conversation

tsi
Copy link
Collaborator

@tsi tsi commented Mar 20, 2024

  • Cleanup codec logic
  • Update to public videojs-contrib-dash, since it is maintained again.

chore: update videojs-contrib-dash
@tsi tsi self-assigned this Mar 20, 2024
@tsi tsi requested a review from a team as a code owner March 20, 2024 11:49
Copy link

netlify bot commented Mar 20, 2024

Deploy Preview for cld-video-player ready!

Name Link
🔨 Latest commit ec6d674
🔍 Latest deploy log https://app.netlify.com/sites/cld-video-player/deploys/65fb0b399a08c600083585a3
😎 Deploy Preview https://deploy-preview-590--cld-video-player.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@tsi tsi requested review from jakub-roch and ehab-cl March 20, 2024 11:49
Copy link
Contributor

@ehab-cl ehab-cl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💪

@@ -86,8 +83,8 @@ class CloudinaryContext {
_source = src;

const isDashRequired = options.sourceTypes && options.sourceTypes.some(s => s.includes('dash'));
if (plugins.dashPlugin && isDashRequired) {
plugins.dashPlugin().then(() => {
if (isDashRequired) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕺

}

return res;
}

const isContainCodec = (value) => value && some(Object.values(VIDEO_CODEC), (codec) => value.includes(codec));
const isContainCodec = value =>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const isContainCodec = value =>
const doesContainCodec = value =>

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or just hasCodec maybe


const hasCodecSrcTrans = (transformations) => some(['video_codec', 'streaming_profile'], (key) => isKeyInTransformation(transformations, key));
const hasCodecSrcTrans = transformations =>
some(['video_codec', 'streaming_profile'], key => isKeyInTransformation(transformations, key));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For later or maybe even now you can just refactor this usage of some and use the es6 built in some method for arrays.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to go all over the utils folder, it has a lots of 💩 there

@@ -102,109 +102,13 @@ const cloudinaryErrorsConverter = ({ errorMsg, publicId, cloudName, statusCode }
return error;
};

const codecShorthandTrans = short => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the entire code that was deleted here, i am curious are you handling in a different way now or is it just not needed? asking since i do did not see some similar code now?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We decided not to test for specific codec support anymore, since almost all browsers now support them all.
With the default f_auto there shouldn't be an issue ever.
There are some edge cases in which old Safari's for example might try playing an AV1 and will have to fall-back to the next sourceType, which will cause a console error but nothing fatal. And if that's a concern we leace it to the implementor to prevent.

@tsi tsi merged commit e31b44e into edge Mar 20, 2024
5 checks passed
@tsi tsi deleted the ME-15917-codec-logic-cleanup branch April 14, 2024 11:04
tsi added a commit that referenced this pull request Apr 14, 2024
BREAKING CHANGE: player core is the default ES export

chore: un-publish sourcemaps

perf: cleanup codec logic (#590)

chore: update videojs-contrib-dash

perf: update dependencies (#594)

chore: update httpSourceSelector plugin

perf: utils refactor & cleanup (#595)

chore: simplify eslintrc (#604)

build: add default profiles json files to build output in es version (#603)

perf: debug mode & lazy validators (ME-15925) (#606)

fix: withCredentials (ME-16117) (#607)

fix: esm example pages (ME-16168) (#613)

chore: cleanup deprecated snyk
tsi added a commit that referenced this pull request Apr 16, 2024
* chore(deps-dev): bump undici from 5.28.2 to 5.28.3 (#559)

Bumps [undici](https://github.com/nodejs/undici) from 5.28.2 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v5.28.2...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: av1 support (#557)

* chore(edge): release 1.10.7-edge.0 (#561)

* ME-6152-type-definitions (#560)

* fix: type definitions

* fix: type definitions

* chore: remove jsdocs

* fix: type definitions

* fix: type definitions

* fix: type definitions

* chore: remove jsdocs

* chore(edge): release 1.10.7-edge.1 (#562)

* fix: types exports (#565)

* chore(edge): release 1.10.7-edge.2 (#566)

* feat: kareoke style subtitles (#563)

* feat: karaoke style subtitles

* fix: types exports

* feat: kareoke style subtitles

* feat: kareoke style subtitles

* feat: kareoke style subtitles

* chore: add example page

* chore(edge): release 1.10.7-edge.3 (#567)

* chore(edge): release 1.10.7-edge.3

* Update CHANGELOG.md

---------

Co-authored-by: Tsachi Shlidor <tsachi.shlidor@cloudinary.com>

* fix: allowUsageReport (#569)

* chore(edge): release 1.10.7-edge.4 (#570)

* fix: mimetypes (#572)

* fix: mimetypes

* fix: mimetypes

* fix: mimetypes

* fix: poster image for raw URLs (#573)

* chore(edge): release 1.10.7-edge.5 (#574)

* chore: example pages (#575)

* chore: example pages

* chore: example pages

* chore: example pages

* CI: Create update_master.yml

* CI: Update update_master.yml

* Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* ci: Update update_master.yml

* ci: Update update_master.yml

* ci: Update update_master.yml

* chore: update update_master.yml

* chore(deps-dev): bump undici from 5.28.2 to 5.28.3 (#559)

* fix: av1 support (#557)

* chore(edge): release 1.10.7-edge.0 (#561)

* ME-6152-type-definitions (#560)

* fix: type definitions

* fix: type definitions

* chore: remove jsdocs

* fix: type definitions

* fix: type definitions

* fix: type definitions

* chore: remove jsdocs

* chore(edge): release 1.10.7-edge.1 (#562)

* fix: types exports (#565)

* chore(edge): release 1.10.7-edge.2 (#566)

* feat: kareoke style subtitles (#563)

* feat: karaoke style subtitles

* fix: types exports

* feat: kareoke style subtitles

* feat: kareoke style subtitles

* feat: kareoke style subtitles

* chore: add example page

* chore(edge): release 1.10.7-edge.3 (#567)

* chore(edge): release 1.10.7-edge.3

* Update CHANGELOG.md

* fix: allowUsageReport (#569)

* chore(edge): release 1.10.7-edge.4 (#570)

* fix: mimetypes (#572)

* fix: mimetypes

* fix: mimetypes

* fix: mimetypes

* fix: poster image for raw URLs (#573)

* chore(edge): release 1.10.7-edge.5 (#574)

* chore: example pages (#575)

* chore: example pages

* chore: example pages

* chore: example pages

* CI: Create update_master.yml

* CI: Update update_master.yml

* Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* CI: Update update_master.yml

* ci: Update update_master.yml

* ci: Update update_master.yml

* ci: Update update_master.yml

* Update update_master.yml

* Update update_master.yml

* fix: styled subtitles browser compatibility (#576)

* fix: styled subtitles browser compatibility

* chore: unlazy styled subtitles

* chore(edge): release 1.11.1-edge.0 (#583)

* perf!: default export to be base videoPlayer (#588)

* perf!: default export to be base videoPlayer

BREAKING CHANGE: the default ES import is now only the player core
plugins need to be explicitly imported

* chore: ignore sourcemaps

* chore(edge): release 2.0.0-edge.1 (#589)

* perf: cleanup codec logic (#590)

* perf: cleanup codec logic

chore: update videojs-contrib-dash

* chore: cleanup

* chore: hasCodec

* chore: updated exports

* perf: cleanup codec logic

chore: update videojs-contrib-dash

* chore: cleanup

* chore: updated exports

* chore: exports

* chore: exports

* perf: update dependencies (#594)

* chore: update dependencies

* chore: bundlewatch

* perf: update dependencies

* perf: update dependencies

* chore: update dependencies

* chore: update eslint

* chore: update httpSourceSelector plugin

* chore(edge): release 2.0.0-edge.2 (#593)

* perf: utils refactor & cleanup (#595)

* perf: utils refactor (array, assign, playlist utils)

* perf: utils refactor (cloudinary, css-prefix, dom, find)

* perf: utils refactor (cloudinary, css-prefix, dom, find)

* perf: utils refactor (groupBy, matches)

* perf: utils refactor (find, omit, get, object, positioning, tests, playButton)

* chore: bundlesize

* perf: utils refactor (webpack loaders)

* perf: utils refactor (startsWith, camelize)

* perf: utils refactor (throttle, types)

* perf: utils refactor (isObject)

* chore: cleanup

* perf: utils refactor (hasCodec)

* chore: export

* chore(edge): release 2.0.0-edge.3 (#597)

* fix: isPlainObject (#598)

* chore(edge): release 2.0.0-edge.4 (#599)

* fix: esm examples

* fix: esm examples

* fix: recommendations

* chore: updates

* chore: pr fixes

* chore(edge): release 2.0.0-edge.5 (#601)

* fix: eslintrc (#604)

* build: add default profiles json files to build output in es version (#603)

* build: add default profiles json files to build output in es version

* build: simplify profiles path

* perf: debug mode & lazy validators (ME-15925) (#606)

* perf: lazy validators

* chore: cleanup

* chore: cleanup

* chore: pr comments

* Revert "chore: pr comments"

This reverts commit d435ca5.

* chore: pr comments

* chore: pr comments

* chore(edge): release 2.0.0-edge.6 (#605)

* fix: withCredentials (ME-16117) (#607)

* fix: withCredentials

* fix: withCredentials in playerConfig as documented

* chore(edge): release 2.0.0-edge.7 (#608)

* fix: esm examples (#609)

* chore(edge): release 2.0.0-edge.8 (#610)

* fix: debug mode analytics (#611)

* fix: esm example pages (ME-16168) (#613)

* fix: esm example pages

* fix: esm examples preview

* fix: deprecated snyk

* fix: esm examples

* chore(edge): release 2.0.0-edge.9 (#614)

* Update update_master.yml

* Update update_master.yml

* Update update_master.yml

* fix: undeprecate Cloudinary.new() (ONCALL-3380) (#619)

* fix: undeprecate Cloudinary.new()

* chore: add an embedded player example

* ci: netlify ignore unchanged

* chore: example should default to edge

* chore(edge): release 2.0.1-edge.0 (#620)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: cloudinary-jenkins <jenkins@cloudinary.com>
Co-authored-by: jakub-roch <70572646+jakub-roch@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants