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

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.
@@ -190078,85 +190078,132 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190078
190078
  $pkg.$init = $init;
190079
190079
  return $pkg;
190080
190080
  })();
190081
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (function() {
190082
+ var $pkg = {}, $init, js, ptrType, sliceType, initiateReset, jsNaClDecoder, ResetBeforeNextDecode, ShouldResetOnNextDecode, MarkResetDone, IsAvailable, CreateJsNaClDecoder, GetJsNaClDecoder, RemoveJsNaClDecoder;
190083
+ js = $packages["syscall/js"];
190084
+ ptrType = $ptrType(js.Value);
190085
+ sliceType = $sliceType($emptyInterface);
190086
+ ResetBeforeNextDecode = function() {
190087
+ initiateReset = true;
190088
+ };
190089
+ $pkg.ResetBeforeNextDecode = ResetBeforeNextDecode;
190090
+ ShouldResetOnNextDecode = function() {
190091
+ return initiateReset;
190092
+ };
190093
+ $pkg.ShouldResetOnNextDecode = ShouldResetOnNextDecode;
190094
+ MarkResetDone = function() {
190095
+ initiateReset = false;
190096
+ };
190097
+ $pkg.MarkResetDone = MarkResetDone;
190098
+ IsAvailable = function() {
190099
+ return !$clone($clone(js.Global(), js.Value).Get("createNaClDecoder"), js.Value).IsUndefined();
190100
+ };
190101
+ $pkg.IsAvailable = IsAvailable;
190102
+ CreateJsNaClDecoder = function() {
190103
+ var {_r, createdJsNaClDecoder, $s, $r, $c} = $restore(this, {});
190104
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190105
+ createdJsNaClDecoder = [createdJsNaClDecoder];
190106
+ if (!(jsNaClDecoder === ptrType.nil)) {
190107
+ $panic(new $String("JsNaClDecoder already created"));
190108
+ }
190109
+ _r = $clone(js.Global(), js.Value).Call("createNaClDecoder", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190110
+ createdJsNaClDecoder[0] = $clone(_r, js.Value);
190111
+ jsNaClDecoder = createdJsNaClDecoder[0];
190112
+ $s = -1; return jsNaClDecoder;
190113
+ /* */ } return; } var $f = {$blk: CreateJsNaClDecoder, $c: true, $r, _r, createdJsNaClDecoder, $s};return $f;
190114
+ };
190115
+ $pkg.CreateJsNaClDecoder = CreateJsNaClDecoder;
190116
+ GetJsNaClDecoder = function() {
190117
+ return jsNaClDecoder;
190118
+ };
190119
+ $pkg.GetJsNaClDecoder = GetJsNaClDecoder;
190120
+ RemoveJsNaClDecoder = function() {
190121
+ jsNaClDecoder = ptrType.nil;
190122
+ };
190123
+ $pkg.RemoveJsNaClDecoder = RemoveJsNaClDecoder;
190124
+ $init = function() {
190125
+ $pkg.$init = function() {};
190126
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190127
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190128
+ jsNaClDecoder = ptrType.nil;
190129
+ initiateReset = false;
190130
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190131
+ };
190132
+ $pkg.$init = $init;
190133
+ return $pkg;
190134
+ })();
190081
190135
  $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190082
- var $pkg = {}, $init, errs, jshelper, general, js, NaClDecoder, ptrType, sliceType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
190136
+ var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js, NaClDecoder, sliceType, ptrType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
190083
190137
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190084
190138
  jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190085
190139
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190140
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190086
190141
  js = $packages["syscall/js"];
190087
- NaClDecoder = $pkg.NaClDecoder = $newType(0, $kindStruct, "nacldecoder.NaClDecoder", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder", true, function(jsNaClDecoder_) {
190142
+ NaClDecoder = $pkg.NaClDecoder = $newType(0, $kindStruct, "nacldecoder.NaClDecoder", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder", true, function(initialized_) {
190088
190143
  this.$val = this;
190089
190144
  if (arguments.length === 0) {
190090
- this.jsNaClDecoder = ptrType.nil;
190145
+ this.initialized = false;
190091
190146
  return;
190092
190147
  }
190093
- this.jsNaClDecoder = jsNaClDecoder_;
190148
+ this.initialized = initialized_;
190094
190149
  });
