Changeset 45 for trunk/as3/com/jeroenwijering/models/HTTPModel.as
- Timestamp:
- 07/22/08 17:24:41 (5 years ago)
- File:
-
- 1 edited
-
trunk/as3/com/jeroenwijering/models/HTTPModel.as (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/as3/com/jeroenwijering/models/HTTPModel.as
r39 r45 8 8 import com.jeroenwijering.models.ModelInterface; 9 9 import com.jeroenwijering.player.Model; 10 import com.jeroenwijering.utils.NetClient; 10 11 import flash.events.*; 11 12 import flash.display.DisplayObject; … … 59 60 stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,metaHandler); 60 61 stream.bufferTime = model.config['bufferlength']; 61 stream.client = this;62 stream.client = new NetClient(this); 62 63 video = new Video(320,240); 63 64 video.attachNetStream(stream); … … 80 81 var off = 0; 81 82 if(keyframes === null) { 82 errorHandler(new ErrorEvent(ErrorEvent.ERROR,false,false,"This file has no seekpoints metadata.")); 83 return 0; 83 return off; 84 84 } 85 85 for (var i=0; i< keyframes.times.length; i++) { … … 146 146 147 147 148 /** Get textdata from netstream. **/149 public function onImageData(info:Object) {150 var dat = new Object();151 for(var i in info) {152 dat[i] = info[i];153 }154 model.sendEvent(ModelEvent.META,dat);155 };156 157 158 148 /** Get metadata information from netstream class. **/ 159 public function onMetaData(info:Object) { 160 if(h264) { return; } 161 if(info.width) { 162 video.width = info.width; 163 video.height = info.height; 164 model.mediaHandler(video); 165 } else if(info.videodatarate) { 166 video.width = 320; 167 video.height = 240; 168 model.mediaHandler(video); 169 } else { 170 model.mediaHandler(); 171 } 172 if(info.seekpoints) { 173 h264 = true; 174 keyframes = new Object(); 175 keyframes.times = new Array(); 176 keyframes.filepositions = new Array(); 177 for (var j in info.seekpoints) { 178 keyframes.times.push(Number(info.seekpoints[j]['time'])); 179 keyframes.filepositions.push(Number(info.seekpoints[j]['offset'])); 180 } 181 } else if(info.keyframes) { 182 keyframes = info.keyframes; 183 } 184 var dat = new Object(); 185 for(var i in info) { 186 dat[i] = info[i]; 187 } 188 if(keyframes) { 189 delete dat.seekpoints; 190 dat.keyframes = ''; 191 for(var k=0; k<keyframes.times.length; k++) { 192 dat['keyframes'] += ','+keyframes.times[k]+':'+keyframes.filepositions[k]; 193 } 194 } 195 model.sendEvent(ModelEvent.META,dat); 196 if(model.playlist[model.config['item']]['start'] > 0) { 197 seek(model.playlist[model.config['item']]['start']); 198 } 199 }; 200 201 202 /** Get textdata from netstream. **/ 203 public function onTextData(info:Object) { 204 var dat = new Object(); 205 for(var i in info) { 206 dat[i] = info[i]; 149 public function onData(dat:Object) { 150 if(dat.type == 'metadata' && !h264) { 151 if(dat.width) { 152 video.width = dat.width; 153 video.height = dat.height; 154 model.mediaHandler(video); 155 } else { 156 model.mediaHandler(); 157 } 158 if(dat.seekpoints) { 159 h264 = true; 160 keyframes = new Object(); 161 keyframes.times = new Array(); 162 keyframes.filepositions = new Array(); 163 for (var j in dat.seekpoints) { 164 keyframes.times.push(Number(dat.seekpoints[j]['time'])); 165 keyframes.filepositions.push(Number(dat.seekpoints[j]['offset'])); 166 } 167 } else if(dat.keyframes) { 168 keyframes = dat.keyframes; 169 } 170 if(keyframes) { 171 delete dat.seekpoints; 172 dat.keyframes = ''; 173 for(var k=0; k<keyframes.times.length; k++) { 174 dat['keyframes'] += ','+keyframes.times[k]+':'+keyframes.filepositions[k]; 175 } 176 } 177 if(model.playlist[model.config['item']]['start'] > 0) { 178 seek(model.playlist[model.config['item']]['start']); 179 } 207 180 } 208 181 model.sendEvent(ModelEvent.META,dat);
Note: See TracChangeset
for help on using the changeset viewer.
