Просмотр исходного кода

Add array.fill() workaround for IE11, Safari iOS9; close #116

phoboslab 9 лет назад
Родитель
Сommit
85588a30fe
5 измененных файлов: 19 добавлений и 6 удалений
  1. 3 3
      jsmpeg.min.js
  2. 11 0
      src/jsmpeg.js
  3. 1 1
      src/mp2.js
  4. 2 2
      src/mpeg1.js
  5. 2 0
      src/player.js

Разница между файлами не показана из-за своего большого размера
+ 3 - 3
jsmpeg.min.js


+ 11 - 0
src/jsmpeg.js Просмотреть файл

81
 		for (var i = 0; i < elements.length; i++) {
81
 		for (var i = 0; i < elements.length; i++) {
82
 			new JSMpeg.VideoElement(elements[i]);
82
 			new JSMpeg.VideoElement(elements[i]);
83
 		}
83
 		}
84
+	},
85
+
86
+	Fill: function(array, value) {
87
+		if (array.fill) {
88
+			array.fill(value);
89
+		}
90
+		else {
91
+			for (var i = 0; i < array.length; i++) {
92
+				array[i] = value;
93
+			}
94
+		}
84
 	}
95
 	}
85
 };
96
 };
86
 
97
 

+ 1 - 1
src/mp2.js Просмотреть файл

237
 					MP2.MatrixTransform(this.sample[ch], p, this.V, this.VPos);
237
 					MP2.MatrixTransform(this.sample[ch], p, this.V, this.VPos);
238
 
238
 
239
 					// Build U, windowing, calculate output
239
 					// Build U, windowing, calculate output
240
-					this.U.fill(0);
240
+					JSMpeg.Fill(this.U, 0);
241
 
241
 
242
 					var dIndex = 512 - (this.VPos >> 1);
242
 					var dIndex = 512 - (this.VPos >> 1);
243
 					var vIndex = (this.VPos % 128) >> 1;
243
 					var vIndex = (this.VPos % 128) >> 1;

+ 2 - 2
src/mpeg1.js Просмотреть файл

833
 		else {
833
 		else {
834
 			MPEG1.IDCT(this.blockData);
834
 			MPEG1.IDCT(this.blockData);
835
 			MPEG1.CopyBlockToDestination(this.blockData, destArray, destIndex, scan);
835
 			MPEG1.CopyBlockToDestination(this.blockData, destArray, destIndex, scan);
836
-			this.blockData.fill(0);
836
+			JSMpeg.Fill(this.blockData, 0);
837
 		}
837
 		}
838
 	}
838
 	}
839
 	else {
839
 	else {
845
 		else {
845
 		else {
846
 			MPEG1.IDCT(this.blockData);
846
 			MPEG1.IDCT(this.blockData);
847
 			MPEG1.AddBlockToDestination(this.blockData, destArray, destIndex, scan);
847
 			MPEG1.AddBlockToDestination(this.blockData, destArray, destIndex, scan);
848
-			this.blockData.fill(0);
848
+			JSMpeg.Fill(this.blockData, 0);
849
 		}
849
 		}
850
 	}
850
 	}
851
 
851
 

+ 2 - 0
src/player.js Просмотреть файл

58
 	if (this.autoplay) {
58
 	if (this.autoplay) {
59
 		this.play();
59
 		this.play();
60
 	}
60
 	}
61
+
62
+	window.player = this;
61
 };
63
 };
62
 
64
 
63
 Player.prototype.showHide = function(ev) {
65
 Player.prototype.showHide = function(ev) {