RKRZX;qr+>Bx@SP|9Tk4bZpl
z2I%wH0Gf;9pvMOAqHu43h>K#c#|H4CaBqM%7e%MX2JoVIyEZ`Qo7?~q&kb#M{8D*b$M~+oLGs%
zlNsU;b`&V{gTW~3>d9(dHC2zMRgC65RXfVcQbiYeL-TLikV>Qtb@X5_-$+NUxZC)}
zoo@17j1m8-T2sHc{<^IHszvO8?L-_w0Zm1eNjpDX_L}Amj8Ip51U~tbV)6kQ2K{XH
zu4mT+GmbXCeKd6$seQmjY
zKe^n|w?*HrYs=mAlgqvJZP9l}ZMpfzI3=DnUq`R-a`natS9=BdMjr+n^L+A+I@Z`m
zpCYGMx(M-;2z`pgho`LcP8p69|Hvf8z{uoaoa~lCu>s_f6z6CGe4CtPAsl-tY@H1q
z8)pIL`iGXnhjsC#>USM029qqfV)q}PEDIXWnVs44khro<53gqY@0(T
znnME5_x$bynouHHL0NU)5=vB3_}L<0uqb98zQBS<5ai?zL|mM4(G9Iqdi<>nuYa2h^bkJdd9T{=cBooSO7Ub(-
z&w*wiwHD2bxPsKy3`C`GFx|&c_aJPfhVuEQimkNMM=S}$HL8U0tNk}uq2B5%~4U2C0e3+f&pOQZq`7ILczadazb1LKaD3=!Ay&^fU;wTgqI
zb8Jgvi>R=6-CzYHTKQ#|fn_oPhF{1D}q4;mY6r
zo)QY
z3(viLy=&&2==rJVAG^MI^(%SS(>{Bqntb973LmgeJ%`yzS`gO{?)cv?fm`rtz1kV~
zL7@AHkb2n{D;^v6OY1&Y>9%oxe0ny?z7x))^%E}IldjUK@tUuZDqoD$mbAj`BE+_}
zgnh3I#Y1cQH&SVPtcxnTsMtltnP8X43A`~1;O#4!i5{~yVH@}H%}MAavsYD?9nq=!
z8U5*Tan9`1ZsHUz*hgXSq%6a!=%aY{@jLp&tNNfF?1Ohwuf0)y&<~}vCp(cQ$`$>rz*W27|%-;#)DGyCi|=(BRZg#&s##;sOe@yBv0NnuF0NTZ?<*@Y*m4!q5#C3=*?z;}K
zGI;XIf~yXIn*bWcT?aVP#6@RO8WC@zio(Ad2VAA6g~E9<-}Ltd5PiprnG#D@*D
zHu%x3>fp$~h;iqN3sW*26hP}nW%{T^c}0{jAGx3*;gK2cXC
z>=D@M?dt1L_1^&h1@NB$KLYp<ZvZ|C
z@YeuO06Y%x7{Ffv{3XE00saKwQGiDPJ_hi|0DlDVhX4-){1(8201p8CCcrAdZvcE0
z;MV~@0`MyU9|E`r@IioI2KXfaJizz>z`Mo$CA`UW72pcM5`YO%0(cidPF!NbYf7`?
z7F1ST{IOO*gPD=sYI-KV(QY4r)mb4>V+Ua{l5
zg$LOqJkl=V1=@vIi3%@eZ-@5-6vZ{KBf>F4{-VABFfRPxX8=AS?!)X9`w6m2^}_(~
z6ApB@GU#V2C|)r?LCHs_Xt0t3THAX97n+IOzd6RRBLNK?1*u0R?Fq8
z$YonaW$nxX$@{&cpFyw6A+O4~yOQ6$m-x;5cD#8nId9(E7um}V4No
zz2agtTz-d3@Qw@87s-bInYS|hmQVBKN^z=)9V(?rOa`;Owv}=in;e{oPmc|bCW(1D
oSK|M0kN-fA!@^imE{63&OhSp|@hAZ;{SN>D0RR630I;1k>o-UUQ2+n{
diff --git a/src/jscam.as b/src/jscam.as
index 9242344..4bd8eb7 100644
--- a/src/jscam.as
+++ b/src/jscam.as
@@ -13,11 +13,13 @@
import flash.system.Security;
import flash.external.ExternalInterface;
import flash.display.BitmapData;
+import BitmapWriter;
import JPGEncoder;
class JSCam {
private static var camera:Camera = null;
+ private static var display:MovieClip = null;
private static var buffer:BitmapData = null;
private static var quality:Number = 85;
private static var interval = null;
@@ -77,10 +79,10 @@ class JSCam {
ExternalInterface.addCallback("setCamera", null, setCamera);
ExternalInterface.addCallback("getCameraList", null, getCameraList);
- _root.attachMovie("clip", "video", 1);
- _root.video.attachVideo(camera);
- _root.video._x = 0;
- _root.video._y = 0;
+ display = _root.attachMovie("clip", "video", 1);
+ display.video.attachVideo(camera);
+ display.video._x = 0;
+ display.video._y = 0;
} else {
ExternalInterface.call('webcam.debug', "error", "No camera was detected.");
@@ -123,7 +125,7 @@ class JSCam {
}
if (0 == time) {
- buffer.draw(_root.video);
+ buffer.draw(display.video);
ExternalInterface.call('webcam.onCapture');
ExternalInterface.call('webcam.debug', "notify", "Capturing finished.");
} else {
@@ -133,7 +135,6 @@ class JSCam {
}
public static function getCameraList():Array {
-
var list = new Array();
for (var i = 0, l = Camera.names.length; i < l; i++) {
@@ -163,10 +164,10 @@ class JSCam {
if ("callback" == mode) {
- for (var i = 0; i < 240; ++i) {
+ for (var i = 0; i < 640; ++i) {
var row = "";
- for (var j=0; j < 320; ++j) {
+ for (var j=0; j < 480; ++j) {
row+= buffer.getPixel(j, i);
row+= ";";
}
@@ -213,17 +214,17 @@ class JSCam {
private static function _stream():Void {
- buffer.draw(_root.video);
+ buffer.draw(display.video);
if (null != stream) {
clearInterval(stream);
}
- for (var i = 0; i < 240; ++i) {
+ for (var i = 0; i < 640; ++i) {
var row = "";
- for (var j=0; j < 320; ++j) {
+ for (var j=0; j < 480; ++j) {
row+= buffer.getPixel(j, i);
row+= ";";
}
diff --git a/src/jscam.xml b/src/jscam.xml
index a0734a0..0b3cb71 100644
--- a/src/jscam.xml
+++ b/src/jscam.xml
@@ -1,11 +1,12 @@
-
-
-
-
+