@supraio/client-daemon-js 0.0.0-mznacl.300 → 0.0.0-mznacl.302

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -189977,7 +189977,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
189977
189977
  return $pkg;
189978
189978
  })();
189979
189979
  $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function() {
189980
- var $pkg = {}, $init, errs, general, webgldriver, image, js, H264Decoder, sliceType, ptrType, funcType, arrayType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
189980
+ var $pkg = {}, $init, errs, general, webgldriver, image, js, H264Decoder, sliceType, ptrType, funcType, arrayType, sliceType$1, chanType, ptrType$1, IsAvailable, NewDecoder;
189981
189981
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
189982
189982
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
189983
189983
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
@@ -189996,6 +189996,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
189996
189996
  funcType = $funcType([], [], false);
189997
189997
  arrayType = $arrayType(funcType, 0);
189998
189998
  sliceType$1 = $sliceType($Uint8);
189999
+ chanType = $chanType($emptyInterface, false, false);
189999
190000
  ptrType$1 = $ptrType(H264Decoder);
190000
190001
  IsAvailable = function() {
190001
190002
  return !$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined();
@@ -190007,8 +190008,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190007
190008
  return new H264Decoder.ptr($clone(decoder, js.Value));
190008
190009
  };
190009
190010
  $pkg.NewDecoder = NewDecoder;
190010
- H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190011
- var {$24r, _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, cSize, cStride, height, heightIndex, m, nal, nalBuffer, nalBufferOffset, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190011
+ H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer, releaseChan) {
190012
+ var {$24r, _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, cSize, cStride, height, heightIndex, m, nal, nalBuffer, nalBufferOffset, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, releaseChan, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer, releaseChan});
190012
190013
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190013
190014
  m = this;
190014
190015
  nalBufferOffset = $clone($clone(m.decoder, js.Value).Get("decBuffer"), js.Value);
@@ -190055,15 +190056,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190055
190056
  image.Rectangle.copy(ycbcrImg.Rect, ycbcrJSImg.Rect);
190056
190057
  ycbcrImg.SubsampleRatio = 2;
190057
190058
  $s = -1; return $ifaceNil;
190058
- /* */ } return; } var $f = {$blk: H264Decoder.ptr.prototype.Decode, $c: true, $r, $24r, _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, cSize, cStride, height, heightIndex, m, nal, nalBuffer, nalBufferOffset, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s};return $f;
190059
- };
190060
- H264Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190061
- H264Decoder.ptr.prototype.Release = function(outputBuffer) {
190062
- var m, outputBuffer;
190063
- m = this;
190059
+ /* */ } return; } var $f = {$blk: H264Decoder.ptr.prototype.Decode, $c: true, $r, $24r, _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, cSize, cStride, height, heightIndex, m, nal, nalBuffer, nalBufferOffset, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, releaseChan, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s};return $f;
190064
190060
  };
190065
- H264Decoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
190066
- ptrType$1.methods = [{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
190061
+ H264Decoder.prototype.Decode = function(nal, outputBuffer, releaseChan) { return this.$val.Decode(nal, outputBuffer, releaseChan); };
190062
+ ptrType$1.methods = [{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer, chanType], [$error], false)}];
190067
190063
  H264Decoder.init("github.com/supraio/client-daemon/pkg/x264/h264decoder", [{prop: "decoder", name: "decoder", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190068
190064
  $init = function() {
190069
190065
  $pkg.$init = function() {};
@@ -190133,7 +190129,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (
190133
190129
  return $pkg;
190134
190130
  })();
190135
190131
  $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190136
- var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js, NaClDecoder, sliceType, ptrType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
190132
+ var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js, NaClDecoder, sliceType, ptrType, sliceType$1, chanType, ptrType$1, IsAvailable, NewDecoder;
190137
190133
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190138
190134
  jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190139
190135
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
@@ -190150,6 +190146,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190150
190146
  sliceType = $sliceType($emptyInterface);
190151
190147
  ptrType = $ptrType(js.Value);
190152
190148
  sliceType$1 = $sliceType($Uint8);
190149
+ chanType = $chanType($emptyInterface, false, false);
190153
190150
  ptrType$1 = $ptrType(NaClDecoder);
190154
190151
  IsAvailable = function() {
190155
190152
  return jsdecoder.IsAvailable();
@@ -190253,8 +190250,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190253
190250
  /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.destroy, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, destroyPromise, err, m, $s};return $f;
190254
190251
  };
190255
190252
  NaClDecoder.prototype.destroy = function() { return this.$val.destroy(); };
190256
- NaClDecoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190257
- var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190253
+ NaClDecoder.ptr.prototype.Decode = function(nal, outputBuffer, releaseChan) {
190254
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, releaseChan, $s, $r, $c} = $restore(this, {nal, outputBuffer, releaseChan});
190258
190255
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190259
190256
  m = this;
190260
190257
  /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
@@ -190328,15 +190325,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190328
190325
  $s = 31; case 31: return $24r$1;
190329
190326
  /* } */ case 29:
190330
190327
  $s = -1; return $ifaceNil;
190331
- /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s};return $f;
190328
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, releaseChan, $s};return $f;
190332
190329
  };