190095
- ptrType = $ptrType(js.Value);
190096
190150
  sliceType = $sliceType($emptyInterface);
190151
+ ptrType = $ptrType(js.Value);
190097
190152
  sliceType$1 = $sliceType($Uint8);
190098
190153
  ptrType$1 = $ptrType(NaClDecoder);
190099
190154
  IsAvailable = function() {
190100
- return !$clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value).IsUndefined();
190155
+ return jsdecoder.IsAvailable();
190101
190156
  };
190102
190157
  $pkg.IsAvailable = IsAvailable;
190103
190158
  NewDecoder = function(header) {
190104
190159
  var header;
190105
- return new NaClDecoder.ptr(ptrType.nil);
190160
+ return new NaClDecoder.ptr(false);
190106
190161
  };
190107
190162
  $pkg.NewDecoder = NewDecoder;
190108
190163
  NaClDecoder.ptr.prototype.initialize = function(param) {
190109
- var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, config, err, graphics3DContext, initPromise, initResult, jsNaClDecoder, m, param, $s, $r, $c} = $restore(this, {param});
190164
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, config, err, graphics3DContext, initPromise, initResult, m, param, $s, $r, $c} = $restore(this, {param});
190110
190165
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190111
- jsNaClDecoder = [jsNaClDecoder];
190112
190166
  m = this;
