Giter Site home page Giter Site logo

winoffrg / limeplay Goto Github PK

View Code? Open in Web Editor NEW
95.0 2.0 4.0 10.88 MB

⭐ NEW: Modern Headless UI Library for Media Player (Shaka Player & HTML5) in React

Home Page: https://limeplay.vercel.app

License: MIT License

TypeScript 96.92% JavaScript 0.84% MDX 1.96% CSS 0.28%
dash drm hls library modern player reactjs shaka-player video-player headless

limeplay's People

Contributors

dependabot[bot] avatar winoffrg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

limeplay's Issues

(bug) Slider Memory Leak -Increasing DOM Nodes

The Slider has been inspired from Radix UI. While dragging we see a an increase in DOM Nodes in Chrome Performance Tools.

chrome_hSCbEEtcQQ

msedge_w6u5bxFeTe

chrome_FJpfQquvy1

React can handle this well, No issues at all. However, what makes it different from https://601857eb614bae0021c9b9dd-cdntpgquse.chromatic.com/?path=/story/components-slider--styled Radix UI Slider where DOM Nodes aren't increasing? The similar case is observed in Timeline Slider where DOM Nodes starts increasing on hover event.

A way to debug this is to find the reference of Detached Elements, Other Similar Issues:

facebook/react#25772
facebook/react#23214

By using Detached Elements tool in Edge, It failed! Refer Image 2, References weren't found https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/memory-problems/dom-leaks Seems like the nodes were cleaned up too early even before profier could even read it.

Slider Code: https://github.com/WINOFFRG/limeplay/blob/985d2539ad64b99b59c3f406836e66c17a224acb/packages/limeplay-core/src/components/VolumeSlider/Slider.tsx
Radix Slider: https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/Slider.tsx

Request to add Custom Controls on Landing Page

Description

Currently, Limeplay is an excellent headless UI library for media players in React. However, the landing page lacks the ability to test out custom URLs and formats.

As a user, I'd like to be able to test out how Limeplay reacts with custom inputs, including .mp4 files and other video formats.

Proposed Solution

Add a new section to the Limeplay landing page that allows users to enter custom URLs of various video formats. This will allow users to test out different media and ensure that Limeplay is compatible with their specific use case.

Migrate from Zustand to Pure React and Context

Currently we are restricting the state management option to Zustand. To be able to call the store APIs a user would need to learn Zustand or it might not even satisfy their needs. We must migrate asap from Zustand to pure Context and States. One good was is to take the stateSetter callback as an argument for hook. This callback can now be called by the hook!

'lodash/clamp' failed to resolve error when start project with limeplay lib

BREAKING CHANGE: The request 'lodash/clamp' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '.mjs' file, or a '.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.