190333
- NaClDecoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190334
- NaClDecoder.ptr.prototype.Release = function(outputBuffer) {
190335
- var m, outputBuffer;
190336
- m = this;
190337
- };
190338
- NaClDecoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
190339
- ptrType$1.methods = [{prop: "initialize", name: "initialize", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([sliceType$1], [$error], false)}, {prop: "reset", name: "reset", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "destroy", name: "destroy", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
190330
+ NaClDecoder.prototype.Decode = function(nal, outputBuffer, releaseChan) { return this.$val.Decode(nal, outputBuffer, releaseChan); };
190331
+ ptrType$1.methods = [{prop: "initialize", name: "initialize", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([sliceType$1], [$error], false)}, {prop: "reset", name: "reset", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "destroy", name: "destroy", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer, chanType], [$error], false)}];
190340
190332
  NaClDecoder.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder", [{prop: "initialized", name: "initialized", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190341
190333
  $init = function() {
190342
190334
  $pkg.$init = function() {};
@@ -190778,7 +190770,7 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190778
190770
  return $pkg;
190779
190771
  })();
190780
190772
  $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190781
- var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js, Decoder, sliceType, funcType, arrayType, ptrType, sliceType$1, ptrType$1, sliceType$2, ptrType$2, IsAvailable, NewDecoder;
190773
+ var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js, Decoder, sliceType, funcType, arrayType, ptrType, sliceType$1, ptrType$1, sliceType$2, chanType, ptrType$2, IsAvailable, NewDecoder;
190782
190774
  hex = $packages["encoding/hex"];
190783
190775
  webgl = $packages["github.com/nuberu/webgl"];
190784
190776
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
@@ -190808,6 +190800,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190808
190800
  sliceType$1 = $sliceType($emptyInterface);
190809
190801
  ptrType$1 = $ptrType(canvasdriver.BufferImpl);
190810
190802
  sliceType$2 = $sliceType($Uint8);
190803
+ chanType = $chanType($emptyInterface, false, false);
190811
190804
  ptrType$2 = $ptrType(Decoder);
190812
190805
  IsAvailable = function() {
190813
190806
  return !$clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined();
@@ -190895,10 +190888,12 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190895
190888
  return codecName;
190896
190889
  };
190897
190890
  Decoder.prototype.detectCodecName = function(nal) { return this.$val.detectCodecName(nal); };
190898
- Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190899
- var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190891
+ Decoder.ptr.prototype.Decode = function(nal, outputBuffer, releaseChan) {
190892
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, releaseChan, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer, releaseChan});
190900
190893
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190901
190894
  d = [d];
190895
+ frame = [frame];
190896
+ releaseChan = [releaseChan];
190902
190897
  d[0] = this;
190903
190898
  frameType = "delta";
190904
190899
  /* */ if ((((4 >= nal.$length ? ($throwRuntimeError("index out of range"), undefined) : nal.$array[nal.$offset + 4]) >> 0)) === 103) { $s = 1; continue; }