190113
- jsNaClDecoder[0] = $clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value);
190114
- /* */ if ($clone(jsNaClDecoder[0], js.Value).IsUndefined()) { $s = 1; continue; }
190115
- /* */ $s = 2; continue;
190116
- /* if ($clone(jsNaClDecoder[0], js.Value).IsUndefined()) { */ case 1:
190117
- _r = errs.Errorf("Cannot get naclDecoder object from global scope", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190118
- $panic(_r);
190119
- /* } */ case 2:
190120
- _r$1 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190121
- config = $clone(_r$1, js.Value);
190122
- _r$2 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190123
- graphics3DContext = $clone(_r$2, js.Value);
190167
+ _r = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190168
+ config = $clone(_r, js.Value);
190169
+ _r$1 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190170
+ graphics3DContext = $clone(_r$1, js.Value);
190124
190171
  $clone(config, js.Value).Set("graphics3DContext", new graphics3DContext.constructor.elem(graphics3DContext));
190125
190172
  $clone(config, js.Value).Set("profile", new $Int(0));
190126
190173
  $clone(config, js.Value).Set("acceleration", new $Int(2));
190127
190174
  $clone(config, js.Value).Set("minPictureCount", new $Int(0));
190128
- _r$3 = $clone(jsNaClDecoder[0], js.Value).Call("initialize", new sliceType([new config.constructor.elem(config)])); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190129
- initPromise = $clone(_r$3, js.Value);
190130
- _r$4 = jshelper.Await($clone(initPromise, js.Value)); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190131
- _tuple = _r$4;
190175
+ _r$2 = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("initialize", new sliceType([new config.constructor.elem(config)])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190176
+ initPromise = $clone(_r$2, js.Value);
190177
+ _r$3 = jshelper.Await($clone(initPromise, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190178
+ _tuple = _r$3;
190132
190179
  initResult = _tuple[0];
190133
190180
  err = _tuple[1];
190134
- /* */ if (!(err === ptrType.nil)) { $s = 8; continue; }
190135
- /* */ $s = 9; continue;
190136
- /* if (!(err === ptrType.nil)) { */ case 8:
190137
- _r$5 = jshelper.GetError(err); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190138
- _r$6 = _r$5.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190139
- _arg = new $String(_r$6);
190140
- _r$7 = errs.Errorf("Failed to initialize NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190141
- $24r = [ptrType.nil, _r$7];
190142
- $s = 13; case 13: return $24r;
190143
- /* } */ case 9:
190144
- /* */ if (!(($clone(initResult, js.Value).Float() === 0))) { $s = 14; continue; }
190145
- /* */ $s = 15; continue;
190146
- /* if (!(($clone(initResult, js.Value).Float() === 0))) { */ case 14:
190147
- _r$8 = errs.Errorf("Failed to initialize NaCl Decoder: %f", new sliceType([new $Float64($clone(initResult, js.Value).Float())])); /* */ $s = 16; case 16: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
190148
- $24r$1 = [ptrType.nil, _r$8];
190149
- $s = 17; case 17: return $24r$1;
190150
- /* } */ case 15:
190151
- $s = -1; return [jsNaClDecoder[0], $ifaceNil];
190152
- /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.initialize, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, config, err, graphics3DContext, initPromise, initResult, jsNaClDecoder, m, param, $s};return $f;
190181
+ /* */ if (!(err === ptrType.nil)) { $s = 5; continue; }
190182
+ /* */ $s = 6; continue;
190183
+ /* if (!(err === ptrType.nil)) { */ case 5:
190184
+ _r$4 = jshelper.GetError(err); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190185
+ _r$5 = _r$4.Error(); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190186
+ _arg = new $String(_r$5);
190187
+ _r$6 = errs.Errorf("Failed to initialize NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 9; case 9: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190188
+ $24r = _r$6;
190189
+ $s = 10; case 10: return $24r;
190190
+ /* } */ case 6:
190191
+ /* */ if (!(($clone(initResult, js.Value).Float() === 0))) { $s = 11; continue; }
190192
+ /* */ $s = 12; continue;
190193
+ /* if (!(($clone(initResult, js.Value).Float() === 0))) { */ case 11:
190194
+ _r$7 = errs.Errorf("Failed to initialize NaCl Decoder: %f", new sliceType([new $Float64($clone(initResult, js.Value).Float())])); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190195
+ $24r$1 = _r$7;
190196
+ $s = 14; case 14: return $24r$1;
190197
+ /* } */ case 12:
190198
+ $s = -1; return $ifaceNil;
190199
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.initialize, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, config, err, graphics3DContext, initPromise, initResult, m, param, $s};return $f;
190153
190200
  };
190154
190201
  NaClDecoder.prototype.initialize = function(param) { return this.$val.initialize(param); };
190155
190202
  NaClDecoder.ptr.prototype.reset = function() {
190156
- var {_arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s, $r, $c} = $restore(this, {});
190203
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s, $r, $c} = $restore(this, {});
190157
190204
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190158
190205
  m = this;
190159
- _r = $clone(m.jsNaClDecoder, js.Value).Call("reset", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190206
+ _r = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("reset", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190160
190207
  resetPromise = $clone(_r, js.Value);
190161
190208
  _r$1 = jshelper.Await($clone(resetPromise, js.Value)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190162
190209
  _tuple = _r$1;
@@ -190168,75 +190215,120 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190168
190215
  _r$2 = jshelper.GetError(err); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190169
190216
  _r$3 = _r$2.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190170
190217
  _arg = new $String(_r$3);
190171
- _r$4 = errs.Errorf("%s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190172
- _arg$1 = _r$4;
190173
- $r = errs.Print("Failed to reset NaCl Decoder", _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190174
- $s = -1; return;
190218
+ _r$4 = errs.Errorf("Failed to reset NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190219
+ $24r = _r$4;
190220
+ $s = 8; case 8: return $24r;
190175
190221
  /* } */ case 4:
190176
190222
  /* */ if (!(($clone(resetResult, js.Value).Float() === 0))) { $s = 9; continue; }
190177
190223
  /* */ $s = 10; continue;
190178
190224
  /* if (!(($clone(resetResult, js.Value).Float() === 0))) { */ case 9:
190179
- _r$5 = errs.Errorf("%f", new sliceType([new $Float64($clone(resetResult, js.Value).Float())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190180
- _arg$2 = _r$5;
190181
- $r = errs.Print("Failed to reset NaCl Decoder", _arg$2); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190182
- $s = -1; return;
190225
+ _r$5 = errs.Errorf("Failed to reset NaCl Decoder with code: %f", new sliceType([new $Float64($clone(resetResult, js.Value).Float())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190226
+ $24r$1 = _r$5;
190227
+ $s = 12; case 12: return $24r$1;
190183
190228
  /* } */ case 10:
190184
- $s = -1; return;
190185
- /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.reset, $c: true, $r, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s};return $f;
190229
+ $s = -1; return $ifaceNil;
190230
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.reset, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s};return $f;
190186
190231
  };
190187
190232
  NaClDecoder.prototype.reset = function() { return this.$val.reset(); };
190233
+ NaClDecoder.ptr.prototype.destroy = function() {
190234
+ var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, destroyPromise, err, m, $s, $r, $c} = $restore(this, {});
190235
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190236
+ m = this;
190237
+ _r = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("destroy", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190238
+ destroyPromise = $clone(_r, js.Value);
190239
+ _r$1 = jshelper.Await($clone(destroyPromise, js.Value)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190240
+ _tuple = _r$1;
190241
+ err = _tuple[1];
190242
+ /* */ if (!(err === ptrType.nil)) { $s = 3; continue; }
190243
+ /* */ $s = 4; continue;
190244
+ /* if (!(err === ptrType.nil)) { */ case 3:
190245
+ _r$2 = jshelper.GetError(err); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190246
+ _r$3 = _r$2.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190247
+ _arg = new $String(_r$3);
190248
+ _r$4 = errs.Errorf("Failed to destroy NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190249
+ $24r = _r$4;
190250
+ $s = 8; case 8: return $24r;
190251
+ /* } */ case 4:
190252
+ $s = -1; return $ifaceNil;
190253
+ /* */ } 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
+ };
190255
+ NaClDecoder.prototype.destroy = function() { return this.$val.destroy(); };
190188
190256
  NaClDecoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190189
- var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, decodeArgs, decodePromise, decodeResult, err, err$1, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s, $r, $c} = $restore(this, {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});
190190
190258
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190191
190259
  m = this;
190192
- /* */ if (m.jsNaClDecoder === ptrType.nil) { $s = 1; continue; }
190260
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
190193
190261
  /* */ $s = 2; continue;
190194
- /* if (m.jsNaClDecoder === ptrType.nil) { */ case 1:
190195
- _r = m.initialize(nal); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190196
- _tuple = _r;
190197
- jsNaClDecoder = _tuple[0];
190198
- err = _tuple[1];
190199
- if (!($interfaceIsEqual(err, $ifaceNil))) {
190200
- $s = -1; return err;
190201
- }
190202
- m.jsNaClDecoder = jsNaClDecoder;
190262
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
190263
+ _r = m.reset(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190264
+ err = _r;
190265
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }
190266
+ /* */ $s = 5; continue;
190267
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:
190268
+ $r = errs.Print("Failed to reset NaCl Decoder", err); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190269
+ _r$1 = m.destroy(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190270
+ err = _r$1;
190271
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }
190272
+ /* */ $s = 9; continue;
190273
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:
190274
+ $r = errs.Print("Failed to destroy NaCl Decoder", err); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190275
+ /* } */ case 9:
190276
+ jsdecoder.RemoveJsNaClDecoder();
190277
+ /* } */ case 5:
190278
+ m.initialized = false;
190279
+ jsdecoder.MarkResetDone();
190203
190280
  /* } */ case 2:
190204
- _r$1 = $clone($clone(js.Global(), js.Value).Get("ArrayBuffer"), js.Value).New(new sliceType([new $Int(nal.$length)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190205
- pictureBuffer = $clone(_r$1, js.Value);
190206
- _r$2 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new pictureBuffer.constructor.elem(pictureBuffer)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190207
- pictureUint8Array = $clone(_r$2, js.Value);
190281
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
190282
+ /* */ if (jsNaClDecoder === ptrType.nil) { $s = 11; continue; }
190283
+ /* */ $s = 12; continue;
190284
+ /* if (jsNaClDecoder === ptrType.nil) { */ case 11:
190285
+ _r$2 = jsdecoder.CreateJsNaClDecoder(); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190286
+ jsNaClDecoder = _r$2;
190287
+ /* } */ case 12:
190288
+ /* */ if (!m.initialized) { $s = 14; continue; }
190289
+ /* */ $s = 15; continue;
190290
+ /* if (!m.initialized) { */ case 14:
190291
+ _r$3 = m.initialize(nal); /* */ $s = 16; case 16: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190292
+ err$1 = _r$3;
190293
+ if (!($interfaceIsEqual(err$1, $ifaceNil))) {
190294
+ $s = -1; return err$1;
190295
+ }
190296
+ m.initialized = true;
190297
+ /* } */ case 15:
190298
+ _r$4 = $clone($clone(js.Global(), js.Value).Get("ArrayBuffer"), js.Value).New(new sliceType([new $Int(nal.$length)])); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190299
+ pictureBuffer = $clone(_r$4, js.Value);
190300
+ _r$5 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new pictureBuffer.constructor.elem(pictureBuffer)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190301
+ pictureUint8Array = $clone(_r$5, js.Value);
190208
190302
  js.CopyBytesToJS($clone(pictureUint8Array, js.Value), nal);
190209
- _r$3 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190210
- decodeArgs = $clone(_r$3, js.Value);
190303
+ _r$6 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190304
+ decodeArgs = $clone(_r$6, js.Value);
190211
190305
  $clone(decodeArgs, js.Value).Set("decodeId", new $Int(0));
190212
190306
  $clone(decodeArgs, js.Value).Set("data", new pictureBuffer.constructor.elem(pictureBuffer));
190213
- _r$4 = $clone(m.jsNaClDecoder, js.Value).Call("decode", new sliceType([new decodeArgs.constructor.elem(decodeArgs)])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190214
- decodePromise = $clone(_r$4, js.Value);
190215
- _r$5 = jshelper.Await($clone(decodePromise, js.Value)); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190216
- _tuple$1 = _r$5;
190217
- decodeResult = _tuple$1[0];
190218
- err$1 = _tuple$1[1];
190219
- /* */ if (!(err$1 === ptrType.nil)) { $s = 9; continue; }
190220
- /* */ $s = 10; continue;
190221
- /* if (!(err$1 === ptrType.nil)) { */ case 9:
190222
- $r = m.reset(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190223
- m.jsNaClDecoder = ptrType.nil;
190224
- _r$6 = jshelper.GetError(err$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190225
- _r$7 = _r$6.Error(); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190226
- _arg = new $String(_r$7);
190227
- _r$8 = errs.Errorf("Failed to decode frame: %s", new sliceType([_arg])); /* */ $s = 14; case 14: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
190228
- $24r = _r$8;
190229
- $s = 15; case 15: return $24r;
190230
- /* } */ case 10:
190231
- /* */ if (!(($clone(decodeResult, js.Value).Float() === 0))) { $s = 16; continue; }
190232
- /* */ $s = 17; continue;
190233
- /* if (!(($clone(decodeResult, js.Value).Float() === 0))) { */ case 16:
190234
- _r$9 = errs.Errorf("Failed to decode frame with code: %f", new sliceType([new $Float64($clone(decodeResult, js.Value).Float())])); /* */ $s = 18; case 18: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
190235
- $24r$1 = _r$9;
190236
- $s = 19; case 19: return $24r$1;
190237
- /* } */ case 17:
190307
+ _r$7 = $clone(jsNaClDecoder, js.Value).Call("decode", new sliceType([new decodeArgs.constructor.elem(decodeArgs)])); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190308
+ decodePromise = $clone(_r$7, js.Value);
190309
+ _r$8 = jshelper.Await($clone(decodePromise, js.Value)); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
190310
+ _tuple = _r$8;
190311
+ decodeResult = _tuple[0];
190312
+ err$2 = _tuple[1];
190313
+ /* */ if (!(err$2 === ptrType.nil)) { $s = 22; continue; }
190314
+ /* */ $s = 23; continue;
190315
+ /* if (!(err$2 === ptrType.nil)) { */ case 22:
190316
+ _r$9 = jshelper.GetError(err$2); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
190317
+ _r$10 = _r$9.Error(); /* */ $s = 25; case 25: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
190318
+ _arg = new $String(_r$10);
190319
+ _r$11 = errs.Errorf("Failed to decode frame: %s", new sliceType([_arg])); /* */ $s = 26; case 26: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
190320
+ $24r = _r$11;
190321
+ $s = 27; case 27: return $24r;
190322
+ /* } */ case 23:
190323
+ /* */ if (!(($clone(decodeResult, js.Value).Float() === 0))) { $s = 28; continue; }
190324
+ /* */ $s = 29; continue;
190325
+ /* if (!(($clone(decodeResult, js.Value).Float() === 0))) { */ case 28:
190326
+ _r$12 = errs.Errorf("Failed to decode frame with code: %f", new sliceType([new $Float64($clone(decodeResult, js.Value).Float())])); /* */ $s = 30; case 30: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
190327
+ $24r$1 = _r$12;
190328
+ $s = 31; case 31: return $24r$1;
190329
+ /* } */ case 29:
190238
190330
  $s = -1; return $ifaceNil;
190239
- /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, decodeArgs, decodePromise, decodeResult, err, err$1, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s};return $f;
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;
190240
190332
  };
190241
190333
  NaClDecoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190242
190334
  NaClDecoder.ptr.prototype.Release = function(outputBuffer) {
@@ -190244,15 +190336,16 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190244
190336
  m = this;
190245
190337
  };
190246
190338
  NaClDecoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
190247
- ptrType$1.methods = [{prop: "initialize", name: "initialize", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([sliceType$1], [ptrType, $error], false)}, {prop: "reset", name: "reset", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
190248
- NaClDecoder.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder", [{prop: "jsNaClDecoder", name: "jsNaClDecoder", embedded: false, exported: false, typ: ptrType, tag: ""}]);
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)}];
190340
+ NaClDecoder.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder", [{prop: "initialized", name: "initialized", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190249
190341
  $init = function() {
190250
190342
  $pkg.$init = function() {};
190251
190343
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190252
190344
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190253
190345
  $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190254
190346
  $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190255
- $r = js.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190347
+ $r = jsdecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190348
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190256
190349
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190257
190350
  };
190258
190351
  $pkg.$init = $init;
@@ -191036,9 +191129,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
191036
191129
  return $pkg;
191037
191130
  })();
191038
191131
  $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
191039
- var $pkg = {}, $init, errs, jshelper, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, Main, main, newBuffer;
191132
+ var $pkg = {}, $init, errs, jshelper, jsdecoder, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, Main, main, newBuffer;
191040
191133
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191041
191134
  jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
191135
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
191042
191136
  dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
191043
191137
  screen = $packages["golang.org/x/exp/shiny/screen"];
191044
191138
  f64 = $packages["golang.org/x/image/math/f64"];
@@ -191048,19 +191142,19 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191048
191142
  log = $packages["log"];
191049
191143
  sync = $packages["sync"];
191050
191144
  js = $packages["syscall/js"];
191051
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, jsNaClDecoder_, domEvents_, released_) {
191145
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, renderingInProgress_, domEvents_, released_) {
191052
191146
  this.$val = this;
191053
191147
  if (arguments.length === 0) {
191054
191148
  this.screen = ptrType.nil;
191055
191149
  this.mutex = ptrType$1.nil;
191056
- this.jsNaClDecoder = ptrType$2.nil;
191057
- this.domEvents = ptrType$3.nil;
191150
+ this.renderingInProgress = false;
191151
+ this.domEvents = ptrType$2.nil;
191058
191152
  this.released = false;
191059
191153
  return;
191060
191154
  }
191061
191155
  this.screen = screen_;
191062
191156
  this.mutex = mutex_;
191063
- this.jsNaClDecoder = jsNaClDecoder_;
191157
+ this.renderingInProgress = renderingInProgress_;
191064
191158
  this.domEvents = domEvents_;
191065
191159
  this.released = released_;
191066
191160
  });
@@ -191085,8 +191179,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191085
191179
  sliceType = $sliceType($emptyInterface);
191086
191180
  ptrType = $ptrType(screenImpl);
191087
191181
  ptrType$1 = $ptrType(sync.Mutex);
191088
- ptrType$2 = $ptrType(js.Value);
191089
- ptrType$3 = $ptrType(dom.DomEvents);
191182
+ ptrType$2 = $ptrType(dom.DomEvents);
191183
+ ptrType$3 = $ptrType(js.Value);
191090
191184
  funcType = $funcType([], [], false);
191091
191185
  arrayType = $arrayType(funcType, 0);
191092
191186
  ptrType$4 = $ptrType(image.RGBA);
@@ -191097,9 +191191,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191097
191191
  ptrType$8 = $ptrType(image.YCbCr);
191098
191192
  ptrType$9 = $ptrType(BufferImpl);
191099
191193
  newWindow = function(screen$1, opts) {
191100
- var {_r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
191194
+ var {_r, _r$1, domEvents, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
191101
191195
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191102
- jsNaClDecoder = [jsNaClDecoder];
191103
191196
  /* */ if (!(opts.Title === "")) { $s = 1; continue; }
191104
191197
  /* */ $s = 2; continue;
191105
191198
  /* if (!(opts.Title === "")) { */ case 1:
@@ -191107,17 +191200,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191107
191200
  _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191108
191201
  $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191109
191202
  /* } */ case 2:
191110
- jsNaClDecoder[0] = $clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value);
191111
- /* */ if ($clone(jsNaClDecoder[0], js.Value).IsUndefined()) { $s = 6; continue; }
191112
- /* */ $s = 7; continue;
191113
- /* if ($clone(jsNaClDecoder[0], js.Value).IsUndefined()) { */ case 6:
191114
- _r$2 = errs.Errorf("Cannot get naclDecoder object from global scope", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191115
- $panic(_r$2);
191116
- /* } */ case 7:
191117
191203
  domEvents = dom.NewDomEvents();
191118
- w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), jsNaClDecoder[0], domEvents, false);
191204
+ w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
191119
191205
  $s = -1; return w;
191120
- /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s};return $f;
191206
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
191121
191207
  };
191122
191208
  windowImpl.ptr.prototype.Release = function() {
191123
191209
  var {w, $s, $deferred, $r, $c} = $restore(this, {});
@@ -191187,54 +191273,72 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191187
191273
  };
191188
191274
  windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
191189
191275
  windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
191190
- var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $deferred, $r, $c} = $restore(this, {dp, src, sr});
191191
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191276
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $r, $c} = $restore(this, {dp, src, sr});
191277
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191192
191278
  w = this;
191193
- $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191194
- $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
191195
- /* */ if (w.released) { $s = 2; continue; }
191196
- /* */ $s = 3; continue;
191197
- /* if (w.released) { */ case 2:
191198
- $s = 4; case 4: return;
191199
- /* } */ case 3:
191200
- _r = $clone(w.jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191279
+ if (w.released) {
191280
+ $s = -1; return;
191281
+ }
191282
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
191283
+ /* */ $s = 2; continue;
191284
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
191285
+ $r = log.Println(new sliceType([new $String("NaClDecoder is resetting, skipping frame rendering")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191286
+ $s = -1; return;
191287
+ /* } */ case 2:
191288
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
191289
+ /* */ if (jsNaClDecoder === ptrType$3.nil) { $s = 4; continue; }
191290
+ /* */ $s = 5; continue;
191291
+ /* if (jsNaClDecoder === ptrType$3.nil) { */ case 4:
191292
+ $r = log.Println(new sliceType([new $String("JsNaClDecoder is not created, skipping frame rendering")])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191293
+ $s = -1; return;
191294
+ /* } */ case 5:
191295
+ $r = w.mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191296
+ _r = $clone(jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191201
191297
  picturePromise = $clone(_r, js.Value);
191202
- _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191298
+ _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191203
191299
  _tuple = _r$1;
191204
191300
  picture = _tuple[0];
191205
191301
  err = _tuple[1];
191206
- /* */ if (!(err === ptrType$2.nil)) { $s = 7; continue; }
191207
- /* */ $s = 8; continue;
191208
- /* if (!(err === ptrType$2.nil)) { */ case 7:
191209
- _r$2 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191302
+ $r = w.mutex.Unlock(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191303
+ /* */ if (!(err === ptrType$3.nil)) { $s = 11; continue; }
191304
+ /* */ $s = 12; continue;
191305
+ /* if (!(err === ptrType$3.nil)) { */ case 11:
191306
+ jsdecoder.ResetBeforeNextDecode();
191307
+ _r$2 = jshelper.GetError(err); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191210
191308
  _arg = _r$2;
191211
- $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191212
- $s = 11; case 11: return;
191213
- /* } */ case 8:
191214
- _r$3 = $clone(w.jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191215
- renderPromise = $clone(_r$3, js.Value);
191216
- _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191217
- _tuple$1 = _r$4;
191218
- renderResult = _tuple$1[0];
191219
- err = _tuple$1[1];
191220
- /* */ if (!(err === ptrType$2.nil)) { $s = 14; continue; }
191221
- /* */ $s = 15; continue;
191222
- /* if (!(err === ptrType$2.nil)) { */ case 14:
191223
- _r$5 = jshelper.GetError(err); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
191224
- _arg$1 = _r$5;
191225
- $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191226
- $s = 18; case 18: return;
191227
- /* } */ case 15:
191228
- /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 19; continue; }
191229
- /* */ $s = 20; continue;
191230
- /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 19:
191231
- $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191232
- $s = 22; case 22: return;
191233
- /* } */ case 20:
191234
- _r$6 = $clone(w.jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 23; case 23: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
191309
+ $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191310
+ $s = -1; return;
191311
+ /* } */ case 12:
191312
+ /* */ if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { $s = 15; continue; }
191313
+ /* */ $s = 16; continue;
191314
+ /* if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { */ case 15:
191315
+ w.renderingInProgress = true;
191316
+ _r$3 = $clone(jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191317
+ renderPromise = $clone(_r$3, js.Value);
191318
+ _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191319
+ _tuple$1 = _r$4;
191320
+ renderResult = _tuple$1[0];
191321
+ err$1 = _tuple$1[1];
191322
+ w.renderingInProgress = false;
191323
+ /* */ if (!(err$1 === ptrType$3.nil)) { $s = 19; continue; }
191324
+ /* */ $s = 20; continue;
191325
+ /* if (!(err$1 === ptrType$3.nil)) { */ case 19:
191326
+ _r$5 = jshelper.GetError(err$1); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
191327
+ _arg$1 = _r$5;
191328
+ $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191329
+ $s = -1; return;
191330
+ /* } */ case 20:
191331
+ /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 23; continue; }
191332
+ /* */ $s = 24; continue;
191333
+ /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 23:
191334
+ $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191335
+ $s = -1; return;
191336
+ /* } */ case 24:
191337
+ /* } */ case 16:
191338
+ _r$6 = $clone(jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 26; case 26: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
191235
191339
  _r$6;
191236
191340
  $s = -1; return;
191237
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $deferred};return $f; } }
191341
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s};return $f;
191238
191342
  };
191239
191343
  windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
191240
191344
  windowImpl.ptr.prototype.Fill = function(dr, src, op) {
@@ -191383,7 +191487,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191383
191487
  ptrType$6.methods = [{prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}];
191384
191488
  ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$7], [screen.Window, $error], false)}];
191385
191489
  ptrType$9.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
191386
- windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "jsNaClDecoder", name: "jsNaClDecoder", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
191490
+ windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "renderingInProgress", name: "renderingInProgress", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
191387
191491
  screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
191388
191492
  BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
191389
191493
  $init = function() {
@@ -191391,15 +191495,16 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] =
191391
191495
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
191392
191496
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191393
191497
  $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191394
- $r = dom.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191395
- $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191396
- $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191397
- $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191398
- $r = color.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191399
- $r = draw.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191400
- $r = log.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191401
- $r = sync.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191402
- $r = js.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191498
+ $r = jsdecoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191499
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191500
+ $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191501
+ $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191502
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191503
+ $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191504
+ $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191505
+ $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191506
+ $r = sync.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191507
+ $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191403
191508
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191404
191509
  };
191405
191510
  $pkg.$init = $init;