Comments (2)
I believe this is due to Chrome having an unstable Array.prototype.sort() implementation (https://bugs.chromium.org/p/v8/issues/detail?id=90), whereas Firefox and Safari have stable implementations.
Example
Pre-sort:
[{"type":0,"pts":8353875960,"ccData":8320},
{"type":0,"pts":8353875960,"ccData":37925},
{"type":0,"pts":8353875960,"ccData":38061}]
Post-sort in Chrome:
[{"type":0,"pts":8353875960,"ccData":37925},
{"type":0,"pts":8353875960,"ccData":38061},
{"type":0,"pts":8353875960,"ccData":8320}]
Post-sort in Firefox:
[{"type":0,"pts":8353875960,"ccData":8320},
{"type":0,"pts":8353875960,"ccData":37925},
{"type":0,"pts":8353875960,"ccData":38061}]
Any reason why I shouldn't take out the sort? Are there any conditions where the caption packets would get unsorted?
from mux.js.
@ianwelsh if the video is encoded with b-frames, caption packets will arrive out-of-order and so it's important to resort them before display. Good find about the unstable sort() though! I suspect you're right and that is causing the problem. We should find some way to disambiguate our comparator so that there are no equivalent caption packets during the sorting.
from mux.js.
Related Issues (20)
- General Question: Can this script playback on Chrome Browser a Quicktime (MOV) Video? HOT 2
- MSE live stream. sourceEnded/ half video green.
- Sample code: It does not work. HOT 4
- any way to pipe mp2t URL stream to this lib?
- Could not find a declaration file for module 'mux.js' HOT 3
- Priority to a normal audio, skip visual_impaired audio track unless was only audio (HLS ts segment with video_audio tracks) HOT 1
- The traf box seems to include the sdtp box. valid?
- Parted TS fragments don't handled correctly
- ID3 "cueTime" Out of Sync for Live HLS Audio Streams (Video is Okay)
- mkv clusters to fmp4
- Merge multiple ts videos into one mp4 file HOT 5
- Actually mux video and audio fmp4s HOT 1
- Are there plans to support HEVC codec in the transmuxer? HOT 2
- Are there plans to support MP3 in the transmuxer?
- How to mux an mp4 out of existing VideoFrames from WebCodecs HOT 2
- How to implement with videojs
- function parsePat section_number, last_section_number offset wrong in lib/m2ts/m2ts.js
- Fix to generate valid .mp4 from ADTS stream
- parse data from mkv
- muxjs.mp4.tools.setStartTime is not a function, version 6.3.0
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 mux.js.