diff --git a/examples/chromeless/index.html b/examples/chromeless/index.html
index 30aa0122..c21cac17 100644
--- a/examples/chromeless/index.html
+++ b/examples/chromeless/index.html
@@ -346,6 +346,8 @@
Test Videos
document.getElementById('mediaInfo').rows[Y_MAX_BUFFER].cells[X_MAX_BUFFER].innerHTML = api.getMaxBufferLength().toFixed(2);
},
onVideoSize: function(instanceId, width, height) {
+ var event = {time : new Date() - startDate, type : "resize", name : width + 'x' + height};
+ events.video.push(event);
var state = api.getCapLeveltoStage();
if(!state) {
var ratio = width / height;
@@ -357,8 +359,6 @@ Test Videos
api.flashObject.height = height;
var canvas = document.getElementById('buffered_c');
canvas.width = width;
- var event = {time : new Date() - startDate, type : "reize", name : width + 'x' + height};
- events.video.push(event);
}
},
onComplete: function(instanceId) {
@@ -446,7 +446,7 @@ Test Videos
refreshCanvas();
},
onFragmentPlaying: function(instanceId, playmetrics) {
- var event = {time : new Date() - startDate, type : "playing frag", name : playmetrics.seqnum + '@' + playmetrics.level};
+ var event = {time : new Date() - startDate, type : "playing frag", name : playmetrics.seqnum + '@' + playmetrics.level, duration : playmetrics.duration*1000};
events.video.push(event);
},
onPosition: function(instanceId, timemetrics) {
diff --git a/examples/libs/canvas.js b/examples/libs/canvas.js
index 962dc453..c85f1eda 100644
--- a/examples/libs/canvas.js
+++ b/examples/libs/canvas.js
@@ -432,6 +432,9 @@
//draw event rectangle
x_start = networkChartStart + networkChartWidth*(event.time-minTime)/(maxTime-minTime);
if(event.duration) {
+ if(event.type && event.type.indexOf("playing frag") !==-1) {
+ ctx.fillStyle = "green";
+ }
x_w = networkChartWidth*event.duration/(maxTime-minTime);
} else {
x_w = 1;
diff --git a/src/org/mangui/hls/event/HLSPlayMetrics.as b/src/org/mangui/hls/event/HLSPlayMetrics.as
index 28471927..f5b11e60 100644
--- a/src/org/mangui/hls/event/HLSPlayMetrics.as
+++ b/src/org/mangui/hls/event/HLSPlayMetrics.as
@@ -7,16 +7,18 @@ package org.mangui.hls.event {
public var level : int;
public var seqnum : int;
public var continuity_counter : int;
+ public var duration : Number;
public var audio_only : Boolean;
public var program_date : Number;
public var video_width : int;
public var video_height : int;
public var tag_list : Array;
- public function HLSPlayMetrics(level : int, seqnum : int, cc : int, audio_only : Boolean, program_date : Number, video_width : int, video_height : int, tag_list : Array) {
+ public function HLSPlayMetrics(level : int, seqnum : int, cc : int, duration : Number, audio_only : Boolean, program_date : Number, video_width : int, video_height : int, tag_list : Array) {
this.level = level;
this.seqnum = seqnum;
this.continuity_counter = cc;
+ this.duration = duration;
this.audio_only = audio_only;
this.program_date = program_date;
this.video_width = video_width;
diff --git a/src/org/mangui/hls/model/Fragment.as b/src/org/mangui/hls/model/Fragment.as
index 159ff796..ee07a3e3 100644
--- a/src/org/mangui/hls/model/Fragment.as
+++ b/src/org/mangui/hls/model/Fragment.as
@@ -64,6 +64,7 @@ package org.mangui.hls.model {
data.writeObject(this.level);
data.writeObject(this.seqnum);
data.writeObject(this.continuity);
+ data.writeObject(this.duration);
data.writeObject(this.program_date);
data.writeObject(!this.data.video_found);
data.writeObject(this.data.video_width);
diff --git a/src/org/mangui/hls/stream/HLSNetStream.as b/src/org/mangui/hls/stream/HLSNetStream.as
index 2e85e6fd..9bd1a295 100644
--- a/src/org/mangui/hls/stream/HLSNetStream.as
+++ b/src/org/mangui/hls/stream/HLSNetStream.as
@@ -23,9 +23,9 @@ package org.mangui.hls.stream {
import org.mangui.hls.utils.Log;
}
/** Class that overrides standard flash.net.NetStream class, keeps the buffer filled, handles seek and play state
- *
+ *
* play state transition :
- * FROM TO condition
+ * FROM TO condition
* HLSPlayStates.IDLE HLSPlayStates.PLAYING_BUFFERING play()/play2()/seek() called
* HLSPlayStates.PLAYING_BUFFERING HLSPlayStates.PLAYING buflen > minBufferLength
* HLSPlayStates.PAUSED_BUFFERING HLSPlayStates.PAUSED buflen > minBufferLength
@@ -67,7 +67,7 @@ package org.mangui.hls.stream {
super.client = _client;
};
- public function onHLSFragmentChange(level : int, seqnum : int, cc : int, audio_only : Boolean, program_date : Number, width : int, height : int, ... tags) : void {
+ public function onHLSFragmentChange(level : int, seqnum : int, cc : int, duration : Number, audio_only : Boolean, program_date : Number, width : int, height : int, ... tags) : void {
CONFIG::LOGGING {
Log.debug("playing fragment(level/sn/cc):" + level + "/" + seqnum + "/" + cc);
}
@@ -79,7 +79,7 @@ package org.mangui.hls.stream {
Log.debug("custom tag:" + tags[i]);
}
}
- _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_PLAYING, new HLSPlayMetrics(level, seqnum, cc, audio_only, program_date, width, height, tag_list)));
+ _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_PLAYING, new HLSPlayMetrics(level, seqnum, cc, duration, audio_only, program_date, width, height, tag_list)));
}
// function is called by SCRIPT in FLV
@@ -303,7 +303,7 @@ package org.mangui.hls.stream {
}
_streamBuffer.seek(position);
_setSeekState(HLSSeekStates.SEEKING);
- /* if HLS was in paused state before seeking,
+ /* if HLS was in paused state before seeking,
* switch to paused buffering state
* otherwise, switch to playing buffering state
*/