@@ -190939,15 +190934,15 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190939
190934
  /* } */ case 17:
190940
190935
  $s = -1; return errDec;
190941
190936
  /* } */ case 15:
190942
- framePromiseCb = $clone(js.FuncOf((function(d) { return function(this$1, args) {
190937
+ framePromiseCb = $clone(js.FuncOf((function(d, frame, releaseChan) { return function(this$1, args) {
190943
190938
  var args, this$1;
190944
190939
  d[0].resolves = $append(d[0].resolves, (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]));
190945
190940
  d[0].rejects = $append(d[0].rejects, (1 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 1]));
190946
190941
  return $ifaceNil;
190947
- }; })(d)), js.Func);
190942
+ }; })(d, frame, releaseChan)), js.Func);
190948
190943
  _r$5 = $clone($clone(js.Global(), js.Value).Get("Promise"), js.Value).New(new sliceType$1([new framePromiseCb.constructor.elem(framePromiseCb)])); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190949
190944
  framePromise = $clone(_r$5, js.Value);
190950
- timeoutPromiseCb = $clone(js.FuncOf((function(d) { return function $b(this$1, args) {
190945
+ timeoutPromiseCb = $clone(js.FuncOf((function(d, frame, releaseChan) { return function $b(this$1, args) {
190951
190946
  var {_arg, _r$6, _r$7, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190952
190947
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190953
190948
  _r$6 = $clone((1 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 1]), js.Value).Call("bind", new sliceType$1([$ifaceNil, new $String("Timeout")])); /* */ $s = 1; case 1: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
@@ -190956,7 +190951,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190956
190951
  _r$7;
190957
190952
  $s = -1; return $ifaceNil;
190958
190953
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _r$6, _r$7, args, this$1, x, $s};return $f;
190959
- }; })(d)), js.Func);
190954
+ }; })(d, frame, releaseChan)), js.Func);
190960
190955
  _r$6 = $clone($clone(js.Global(), js.Value).Get("Promise"), js.Value).New(new sliceType$1([new timeoutPromiseCb.constructor.elem(timeoutPromiseCb)])); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190961
190956
  timeoutPromise = $clone(_r$6, js.Value);
190962
190957
  _r$7 = $clone($clone(js.Global(), js.Value).Get("Array"), js.Value).New(new sliceType$1([new framePromise.constructor.elem(framePromise), new timeoutPromise.constructor.elem(timeoutPromise)])); /* */ $s = 21; case 21: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
@@ -190965,7 +190960,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190965
190960
  racePromise = $clone(_r$8, js.Value);
190966
190961
  _r$9 = jshelper.Await($clone(racePromise, js.Value)); /* */ $s = 23; case 23: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
190967
190962
  _tuple = _r$9;
190968
- frame = _tuple[0];
190963
+ frame[0] = _tuple[0];
190969
190964
  err = _tuple[1];
190970
190965
  $clone(framePromiseCb, js.Func).Release();
190971
190966
  $clone(timeoutPromiseCb, js.Func).Release();
@@ -190977,32 +190972,27 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190977
190972
  $s = 27; case 27: return $24r$1;
190978
190973
  /* } */ case 25:
190979
190974
  ycbcrJSImg = $assertType(outputBuffer, ptrType$1).YCbCrJS();
190980
- ycbcrJSImg.CanvasImageSource = frame;
190981
- displayWidth = $clone($clone(frame, js.Value).Get("displayWidth"), js.Value).Int();
190982
- displayHeight = $clone($clone(frame, js.Value).Get("displayHeight"), js.Value).Int();
190975
+ ycbcrJSImg.CanvasImageSource = frame[0];
190976
+ displayWidth = $clone($clone(frame[0], js.Value).Get("displayWidth"), js.Value).Int();
190977
+ displayHeight = $clone($clone(frame[0], js.Value).Get("displayHeight"), js.Value).Int();
190983
190978
  _r$11 = outputBuffer.YCbCr(); /* */ $s = 28; case 28: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
