Merge pull request #354 from Half-Shot/develop
Add support for sending uploaded content as m.videopull/21833/head
						commit
						2190dcbe1e
					
				|  | @ -52,6 +52,36 @@ function infoForImageFile(imageFile) { | |||
|     return deferred.promise; | ||||
| } | ||||
| 
 | ||||
| function infoForVideoFile(videoFile) { | ||||
|     var deferred = q.defer(); | ||||
| 
 | ||||
|     // Load the file into an html element
 | ||||
|     var video = document.createElement("video"); | ||||
| 
 | ||||
|     var reader = new FileReader(); | ||||
|     reader.onload = function(e) { | ||||
|         video.src = e.target.result; | ||||
| 
 | ||||
|         // Once ready, returns its size
 | ||||
|         video.onloadedmetadata = function() { | ||||
|             deferred.resolve({ | ||||
|                 w: video.videoWidth, | ||||
|                 h: video.videoHeight | ||||
|             }); | ||||
|         }; | ||||
|         video.onerror = function(e) { | ||||
|             deferred.reject(e); | ||||
|         }; | ||||
|     }; | ||||
|     reader.onerror = function(e) { | ||||
|         deferred.reject(e); | ||||
|     }; | ||||
|     reader.readAsDataURL(videoFile); | ||||
| 
 | ||||
|     return deferred.promise; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| class ContentMessages { | ||||
|     constructor() { | ||||
|         this.inprogress = []; | ||||
|  | @ -81,6 +111,12 @@ class ContentMessages { | |||
|         } else if (file.type.indexOf('audio/') == 0) { | ||||
|             content.msgtype = 'm.audio'; | ||||
|             def.resolve(); | ||||
|         } else if (file.type.indexOf('video/') == 0) { | ||||
|           content.msgtype = 'm.video'; | ||||
|           infoForVideoFile(file).then(function (videoInfo) { | ||||
|               extend(content.info, videoInfo); | ||||
|               def.resolve(); | ||||
|           }); | ||||
|         } else { | ||||
|             content.msgtype = 'm.file'; | ||||
|             def.resolve(); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 David Baker
						David Baker