- 01 Jun, 2015 1 commit
-
-
Mock out metadata stream support. Comment javascript simulation parameters. Simulation results currently always buffer the first segment because of the bandwidth scaling factor applied to deal with real-world discrepancies between m3u8 download times and steady-state downloads. Behavior after the first segment still looks good.
David LaPalomento committed
-
- 06 Jan, 2015 1 commit
-
-
Multiply the bandwidth measurement from the master playlist by five to account for the higher ratio of latency to throughput for this request relative to segments. Using the bandwidth number directly was almost always resulting in very low initial bandwidth estimates and poorer quality startup than necessary. The scaling factor was obtained by testing a number of videos from a high throughput/low latency connection as an upper bound and the same connection throttled to "DSL" levels with Network Link Conditioner for the lower bound. Update the playlist switching simulator to apply initial bandwidth estimates and reduce the simulation duration a bit so that the early behavior is more visible.
David LaPalomento committed
-
- 15 Jul, 2014 1 commit
-
-
- 27 Jun, 2014 2 commits
-
-
Read location.hash when the switcher loads and use the parameters parsed out of it for the initial network conditions. Update location.hash after every simulation run completes so that it's easy to save scenarios for later re-use.
David LaPalomento committed -
Don't clone the whole set of time periods, just add one more list item to the end.
David LaPalomento committed
-
- 26 Jun, 2014 3 commits
-
-
Remove playlist bitrate lines between simulation runs. Make sure the plot displays scenarios where the link capacity exceeds the maximum bitrate playlist properly.
David LaPalomento committed -
Place a semi-transparent rectangle over any time interval where the buffer is totally empty.
David LaPalomento committed
-
- 22 Jun, 2014 1 commit
-
-
Plot the bandwidth measured by the HLS plugin during the simulation run. Assuming the math to calculate it is working correctly, this line helps make clear the difference between the maximum throughput of the link and the percieved throughput. Becuase we're not pipelining segment requests, this difference can be quite substantial. Remove the buffered line because it was distracting.
David LaPalomento committed
-
- 30 May, 2014 1 commit
-
-
Bandwidth calculation uses the length of the XHR so rounding delivery up to the nearest second can skew results. Instead, calculate the delivery time of XHRs and schedule a timeout to set the response body.
David LaPalomento committed
-
- 29 May, 2014 6 commits
-
-
Add the bandwidth class to the label so that it is removed along with the old bandwidth line.
David LaPalomento committed -
Add in a line to show how much content is buffered at each point during the simulation. It's pretty noisy due to the length of the simulation.
David LaPalomento committed -
Add some bandwidth variation into the initial settings so the output demos some interesting behavior.
David LaPalomento committed -
Check the outstanding request URL before aborting playlist requests when a switch is requested. Don't filter out requests that are generated as a result of another request finishing in the switcher simulator. Actual playlist switching is showing up in the graph now.
David LaPalomento committed
- 28 May, 2014 4 commits
-
-
Both segment bitrate and bandwidth share the same units so an extra axis isn't necessary. Get rid of some unused variables and rename things to match their new uses.
David LaPalomento committed -
Modifying the display property on the swf object from "" to "block" without the default video.js skin causes Flash callbacks to become undefined. Added the default video.js skin and appropriate video attributes to avoid the issue.
David LaPalomento committed -
When a segment begins arriving, record its bitrate. Add a second y-axis to the timeline and plot segment bitrates on it.
David LaPalomento committed -
Make the simulation run asynchronous so flash doesn't swallow exceptions in the ExternalInterface callback. Hook up mechanisms to advance the clock and simulate XHR responses for playlists and segments. Currently, segment responses are delivered as if the bandwidth at the current time was available for the entire transmission time, which is not correct.
David LaPalomento committed
-
- 27 May, 2014 3 commits
-
-
Load sinon to mock out XHR and timer functions. Create a player with the HLS tech on load. Send a fake response for the master playlist.
David LaPalomento committed -
When the simulation is run, update the network timeline with the new bandwidth plot.
David LaPalomento committed -
Pull in fake XHR and timers in preparation for loading the HLS code into the switcher page.
David LaPalomento committed
-
- 26 May, 2014 1 commit
-
-
Add a page that runs allows you to run a simulation of network conditions and displays the playlist selection behavior in a chart. Currently, it just allows you to define bandwidth values over a period of time and graphs that line using d3.js.
David LaPalomento committed
-