videocontext
Advanced tools
Comparing version 0.33.3 to 0.34.0
{ | ||
"name": "videocontext", | ||
"version": "0.33.3", | ||
"version": "0.34.0", | ||
"description": "A WebGL & HTML5 graph based video composition library", | ||
@@ -5,0 +5,0 @@ "keywords":["video", "context", "composition", "timeline", "html5", "webgl"], |
@@ -1,2 +0,2 @@ | ||
#VideoContext | ||
# VideoContext | ||
The VideoContext is an experimental HTML5/WebGL media processing and sequencing library for creating interactive and responsive videos on the web. | ||
@@ -453,2 +453,2 @@ | ||
The library is written in es6 and cross-compiled using babel. | ||
The library is written in es6 and cross-compiled using babel. |
@@ -75,2 +75,3 @@ //Matthew Shotton, R&D User Experience,© BBC 2015 | ||
this._playbackRate = 1.0; | ||
this._sourcesPlaying = false; | ||
this._destinationNode = new DestinationNode(this._gl, this._renderGraph); | ||
@@ -82,2 +83,4 @@ | ||
this._callbacks.set("ended", []); | ||
this._callbacks.set("content", []); | ||
this._callbacks.set("nocontent", []); | ||
@@ -120,7 +123,9 @@ this._timelineCallbacks = []; | ||
/** | ||
* Regsiter a callback to listen to one of the following events: "stalled", "update", "ended" | ||
* Regsiter a callback to listen to one of the following events: "stalled", "update", "ended", "content", "nocontent" | ||
* | ||
* "stalled" happend anytime playback is stopped due to unavailbale data for playing assets (i.e video still loading) | ||
* . "update" is called any time a frame is rendered to the screen. "ended" is called once plackback has finished | ||
* (i.e ctx.currentTime == ctx.duration). | ||
* (i.e ctx.currentTime == ctx.duration). "content" is called a the start of a time region where there is content | ||
* playing out of one or more sourceNodes. "nocontent" is called at the start of any time region where the | ||
* VideoContext is still playing, but there are currently no activly playing soureces. | ||
* | ||
@@ -749,2 +754,4 @@ * @param {String} type - the event to register against ("stalled", "update", or "ended"). | ||
let sourcesPlaying = false; | ||
for (let i = 0; i < this._sourceNodes.length; i++) { | ||
@@ -763,6 +770,18 @@ let sourceNode = this._sourceNodes[i]; | ||
sourceNode._update(this._currentTime); | ||
if (sourceNode._state === SOURCENODESTATE.paused || sourceNode._state === SOURCENODESTATE.playing){ | ||
sourcesPlaying = true; | ||
} | ||
} | ||
if (sourcesPlaying !== this._sourcesPlaying){ | ||
if (sourcesPlaying === true){ | ||
this._callCallbacks("content"); | ||
}else{ | ||
this._callCallbacks("nocontent"); | ||
} | ||
this._sourcesPlaying = sourcesPlaying; | ||
} | ||
/* | ||
@@ -803,3 +822,2 @@ * Itterate the directed acyclic graph using Khan's algorithm (KHAAAAAN!). | ||
} | ||
} | ||
@@ -806,0 +824,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6583842
24297
454