190984
190979
  ycbcrImg = _r$11;
190985
190980
  image.Rectangle.copy(ycbcrImg.Rect, image.Rect(0, 0, displayWidth, displayHeight));
190986
190981
  ycbcrImg.SubsampleRatio = 2;
190982
+ $go((function(d, frame, releaseChan) { return function $b() {
190983
+ var {_r$12, _r$13, $s, $r, $c} = $restore(this, {});
190984
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190985
+ _r$12 = $recv(releaseChan[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
190986
+ _r$12[0];
190987
+ _r$13 = $clone(frame[0], js.Value).Call("close", sliceType$1.nil); /* */ $s = 2; case 2: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
190988
+ _r$13;
190989
+ $s = -1; return;
190990
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$12, _r$13, $s};return $f;
190991
+ }; })(d, frame, releaseChan), []);
190987
190992
  $s = -1; return $ifaceNil;
190988
- /* */ } return; } var $f = {$blk: Decoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s};return $f;
190993
+ /* */ } return; } var $f = {$blk: Decoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, releaseChan, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s};return $f;
190989
190994
  };
190990
- Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190991
- Decoder.ptr.prototype.Release = function(outputBuffer) {
190992
- var {_r, m, outputBuffer, ycbcrJSImg, $s, $r, $c} = $restore(this, {outputBuffer});
190993
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190994
- m = this;
190995
- ycbcrJSImg = $assertType(outputBuffer, ptrType$1).YCbCrJS();
190996
- /* */ if (!(ycbcrJSImg.CanvasImageSource === ptrType.nil)) { $s = 1; continue; }
190997
- /* */ $s = 2; continue;
190998
- /* if (!(ycbcrJSImg.CanvasImageSource === ptrType.nil)) { */ case 1:
190999
- _r = $clone(ycbcrJSImg.CanvasImageSource, js.Value).Call("close", sliceType$1.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191000
- _r;
191001
- /* } */ case 2:
191002
- $s = -1; return;
191003
- /* */ } return; } var $f = {$blk: Decoder.ptr.prototype.Release, $c: true, $r, _r, m, outputBuffer, ycbcrJSImg, $s};return $f;
191004
- };
191005
- Decoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
190995
+ Decoder.prototype.Decode = function(nal, outputBuffer, releaseChan) { return this.$val.Decode(nal, outputBuffer, releaseChan); };
191006
190996
  Decoder.ptr.prototype.jsSafeDecode = function(chunk) {
191007
190997
  var {$24r, _r, chunk, d, err, $s, $deferred, $r, $c} = $restore(this, {chunk});
191008
190998
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
@@ -191030,7 +191020,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
191030
191020
  /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: Decoder.ptr.prototype.jsSafeDecode, $c: true, $r, $24r, _r, chunk, d, err, $s, $deferred};return $f; } }
191031
191021
  };
191032
191022
  Decoder.prototype.jsSafeDecode = function(chunk) { return this.$val.jsSafeDecode(chunk); };
191033
- ptrType$2.methods = [{prop: "configure", name: "configure", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([sliceType$2], [], false)}, {prop: "detectCodecName", name: "detectCodecName", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([sliceType$2], [$String], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$2, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}, {prop: "jsSafeDecode", name: "jsSafeDecode", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([js.Value], [$error], false)}];
191023
+ ptrType$2.methods = [{prop: "configure", name: "configure", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([sliceType$2], [], false)}, {prop: "detectCodecName", name: "detectCodecName", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([sliceType$2], [$String], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$2, general.OutputBuffer, chanType], [$error], false)}, {prop: "jsSafeDecode", name: "jsSafeDecode", pkg: "github.com/supraio/client-daemon/pkg/x264/webcodecs", typ: $funcType([js.Value], [$error], false)}];
191034
191024
  Decoder.init("github.com/supraio/client-daemon/pkg/x264/webcodecs", [{prop: "jsVideoDecoder", name: "jsVideoDecoder", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "resolves", name: "resolves", embedded: false, exported: false, typ: sliceType, tag: ""}, {prop: "rejects", name: "rejects", embedded: false, exported: false, typ: sliceType, tag: ""}, {prop: "releaseVideoDecoder", name: "releaseVideoDecoder", embedded: false, exported: false, typ: funcType, tag: ""}]);
