- 16 Sep, 2015 1 commit
-
-
With the HTML5 tech buffered can return more than one region. We need to find the region that we are currently playing inside of and use the extent of that region's end-point to determine whether or not we need to buffer more segments
jrivera committed
-
- 11 Sep, 2015 2 commits
-
-
Fix tests so they work in Firefox without native MediaSources. Clean up a timeout properly on dispose. Update some paths on the example page.
David LaPalomento committed
- 10 Sep, 2015 1 commit
-
-
If a codecs attribute is present on a variant stream, use it when adding a source buffer. Wait to create the source buffer until the variant playlist is downloaded and the media source is open.
David LaPalomento committed
-
- 09 Sep, 2015 5 commits
- 02 Sep, 2015 3 commits
- 25 Aug, 2015 3 commits
-
-
If an error occurs downloading an M3U8, call endOfStream on the active MediaSource with the appropriate error code.
David LaPalomento committed -
All of the tests currently pass, except for those that relied on timestamp-based information. That logic should be migrated into videojs-contrib-media-sources and then the remaining skipped tests can be removed.
David LaPalomento committed
- 21 Aug, 2015 1 commit
-
-
HLS has been converted to a source handler but if people are still using the old tech-based mechanism, don't break their player completely. Log a deprecation warning for now and we can remove it completely later.
David LaPalomento committed
-
- 20 Aug, 2015 2 commits
-
-
We shouldn't abort() on the source buffer for every seek. The buffered region is no longer guaranteed to be contiguous, so take that into account when determining if the segment to be loaded needs to be updated. Allow media sources to handle duration updates internally, don't set the duration on every segment download. Doing so was actually causing the range removal algorithm to run when the final segment came in slightly below the duration advertised in the m3u8.
David LaPalomento committed
- 19 Aug, 2015 2 commits
-
-
Remove lots of transmuxing-related test harness code and get more of the tests working. Discontinuities, seeking, and PTS-based duration are still unresolved and so those tests are still failing.
David LaPalomento committed
-
- 18 Aug, 2015 1 commit
-
-
Added the ability to view both the transmuxed video and audio playback automatically Supports segments with only one of the two tracks
jrivera committed
-
- 17 Aug, 2015 1 commit
-
-
Start using a real video.js build now that mergeOptions() is working correctly in master. Begin fixing tests-- there are still a number of tests that are broken.
David LaPalomento committed
-
- 13 Aug, 2015 1 commit
-
-
Use native MediaSources for browsers that support them (currently Chrome) and fall back to Flash for everyone else. Seeking doesn't work as well in Flash as it did previously because the improved duration calculations have not been migrated yet but otherwise things seem to work.
David LaPalomento committed
-
- 09 Aug, 2015 1 commit
-
-
- 03 Aug, 2015 2 commits
-
-
Hack in the changes necessary to use the MP2T->MP4 transmuxer and native media source extensions. If you can find a video that is compatible with the current state of the transmuxer, this commit successfully plays back multiple video segments though seeking seems a bit touchy.
David LaPalomento committed -
When a NAL unit had trailing zeroes that were split across pushes to the H264Stream, the parser would go into an infinite loop. Instead, make sure we never advance the parser beyond the current push and advance the sync point to a valid position before starting processing. Add HTML-HLS dependencies to the example page.
David LaPalomento committed
-
- 31 Jul, 2015 14 commits
-
-
Suggest ffmpeg + bento4. ffmpeg by itself produces an invalid esds and I couldn't find the correct set of flags to get mp4box to fragment an mp4 in an MSE-compatible way.
David LaPalomento committed -
Added 16 bytes to the tfhd to specify some default sample configuration so the data offset calculation in the trun must be adjusted to match. Audio now works for my test file. Copy Uint8Arrays used for deepEqual() tests because phantomjs considers two typed arrays with non-equal offsets to be non-equal.
David LaPalomento committed -
Create textifyMp4() to output a text representation of an inspected mp4. It's more concise than straight JSON.stringify() so hopefully it will allow for quicker comparisons between working and transmuxed MP4s.
David LaPalomento committed -
Previously, audio media segments were accepted without error but SourceBuffered.buffered.length was still zero. After this change, the buffered property seems to be read appropriately and no errors are generated but audio is still not output.
David LaPalomento committed -
The generated fragmented mp4 for the audio track can now be appended to a source buffer in Chrome 43 without errors but the buffered duration remains zero after the operation completes. All current tests pass. Sample table entries and mdat contents look consistent with an audio-only, fragmented mp4 generated by ffmpeg though some discrepancies exists in track metadata still.
David LaPalomento committed -
Simplify ADTS parsing algorith to assume it is invoked at the start of a sync sequence. Track progress through the ADTS data accrately so that subsequent events carrying frames after the first are parsed correclty.
David LaPalomento committed -
On the mp4 transmux analyzer page, only present the media segment diff if a working media segment is provided. Similarly, only diff the init segments if a working init segment is provided. This cuts down on output that will always vary because TS files do not have the notion of a separate init segment.
David LaPalomento committed -
Modify the mp4 generator to inspect audio tracks and generate a working initialization segment. Hook the audio init segment up to the mp4 transmuxing test page.
David LaPalomento committed -
Use QUnit's string diff to highlight potential incompatibilities between the transmuxed and expected output.
David LaPalomento committed -
Create a stream that unpacks individual AAC frames into events when piped ADTS data from an Elementary Stream.
David LaPalomento committed -
Include a simple picture of what containers do. Add diagrams that describe the logical structure and object hierarchy of MPEG2-TS.
David LaPalomento committed -
Create PNG versions of the packet hierarchy and logical MPEG2-TS structure.
David LaPalomento committed
-