Comments (8)
that is weird, 4 MSE_ATTACHED events are triggered, whereas you only have 2 instances (2 MediaSource created).
I am not yet clear why ? MediaSource listener is attached to its associated hls instance only.
see https://github.com/dailymotion/hls.js/blob/master/src/hls.js#L95-L102
as a consequence, loadSource() is called twice in a row per playlist, there might be something here as well, but the MSE_ATTACHED is not supposed to behave like this.
from hls.js.
also the MediaSource 'sourceopen' event listener is removed after its first trigger: https://github.com/dailymotion/hls.js/blob/master/src/hls.js#L260-L261
from hls.js.
Highly speculative:
- remove the listener before triggering MSE_ATTACHED?
- it's still a video tag which maybe fires loadedmetadata and loadeddata in quick succession: intercept just one of the two?
In retrospect I now know see why I had to always destroy an existing instance to make it work with playlists: https://github.com/flowplayer/flowplayer-hlsjs/blob/master/flowplayer.hlsjs.js#L50-L53
From the outside it looks like the Hls context persists, and maybe needs an instance wrapper?
I noticed another weird thing, which may be related. On Flowplayer's unload call, normally the video tag is removed. This somehow does not happen with hls.js - if I omit https://github.com/flowplayer/flowplayer-hlsjs/blob/master/flowplayer.hlsjs.js#L196 the tag stays, albeit empty (probably only a timing issue, but maybe it helps to know).
Something is very persistent here ;-)
from hls.js.
observer is global and not per instance ...
https://github.com/dailymotion/hls.js/blob/master/src/observer.js#L3
thus all events are duplicated accross all instances.
it should not be to complex to handle, will check soon
from hls.js.
@blacktrash it should work now, you can verify with
https://github.com/dailymotion/hls.js/blob/master/tests/functional/multiple/index.html
from hls.js.
or here, gh-pages is now up to date
http://dailymotion.github.io/hls.js/tests/functional/multiple/
from hls.js.
Great! Can also be confirmed at http://flowplayer.blacktrash.org/fp6/hlsjs-pure.html
from hls.js.
fixed
from hls.js.
Related Issues (20)
- Fill gaps with empty frames or last frame HOT 2
- Question about removing remuxEmptyAudio HOT 3
- Repeated QuotaExceededError HOT 2
- Same fragments loaded multiple times HOT 2
- Stop Loading Video Stream HOT 2
- A stream plays normally on the hls.js demo page, but in my own project, it stops playing after approximately 20 seconds HOT 3
- when multiple audio tracks are there, HLS quality option not trigerring HOT 1
- media key failed to execute HOT 1
- Modify AES-128 KEY URI response HOT 6
- Video crashing on Tizen 2023 TV's HOT 15
- NS_BINDING_ABORTED in firefox with fetching .m3u8 stream HOT 1
- Hvc codec can't be played on Firefox HOT 1
- #EXT-X-KEY URI value parsing assumes b64 PRO value for PlayReady, causing errors when those assumptions are not met HOT 4
- Control bar behaviour with multiple players and mouse out
- Freezing on seeking and black screen on stream Load. HOT 4
- Display ID3 Tag content in console with Hls.js Demo ? HOT 2
- How Could I start playing video from second segment in first playlist calls? HOT 6
- ID3 cuechange events not firing for metadata cues with a duration less than MIN_CUE_DURATION HOT 7
- Question with loading a different m3u8 source will make the 608 caption button disappear HOT 2
- Support TypeScript `Node16`/`NodeNext` module resolution HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hls.js.