191035
191025
  $init = function() {
191036
191026
  $pkg.$init = function() {};
@@ -191049,7 +191039,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
191049
191039
  return $pkg;
191050
191040
  })();
191051
191041
  $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
191052
- var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, Decoder, H264Decoder, ptrType, sliceType, sliceType$1, NewH264Decoder;
191042
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, Decoder, H264Decoder, ptrType, sliceType, sliceType$1, chanType, NewH264Decoder;
191053
191043
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191054
191044
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
191055
191045
  h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
@@ -191067,6 +191057,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
191067
191057
  ptrType = $ptrType(H264Decoder);
191068
191058
  sliceType = $sliceType($emptyInterface);
191069
191059
  sliceType$1 = $sliceType($Uint8);
191060
+ chanType = $chanType($emptyInterface, false, false);
191070
191061
  NewH264Decoder = function(header) {
191071
191062
  var {$24r, _r, decoder, header, $s, $r, $c} = $restore(this, {header});
191072
191063
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -191093,27 +191084,18 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
191093
191084
  /* */ } return; } var $f = {$blk: NewH264Decoder, $c: true, $r, $24r, _r, decoder, header, $s};return $f;
191094
191085
  };
191095
191086
  $pkg.NewH264Decoder = NewH264Decoder;
191096
- H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
191097
- var {$24r, _r, m, nal, outputBuffer, $s, $r, $c} = $restore(this, {nal, outputBuffer});
191087
+ H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer, releaseChan) {
191088
+ var {$24r, _r, m, nal, outputBuffer, releaseChan, $s, $r, $c} = $restore(this, {nal, outputBuffer, releaseChan});
191098
191089
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191099
191090
  m = this;
191100
- _r = m.decoder.Decode(nal, outputBuffer); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191091
+ _r = m.decoder.Decode(nal, outputBuffer, releaseChan); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191101
191092
  $24r = _r;
191102
191093
  $s = 2; case 2: return $24r;
191103
- /* */ } return; } var $f = {$blk: H264Decoder.ptr.prototype.Decode, $c: true, $r, $24r, _r, m, nal, outputBuffer, $s};return $f;
191104
- };
191105
- H264Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
191106
- H264Decoder.ptr.prototype.Release = function(outputBuffer) {
191107
- var {m, outputBuffer, $s, $r, $c} = $restore(this, {outputBuffer});
191108
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191109
- m = this;
191110
- $r = m.decoder.Release(outputBuffer); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191111
- $s = -1; return;
191112
- /* */ } return; } var $f = {$blk: H264Decoder.ptr.prototype.Release, $c: true, $r, m, outputBuffer, $s};return $f;
191094
+ /* */ } return; } var $f = {$blk: H264Decoder.ptr.prototype.Decode, $c: true, $r, $24r, _r, m, nal, outputBuffer, releaseChan, $s};return $f;
191113
191095
  };
191114
- H264Decoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
191115
- ptrType.methods = [{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
191116
- Decoder.init([{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}]);
191096
+ H264Decoder.prototype.Decode = function(nal, outputBuffer, releaseChan) { return this.$val.Decode(nal, outputBuffer, releaseChan); };
191097
+ ptrType.methods = [{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer, chanType], [$error], false)}];
191098
+ Decoder.init([{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer, chanType], [$error], false)}]);
191117
191099
  H264Decoder.init("github.com/supraio/client-daemon/pkg/x264", [{prop: "decoder", name: "decoder", embedded: false, exported: false, typ: Decoder, tag: ""}]);
191118
191100
  $init = function() {
191119
191101
  $pkg.$init = function() {};
@@ -191202,6 +191184,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191202
191184
  /* } */ case 2:
191203
191185
  domEvents = dom.NewDomEvents();
191204
191186
  w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
191187
+ $r = domEvents.BindEvents(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191205
191188
  $s = -1; return w;
191206
191189
  /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
191207
191190
  };
@@ -191603,7 +191586,7 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
191603
191586
  return $pkg;
191604
191587
  })();
