- 31 Jul, 2015 40 commits
-
-
Translate compatible brand byte sequences into their string equivalents for ftyp and styp boxes.
David LaPalomento committed -
Add in a parser to unpack NAL byte streams. Hook up the old exponential Golomb decoder and parse media metadata out of the first sequence parameter set. Add more checks to test on the example segment transformation.
David LaPalomento committed -
Invoke the transmuxer on muxer/mp4.html and display the results of inspecting the output.
David LaPalomento committed -
Capture the number of elementary streams in a transport stream program and map those to mp4 tracks in the init segment. Fix up some examples and update MSE documentation.
David LaPalomento committed -
Allow sequence numbers to be passed in during moof generation. Hook up the transmuxer to specify increasing sequence numbers as media segments are built.
David LaPalomento committed -
Create a helper method to build mdat boxes. Generate an empty moof and a real mdat when a NAL unit is parsed.
David LaPalomento committed -
-
-
-
-
Move dependencies into the right order. Stub out some end-to-end transmuxer tests.
David LaPalomento committed -
Add a program stream parser that aggregates program stream packets and re-emits them when the entire payload is available. Fix the test PES value to accurately use stuffing bytes. Update mp4 muxer page to exercise the TS parsing infrastructure.
David LaPalomento committed -
-
-
-
Create example binary data that is a valid Media Segment and does not produce decode errors when coupled with an appropriate media segment. Add some free-form notes from media source extensions research so far. Update the testing sandbox player.
David LaPalomento committed -
Parse out a track fragment decode time box. According to the Media Source byte stream format spec, at least one tfdt is required per media segment.
David LaPalomento committed -
-
-
-
-
-
-
-
-
moof boxes are one of the primary components of segmented mp4 files. Expose a function to create a very simple one and add a test for it.
David LaPalomento committed -
Make the debug video and media source available in a larger scope. Every time a new segment is selected, forward they bytes into the active source buffer.
David LaPalomento committed -
Create test cases for a moof box and sample mfhd, traf, and tfhd sub-boxes. Fix the source buffer codec so that the debug code on the mp4 muxer page works. The issue was that specifying an audio codec but then failing to include an audio track in the init segment generated a media decode error.
David LaPalomento committed -
Add support for a number of new boxes in the generator and inspector. Bring some existing generated boxes more closely into line with a working init segment.
David LaPalomento committed -
Build helper classes to construct boxes for mp4s. Use the mp4 inspector to validate the generated boxes are sensical. Remove the stubbed Transmuxer because it's not implemented yet and it may not make sense once things come together a bit more. Left some MediaSource test code in mp4.html for debugging purposes. The tests all pass but we're still not quite generating a valid init segment.
David LaPalomento committed -
Transfer the logic to parse elementary stream packets from segment-parser into the MP2T parse stream.
David LaPalomento committed -
Move the code that parses PMTs and PATs from segment parser into the re-organized transmuxing module. Add tests.
David LaPalomento committed -
It would probably be helpful to have some graphical quick references for anyone looking to hack on the transmuxing code. Start off with a logical picture of mp2t segments and h264 "packets".
David LaPalomento committed -
Add stubs for the transmuxer and a new set of qunit tests. Update the muxer mp4 test page to invoke the stubbed object.
David LaPalomento committed -
Modify the mp4 inspector to use the right field widths when parsing version 0 mp4s. Add a test page to inspect mp4s from the file system. Don't reference the data bytes of an mdat box so that the resulting data structure isn't too big to be reasonably output.
David LaPalomento committed -
As preparation for building a tool to transform mp2t files into mp4s, create a javascript tool that parses an mp4 file. Remove the local qunit so that karma and direct qunit testing happens with the same version of the library. Force the tech to run during tests so that Safari doesn't use native HLS.
David LaPalomento committed