191605
191588
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191606
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, X264FrameRenderer, ScreenWindow, ProcessInfo, ProcessInfoManager, FrameCollector, FrameMapItem, Frame, FrameType, ptrType, ptrType$1, ptrType$2, funcType, sliceType, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$1, sliceType$2, structType, sliceType$3, ptrType$10, ptrType$11, funcType$1, ptrType$12, ptrType$13, chanType, chanType$1, chanType$2, chanType$3, chanType$4, mapType, NewX264FrameRenderer, NewScreenWindow, MainDriver, NewProcessInfoManager, NewFrameCollector;
191589
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, X264FrameRenderer, ScreenWindow, ProcessInfo, ProcessInfoManager, FrameCollector, FrameMapItem, Frame, FrameType, ptrType, ptrType$1, structType, ptrType$2, funcType, sliceType, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$1, sliceType$2, sliceType$3, ptrType$10, ptrType$11, funcType$1, ptrType$12, ptrType$13, chanType, chanType$1, chanType$2, chanType$3, chanType$4, mapType, NewX264FrameRenderer, NewScreenWindow, MainDriver, NewProcessInfoManager, NewFrameCollector;
191607
191590
  binary = $packages["encoding/binary"];
191608
191591
  json = $packages["encoding/json"];
191609
191592
  query = $packages["github.com/google/go-querystring/query"];
@@ -191791,6 +191774,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191791
191774
  FrameType = $pkg.FrameType = $newType(1, $kindUint8, "render.FrameType", true, "github.com/supraio/client-daemon/pkg/render", true, null);
191792
191775
  ptrType = $ptrType(stats.Stats);
191793
191776
  ptrType$1 = $ptrType(x264.H264Decoder);
191777
+ structType = $structType("", []);
191794
191778
  ptrType$2 = $ptrType(ProcessInfoManager);
191795
191779
  funcType = $funcType([], [], false);
191796
191780
  sliceType = $sliceType(funcType);
@@ -191803,7 +191787,6 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191803
191787
  ptrType$9 = $ptrType(netclient.Healthchecker);
191804
191788
  sliceType$1 = $sliceType($emptyInterface);
191805
191789
  sliceType$2 = $sliceType($Uint8);
191806
- structType = $structType("", []);
191807
191790
  sliceType$3 = $sliceType($String);
191808
191791
  ptrType$10 = $ptrType(Frame);
191809
191792
  ptrType$11 = $ptrType(FrameMapItem);
@@ -191822,9 +191805,10 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191822
191805
  };
191823
191806
  $pkg.NewX264FrameRenderer = NewX264FrameRenderer;
191824
191807
  X264FrameRenderer.ptr.prototype.Render = function(frame) {
191825
- var {_r, _r$1, _tuple, err, frame, r, $s, $r, $c} = $restore(this, {frame});
191808
+ var {_r, _r$1, _tuple, err, frame, r, releaseChannel, $s, $r, $c} = $restore(this, {frame});
191826
191809
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191827
191810
  r = [r];
191811
+ releaseChannel = [releaseChannel];
191828
191812
  r[0] = this;
191829
191813
  err = $ifaceNil;
191830
191814
  /* */ if (r[0].dec === ptrType$1.nil) { $s = 1; continue; }
@@ -191841,19 +191825,19 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191841
191825
  $s = -1; return;
191842
191826
  /* } */ case 5:
191843
191827
  /* } */ case 2:
191828
+ releaseChannel[0] = new $Chan($emptyInterface, 0);
191844
191829
  $r = r[0].stats.NotifyFrameDecodeStarted(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191845
- _r$1 = r[0].dec.Decode(frame.buffer, r[0].screenBuffer); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191830
+ _r$1 = r[0].dec.Decode(frame.buffer, r[0].screenBuffer, releaseChannel[0]); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191846
191831
  err = _r$1;
191847
191832
  $r = r[0].stats.NotifyFrameDecodeEnded(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191848
- $r = r[0].dec.Release(r[0].screenBuffer); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191849
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 11; continue; }
191850
- /* */ $s = 12; continue;
191851
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 11:
191852
- $r = errs.Print("Frame cannot be decoded", err); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191833
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 10; continue; }
191834
+ /* */ $s = 11; continue;
191835
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 10:
191836
+ $r = errs.Print("Frame cannot be decoded", err); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191853
191837
  $s = -1; return;
191854
- /* } */ case 12:
191855
- $go((function(r) { return function $b() {
191856
- var {_arg, _arg$1, _arg$2, _r$2, _r$3, $s, $r, $c} = $restore(this, {});
191838
+ /* } */ case 11:
191839
+ $go((function(r, releaseChannel) { return function $b() {
191840
+ var {_arg, _arg$1, _arg$2, _r$2, _r$3, x, $s, $r, $c} = $restore(this, {});
191857
191841
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191858
191842
  $r = r[0].stats.NotifyFrameRenderStarted(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191859
191843
  _arg = $clone(new image.Point.ptr(0, 0), image.Point);
@@ -191864,11 +191848,12 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191864
191848
  _r$3 = r[0].window.Publish(); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191865
191849
  _r$3;
191866
191850
  $r = r[0].stats.NotifyFrameRenderEnded(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191851
+ $r = $send(releaseChannel[0], (x = new structType.ptr(), new x.constructor.elem(x))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191867
191852
  $s = -1; return;
191868
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _arg$1, _arg$2, _r$2, _r$3, $s};return $f;
191869
- }; })(r), []);
191853
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _arg$1, _arg$2, _r$2, _r$3, x, $s};return $f;
191854
+ }; })(r, releaseChannel), []);
191870
191855
  $s = -1; return;
191871
- /* */ } return; } var $f = {$blk: X264FrameRenderer.ptr.prototype.Render, $c: true, $r, _r, _r$1, _tuple, err, frame, r, $s};return $f;
191856
+ /* */ } return; } var $f = {$blk: X264FrameRenderer.ptr.prototype.Render, $c: true, $r, _r, _r$1, _tuple, err, frame, r, releaseChannel, $s};return $f;
191872
191857
  };
191873
191858
  X264FrameRenderer.prototype.Render = function(frame) { return this.$val.Render(frame); };
191874
191859
  NewScreenWindow = function(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, screenSize, timeoutDuration) {
@@ -192381,8 +192366,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192381
192366
  return new time.Duration(2, 1410065408);
192382
192367
  }
192383
192368
  frameDurationMs = $div64(new $Int64(0, 1), (new $Int64(0, framerate)), false);
192384
- timeoutMs = $mul64(frameDurationMs, new $Int64(0, 60));
192385
- clampedTimeoutMs = helper.ClampedInt64(timeoutMs, new $Int64(0, 1000), new $Int64(0, 10000));
192369
+ timeoutMs = $mul64(frameDurationMs, new $Int64(0, 90));
192370
+ clampedTimeoutMs = helper.ClampedInt64(timeoutMs, new $Int64(0, 3000), new $Int64(0, 10000));
192386
192371
  return $mul64((new time.Duration(clampedTimeoutMs.$high, clampedTimeoutMs.$low)), new time.Duration(0, 1000000));
192387
192372
  };
192388
192373
  ScreenWindow.prototype.getHealthcheckTimeout = function() { return this.$val.getHealthcheckTimeout(); };
@@ -192453,7 +192438,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192453
192438
  /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 13; continue; }
192454
192439
  /* */ $s = 14; continue;
192455
192440
  /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 13:
192456
- $r = errs.Print("Could disconnect screen", err[0]); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192441
+ $r = errs.Print("Could not disconnect screen", err[0]); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192457
192442
  /* } */ case 14:
192458
192443
  _r$7 = w[0].retriableOpen(-1, $methodVal(w[0], "openScreen")); /* */ $s = 16; case 16: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
192459
192444
  err$1 = _r$7;