@supraio/client-daemon-js 0.0.0-jvmaster.352 → 0.0.0-jvmaster.353

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.
@@ -192505,16 +192505,644 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
192505
192505
  $pkg.$init = $init;
192506
192506
  return $pkg;
192507
192507
  })();
192508
+ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
192509
+ var $pkg = {}, $init, fmt, image, strconv, NalHeader, BitReader, SPS, sliceType, sliceType$1, ptrType, sliceType$2, ptrType$1, ptrType$2, nalUnitTypes, ParseNalHeader, FindNalUnit, ParseSPS, GetImageResolution;
192510
+ fmt = $packages["fmt"];
192511
+ image = $packages["image"];
192512
+ strconv = $packages["strconv"];
192513
+ NalHeader = $pkg.NalHeader = $newType(0, $kindStruct, "x264.NalHeader", true, "github.com/supraio/client-daemon/pkg/x264", true, function(ByteValue_, BinaryRepresentation_, ForbiddenZeroBit_, NalRefIdc_, NalUnitType_, TypeDescription_) {
192514
+ this.$val = this;
192515
+ if (arguments.length === 0) {
192516
+ this.ByteValue = 0;
192517
+ this.BinaryRepresentation = "";
192518
+ this.ForbiddenZeroBit = 0;
192519
+ this.NalRefIdc = 0;
192520
+ this.NalUnitType = 0;
192521
+ this.TypeDescription = "";
192522
+ return;
192523
+ }
192524
+ this.ByteValue = ByteValue_;
192525
+ this.BinaryRepresentation = BinaryRepresentation_;
192526
+ this.ForbiddenZeroBit = ForbiddenZeroBit_;
192527
+ this.NalRefIdc = NalRefIdc_;
192528
+ this.NalUnitType = NalUnitType_;
192529
+ this.TypeDescription = TypeDescription_;
192530
+ });
192531
+ BitReader = $pkg.BitReader = $newType(0, $kindStruct, "x264.BitReader", true, "github.com/supraio/client-daemon/pkg/x264", true, function(data_, offset_) {
192532
+ this.$val = this;
192533
+ if (arguments.length === 0) {
192534
+ this.data = sliceType$1.nil;
192535
+ this.offset = 0;
192536
+ return;
192537
+ }
192538
+ this.data = data_;
192539
+ this.offset = offset_;
192540
+ });
192541
+ SPS = $pkg.SPS = $newType(0, $kindStruct, "x264.SPS", true, "github.com/supraio/client-daemon/pkg/x264", true, function(ProfileIdc_, ChromaFormatIdc_, SeparateColourPlaneFlag_, ChromaArrayType_, LevelIdc_, SeqParameterSetId_, Log2MaxFrameNumMinus4_, PicOrderCntType_, Log2MaxPicOrderCntLsbMinus4_, MaxNumRefFrames_, GapsInFrameNumValueAllowedFlag_, PicWidthInMbsMinus1_, PicHeightInMapUnitsMinus1_, FrameMbsOnlyFlag_, MbAdaptiveFrameFieldFlag_, Direct8x8InterfaceFlag_, FrameCroppingFlag_, FrameCropLeftOffset_, FrameCropRightOffset_, FrameCropTopOffset_, FrameCropBottomOffset_) {
192542
+ this.$val = this;
192543
+ if (arguments.length === 0) {
192544
+ this.ProfileIdc = 0;
192545
+ this.ChromaFormatIdc = 0;
192546
+ this.SeparateColourPlaneFlag = 0;
192547
+ this.ChromaArrayType = 0;
192548
+ this.LevelIdc = 0;
192549
+ this.SeqParameterSetId = 0;
192550
+ this.Log2MaxFrameNumMinus4 = 0;
192551
+ this.PicOrderCntType = 0;
192552
+ this.Log2MaxPicOrderCntLsbMinus4 = 0;
192553
+ this.MaxNumRefFrames = 0;
192554
+ this.GapsInFrameNumValueAllowedFlag = 0;
192555
+ this.PicWidthInMbsMinus1 = 0;
192556
+ this.PicHeightInMapUnitsMinus1 = 0;
192557
+ this.FrameMbsOnlyFlag = 0;
192558
+ this.MbAdaptiveFrameFieldFlag = 0;
192559
+ this.Direct8x8InterfaceFlag = 0;
192560
+ this.FrameCroppingFlag = 0;
192561
+ this.FrameCropLeftOffset = 0;
192562
+ this.FrameCropRightOffset = 0;
192563
+ this.FrameCropTopOffset = 0;
192564
+ this.FrameCropBottomOffset = 0;
192565
+ return;
192566
+ }
192567
+ this.ProfileIdc = ProfileIdc_;
192568
+ this.ChromaFormatIdc = ChromaFormatIdc_;
192569
+ this.SeparateColourPlaneFlag = SeparateColourPlaneFlag_;
192570
+ this.ChromaArrayType = ChromaArrayType_;
192571
+ this.LevelIdc = LevelIdc_;
192572
+ this.SeqParameterSetId = SeqParameterSetId_;
192573
+ this.Log2MaxFrameNumMinus4 = Log2MaxFrameNumMinus4_;
192574
+ this.PicOrderCntType = PicOrderCntType_;
192575
+ this.Log2MaxPicOrderCntLsbMinus4 = Log2MaxPicOrderCntLsbMinus4_;
192576
+ this.MaxNumRefFrames = MaxNumRefFrames_;
192577
+ this.GapsInFrameNumValueAllowedFlag = GapsInFrameNumValueAllowedFlag_;
192578
+ this.PicWidthInMbsMinus1 = PicWidthInMbsMinus1_;
192579
+ this.PicHeightInMapUnitsMinus1 = PicHeightInMapUnitsMinus1_;
192580
+ this.FrameMbsOnlyFlag = FrameMbsOnlyFlag_;
192581
+ this.MbAdaptiveFrameFieldFlag = MbAdaptiveFrameFieldFlag_;
192582
+ this.Direct8x8InterfaceFlag = Direct8x8InterfaceFlag_;
192583
+ this.FrameCroppingFlag = FrameCroppingFlag_;
192584
+ this.FrameCropLeftOffset = FrameCropLeftOffset_;
192585
+ this.FrameCropRightOffset = FrameCropRightOffset_;
192586
+ this.FrameCropTopOffset = FrameCropTopOffset_;
192587
+ this.FrameCropBottomOffset = FrameCropBottomOffset_;
192588
+ });
192589
+ sliceType = $sliceType($emptyInterface);
192590
+ sliceType$1 = $sliceType($Uint8);
192591
+ ptrType = $ptrType(SPS);
192592
+ sliceType$2 = $sliceType($Uint32);
192593
+ ptrType$1 = $ptrType(image.Point);
192594
+ ptrType$2 = $ptrType(BitReader);
192595
+ ParseNalHeader = function(nalHeaderByte) {
192596
+ var {_entry, _r, _tuple, binaryRep, description, forbiddenZeroBit, nalHeaderByte, nalRefIdc, nalUnitType, ok, $s, $r, $c} = $restore(this, {nalHeaderByte});
192597
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192598
+ forbiddenZeroBit = (((nalHeaderByte >>> 7 << 24 >>> 24)) & 1) >>> 0;
192599
+ nalRefIdc = (((nalHeaderByte >>> 5 << 24 >>> 24)) & 3) >>> 0;
192600
+ nalUnitType = (nalHeaderByte & 31) >>> 0;
192601
+ _tuple = (_entry = $mapIndex(nalUnitTypes,$Uint8.keyFor(nalUnitType)), _entry !== undefined ? [_entry.v, true] : ["", false]);
192602
+ description = _tuple[0];
192603
+ ok = _tuple[1];
192604
+ /* */ if (!ok) { $s = 1; continue; }
192605
+ /* */ $s = 2; continue;
192606
+ /* if (!ok) { */ case 1:
192607
+ _r = fmt.Sprintf("Type %d (Reserved/Other)", new sliceType([new $Uint8(nalUnitType)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192608
+ description = _r;
192609
+ /* } */ case 2:
192610
+ binaryRep = strconv.FormatInt((new $Int64(0, nalHeaderByte)), 2);
192611
+ while (true) {
192612
+ if (!(binaryRep.length < 8)) { break; }
192613
+ binaryRep = "0" + binaryRep;
192614
+ }
192615
+ $s = -1; return new NalHeader.ptr(nalHeaderByte, binaryRep, forbiddenZeroBit, nalRefIdc, nalUnitType, description);
192616
+ /* */ } return; } var $f = {$blk: ParseNalHeader, $c: true, $r, _entry, _r, _tuple, binaryRep, description, forbiddenZeroBit, nalHeaderByte, nalRefIdc, nalUnitType, ok, $s};return $f;
192617
+ };
192618
+ $pkg.ParseNalHeader = ParseNalHeader;
192619
+ FindNalUnit = function(data) {
192620
+ var {$24r, $24r$1, _r, _r$1, data, i, startCode, x, x$1, $s, $r, $c} = $restore(this, {data});
192621
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192622
+ startCode = new sliceType$1([0, 0, 1]);
192623
+ /* */ if (data.$length < 3) { $s = 1; continue; }
192624
+ /* */ $s = 2; continue;
192625
+ /* if (data.$length < 3) { */ case 1:
192626
+ _r = fmt.Errorf("Data too short to contain NAL unit start code.", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192627
+ $24r = [sliceType$1.nil, _r];
192628
+ $s = 4; case 4: return $24r;
192629
+ /* } */ case 2:
192630
+ i = 0;
192631
+ while (true) {
192632
+ if (!(i <= (data.$length - startCode.$length >> 0))) { break; }
192633
+ if ((((i < 0 || i >= data.$length) ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + i]) === (0 >= startCode.$length ? ($throwRuntimeError("index out of range"), undefined) : startCode.$array[startCode.$offset + 0])) && ((x = i + 1 >> 0, ((x < 0 || x >= data.$length) ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + x])) === (1 >= startCode.$length ? ($throwRuntimeError("index out of range"), undefined) : startCode.$array[startCode.$offset + 1])) && ((x$1 = i + 2 >> 0, ((x$1 < 0 || x$1 >= data.$length) ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + x$1])) === (2 >= startCode.$length ? ($throwRuntimeError("index out of range"), undefined) : startCode.$array[startCode.$offset + 2]))) {
192634
+ $s = -1; return [$subslice(data, (i + 3 >> 0)), $ifaceNil];
192635
+ }
192636
+ i = i + (1) >> 0;
192637
+ }
192638
+ _r$1 = fmt.Errorf("NAL unit start code (0x00 0x00 0x01) not found", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
192639
+ $24r$1 = [sliceType$1.nil, _r$1];
192640
+ $s = 6; case 6: return $24r$1;
192641
+ /* */ } return; } var $f = {$blk: FindNalUnit, $c: true, $r, $24r, $24r$1, _r, _r$1, data, i, startCode, x, x$1, $s};return $f;
192642
+ };
192643
+ $pkg.FindNalUnit = FindNalUnit;
192644
+ BitReader.ptr.prototype.readBits = function(n) {
192645
+ var {$24r, $24r$1, _q, _r, _r$1, _r$2, bit, bitIndex, byteIndex, i, n, r, value, x, y, $s, $r, $c} = $restore(this, {n});
192646
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192647
+ r = this;
192648
+ /* */ if (n > 32) { $s = 1; continue; }
192649
+ /* */ $s = 2; continue;
192650
+ /* if (n > 32) { */ case 1:
192651
+ _r = fmt.Errorf("readBits: cannot read more than 32 bits at once", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192652
+ $24r = [0, _r];
192653
+ $s = 4; case 4: return $24r;
192654
+ /* } */ case 2:
192655
+ value = 0;
192656
+ i = 0;
192657
+ /* while (true) { */ case 5:
192658
+ /* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 6; continue; }
192659
+ byteIndex = (_q = r.offset / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"));
192660
+ bitIndex = 7 - ((_r$1 = r.offset % 8, _r$1 === _r$1 ? _r$1 : $throwRuntimeError("integer divide by zero"))) >> 0;
192661
+ /* */ if (byteIndex >= r.data.$length) { $s = 7; continue; }
192662
+ /* */ $s = 8; continue;
192663
+ /* if (byteIndex >= r.data.$length) { */ case 7:
192664
+ _r$2 = fmt.Errorf("readBits: unexpected end of data", sliceType.nil); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192665
+ $24r$1 = [0, _r$2];
192666
+ $s = 10; case 10: return $24r$1;
192667
+ /* } */ case 8:
192668
+ bit = ((((y = bitIndex, y < 32 ? ((x = r.data, ((byteIndex < 0 || byteIndex >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + byteIndex])) >>> y) : 0) << 24 >>> 24)) & 1) >>> 0;
192669
+ value = (((value << 1 >>> 0)) | ((bit >>> 0))) >>> 0;
192670
+ r.offset = r.offset + (1) >> 0;
192671
+ i = i + (1) >> 0;
192672
+ $s = 5; continue;
192673
+ case 6:
192674
+ $s = -1; return [value, $ifaceNil];
192675
+ /* */ } return; } var $f = {$blk: BitReader.ptr.prototype.readBits, $c: true, $r, $24r, $24r$1, _q, _r, _r$1, _r$2, bit, bitIndex, byteIndex, i, n, r, value, x, y, $s};return $f;
192676
+ };
192677
+ BitReader.prototype.readBits = function(n) { return this.$val.readBits(n); };
192678
+ BitReader.ptr.prototype.readUEV = function() {
192679
+ var {$24r, _r, _r$1, _r$2, _tuple, _tuple$1, bit, codeNum, err, err$1, leadingZeros, r, suffix, y, $s, $r, $c} = $restore(this, {});
192680
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192681
+ r = this;
192682
+ leadingZeros = 0;
192683
+ /* while (true) { */ case 1:
192684
+ _r = r.readBits(1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192685
+ _tuple = _r;
192686
+ bit = _tuple[0];
192687
+ err = _tuple[1];
192688
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
192689
+ $s = -1; return [0, err];
192690
+ }
192691
+ if (bit === 1) {
192692
+ /* break; */ $s = 2; continue;
192693
+ }
192694
+ leadingZeros = leadingZeros + (1) >> 0;
192695
+ /* */ if (leadingZeros > 31) { $s = 4; continue; }
192696
+ /* */ $s = 5; continue;
192697
+ /* if (leadingZeros > 31) { */ case 4:
192698
+ _r$1 = fmt.Errorf("readUEV: runaway code (too many leading zeros)", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
192699
+ $24r = [0, _r$1];
192700
+ $s = 7; case 7: return $24r;
192701
+ /* } */ case 5:
192702
+ $s = 1; continue;
192703
+ case 2:
192704
+ if (leadingZeros === 0) {
192705
+ $s = -1; return [0, $ifaceNil];
192706
+ }
192707
+ _r$2 = r.readBits(leadingZeros); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192708
+ _tuple$1 = _r$2;
192709
+ suffix = _tuple$1[0];
192710
+ err$1 = _tuple$1[1];
192711
+ if (!($interfaceIsEqual(err$1, $ifaceNil))) {
192712
+ $s = -1; return [0, err$1];
192713
+ }
192714
+ codeNum = ((((y = leadingZeros, y < 32 ? (1 << y) : 0) >>> 0)) - 1 >>> 0) + suffix >>> 0;
192715
+ $s = -1; return [codeNum, $ifaceNil];
192716
+ /* */ } return; } var $f = {$blk: BitReader.ptr.prototype.readUEV, $c: true, $r, $24r, _r, _r$1, _r$2, _tuple, _tuple$1, bit, codeNum, err, err$1, leadingZeros, r, suffix, y, $s};return $f;
192717
+ };
192718
+ BitReader.prototype.readUEV = function() { return this.$val.readUEV(); };
192719
+ ParseSPS = function(spsPayload) {
192720
+ var {$24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$18, $24r$19, $24r$2, $24r$20, $24r$21, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _i, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$30, _r$31, _r$32, _r$33, _r$34, _r$35, _r$36, _r$37, _r$38, _r$39, _r$4, _r$40, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$18, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, err, reader, sps, spsPayload, unimplementedIdcProfile, unimplementedIdcProfiles, val, $s, $r, $c} = $restore(this, {spsPayload});
192721
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192722
+ reader = new BitReader.ptr(spsPayload, 0);
192723
+ sps = new SPS.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
192724
+ val = 0;
192725
+ err = $ifaceNil;
192726
+ _r = reader.readBits(8); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192727
+ _tuple = _r;
192728
+ val = _tuple[0];
192729
+ err = _tuple[1];
192730
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
192731
+ /* */ $s = 3; continue;
192732
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
192733
+ _r$1 = fmt.Errorf("failed to read profile_idc: %w", new sliceType([err])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
192734
+ $24r = [ptrType.nil, _r$1];
192735
+ $s = 5; case 5: return $24r;
192736
+ /* } */ case 3:
192737
+ unimplementedIdcProfiles = new sliceType$2([100, 110, 122, 244, 44, 83, 86, 118, 128, 138, 139, 134, 135]);
192738
+ _ref = unimplementedIdcProfiles;
192739
+ _i = 0;
192740
+ /* while (true) { */ case 6:
192741
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 7; continue; }
192742
+ unimplementedIdcProfile = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
192743
+ /* */ if (val === unimplementedIdcProfile) { $s = 8; continue; }
192744
+ /* */ $s = 9; continue;
192745
+ /* if (val === unimplementedIdcProfile) { */ case 8:
192746
+ _r$2 = fmt.Errorf("SPS profile_idc %d is complex and skipped", new sliceType([new $Uint32(val)])); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192747
+ $24r$1 = [ptrType.nil, _r$2];
192748
+ $s = 11; case 11: return $24r$1;
192749
+ /* } */ case 9:
192750
+ _i++;
192751
+ $s = 6; continue;
192752
+ case 7:
192753
+ sps.ProfileIdc = ((val << 24 >>> 24));
192754
+ sps.ChromaFormatIdc = 1;
192755
+ sps.SeparateColourPlaneFlag = 0;
192756
+ sps.ChromaArrayType = 1;
192757
+ _r$3 = reader.readBits(8); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
192758
+ _tuple$1 = _r$3;
192759
+ err = _tuple$1[1];
192760
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 13; continue; }
192761
+ /* */ $s = 14; continue;
192762
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 13:
192763
+ _r$4 = fmt.Errorf("failed to read constraint flags: %w", new sliceType([err])); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
192764
+ $24r$2 = [ptrType.nil, _r$4];
192765
+ $s = 16; case 16: return $24r$2;
192766
+ /* } */ case 14:
192767
+ _r$5 = reader.readBits(8); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
192768
+ _tuple$2 = _r$5;
192769
+ val = _tuple$2[0];
192770
+ err = _tuple$2[1];
192771
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 18; continue; }
192772
+ /* */ $s = 19; continue;
192773
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 18:
192774
+ _r$6 = fmt.Errorf("failed to read level_idc: %w", new sliceType([err])); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
192775
+ $24r$3 = [ptrType.nil, _r$6];
192776
+ $s = 21; case 21: return $24r$3;
192777
+ /* } */ case 19:
192778
+ sps.LevelIdc = ((val << 24 >>> 24));
192779
+ _r$7 = reader.readUEV(); /* */ $s = 22; case 22: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
192780
+ _tuple$3 = _r$7;
192781
+ val = _tuple$3[0];
192782
+ err = _tuple$3[1];
192783
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 23; continue; }
192784
+ /* */ $s = 24; continue;
192785
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 23:
192786
+ _r$8 = fmt.Errorf("failed to read seq_parameter_set_id: %w", new sliceType([err])); /* */ $s = 25; case 25: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
192787
+ $24r$4 = [ptrType.nil, _r$8];
192788
+ $s = 26; case 26: return $24r$4;
192789
+ /* } */ case 24:
192790
+ sps.SeqParameterSetId = val;
192791
+ _r$9 = reader.readUEV(); /* */ $s = 27; case 27: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
192792
+ _tuple$4 = _r$9;
192793
+ val = _tuple$4[0];
192794
+ err = _tuple$4[1];
192795
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 28; continue; }
192796
+ /* */ $s = 29; continue;
192797
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 28:
192798
+ _r$10 = fmt.Errorf("failed to read log2_max_frame_num_minus4: %w", new sliceType([err])); /* */ $s = 30; case 30: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
192799
+ $24r$5 = [ptrType.nil, _r$10];
192800
+ $s = 31; case 31: return $24r$5;
192801
+ /* } */ case 29:
192802
+ sps.Log2MaxFrameNumMinus4 = val;
192803
+ _r$11 = reader.readUEV(); /* */ $s = 32; case 32: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
192804
+ _tuple$5 = _r$11;
192805
+ val = _tuple$5[0];
192806
+ err = _tuple$5[1];
192807
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 33; continue; }
192808
+ /* */ $s = 34; continue;
192809
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 33:
192810
+ _r$12 = fmt.Errorf("failed to read pic_order_cnt_type: %w", new sliceType([err])); /* */ $s = 35; case 35: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
192811
+ $24r$6 = [ptrType.nil, _r$12];
192812
+ $s = 36; case 36: return $24r$6;
192813
+ /* } */ case 34:
192814
+ sps.PicOrderCntType = val;
192815
+ /* */ if (sps.PicOrderCntType === 0) { $s = 37; continue; }
192816
+ /* */ if (sps.PicOrderCntType === 1) { $s = 38; continue; }
192817
+ /* */ $s = 39; continue;
192818
+ /* if (sps.PicOrderCntType === 0) { */ case 37:
192819
+ _r$13 = reader.readUEV(); /* */ $s = 40; case 40: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
192820
+ _tuple$6 = _r$13;
192821
+ val = _tuple$6[0];
192822
+ err = _tuple$6[1];
192823
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 41; continue; }
192824
+ /* */ $s = 42; continue;
192825
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 41:
192826
+ _r$14 = fmt.Errorf("failed to read log2_max_pic_order_cnt_lsb_minus4: %w", new sliceType([err])); /* */ $s = 43; case 43: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
192827
+ $24r$7 = [ptrType.nil, _r$14];
192828
+ $s = 44; case 44: return $24r$7;
192829
+ /* } */ case 42:
192830
+ sps.Log2MaxPicOrderCntLsbMinus4 = val;
192831
+ $s = 39; continue;
192832
+ /* } else if (sps.PicOrderCntType === 1) { */ case 38:
192833
+ _r$15 = fmt.Errorf("SPS pic_order_cnt_type 1 is complex and skipped", sliceType.nil); /* */ $s = 45; case 45: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
192834
+ $24r$8 = [ptrType.nil, _r$15];
192835
+ $s = 46; case 46: return $24r$8;
192836
+ /* } */ case 39:
192837
+ _r$16 = reader.readUEV(); /* */ $s = 47; case 47: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
192838
+ _tuple$7 = _r$16;
192839
+ val = _tuple$7[0];
192840
+ err = _tuple$7[1];
192841
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 48; continue; }
192842
+ /* */ $s = 49; continue;
192843
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 48:
192844
+ _r$17 = fmt.Errorf("failed to read max_num_ref_frames: %w", new sliceType([err])); /* */ $s = 50; case 50: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
192845
+ $24r$9 = [ptrType.nil, _r$17];
192846
+ $s = 51; case 51: return $24r$9;
192847
+ /* } */ case 49:
192848
+ sps.MaxNumRefFrames = val;
192849
+ _r$18 = reader.readBits(1); /* */ $s = 52; case 52: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
192850
+ _tuple$8 = _r$18;
192851
+ val = _tuple$8[0];
192852
+ err = _tuple$8[1];
192853
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 53; continue; }
192854
+ /* */ $s = 54; continue;
192855
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 53:
192856
+ _r$19 = fmt.Errorf("failed to read gaps_in_frame_num_value_allowed_flag: %w", new sliceType([err])); /* */ $s = 55; case 55: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }
192857
+ $24r$10 = [ptrType.nil, _r$19];
192858
+ $s = 56; case 56: return $24r$10;
192859
+ /* } */ case 54:
192860
+ sps.GapsInFrameNumValueAllowedFlag = val;
192861
+ _r$20 = reader.readUEV(); /* */ $s = 57; case 57: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }
192862
+ _tuple$9 = _r$20;
192863
+ val = _tuple$9[0];
192864
+ err = _tuple$9[1];
192865
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 58; continue; }
192866
+ /* */ $s = 59; continue;
192867
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 58:
192868
+ _r$21 = fmt.Errorf("failed to read pic_width_in_mbs_minus1: %w", new sliceType([err])); /* */ $s = 60; case 60: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }
192869
+ $24r$11 = [ptrType.nil, _r$21];
192870
+ $s = 61; case 61: return $24r$11;
192871
+ /* } */ case 59:
192872
+ sps.PicWidthInMbsMinus1 = val;
192873
+ _r$22 = reader.readUEV(); /* */ $s = 62; case 62: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }
192874
+ _tuple$10 = _r$22;
192875
+ val = _tuple$10[0];
192876
+ err = _tuple$10[1];
192877
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 63; continue; }
192878
+ /* */ $s = 64; continue;
192879
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 63:
192880
+ _r$23 = fmt.Errorf("failed to read pic_height_in_map_units_minus1: %w", new sliceType([err])); /* */ $s = 65; case 65: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }
192881
+ $24r$12 = [ptrType.nil, _r$23];
192882
+ $s = 66; case 66: return $24r$12;
192883
+ /* } */ case 64:
192884
+ sps.PicHeightInMapUnitsMinus1 = val;
192885
+ _r$24 = reader.readBits(1); /* */ $s = 67; case 67: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }
192886
+ _tuple$11 = _r$24;
192887
+ val = _tuple$11[0];
192888
+ err = _tuple$11[1];
192889
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 68; continue; }
192890
+ /* */ $s = 69; continue;
192891
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 68:
192892
+ _r$25 = fmt.Errorf("failed to read frame_mbs_only_flag: %w", new sliceType([err])); /* */ $s = 70; case 70: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }
192893
+ $24r$13 = [ptrType.nil, _r$25];
192894
+ $s = 71; case 71: return $24r$13;
192895
+ /* } */ case 69:
192896
+ sps.FrameMbsOnlyFlag = ((val >>> 0));
192897
+ /* */ if (sps.FrameMbsOnlyFlag === 0) { $s = 72; continue; }
192898
+ /* */ $s = 73; continue;
192899
+ /* if (sps.FrameMbsOnlyFlag === 0) { */ case 72:
192900
+ _r$26 = reader.readBits(1); /* */ $s = 74; case 74: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }
192901
+ _tuple$12 = _r$26;
192902
+ val = _tuple$12[0];
192903
+ err = _tuple$12[1];
192904
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 75; continue; }
192905
+ /* */ $s = 76; continue;
192906
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 75:
192907
+ _r$27 = fmt.Errorf("failed to read mb_adaptive_frame_field_flag: %w", new sliceType([err])); /* */ $s = 77; case 77: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }
192908
+ $24r$14 = [ptrType.nil, _r$27];
192909
+ $s = 78; case 78: return $24r$14;
192910
+ /* } */ case 76:
192911
+ sps.MbAdaptiveFrameFieldFlag = ((val >>> 0));
192912
+ /* } */ case 73:
192913
+ _r$28 = reader.readBits(1); /* */ $s = 79; case 79: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }
192914
+ _tuple$13 = _r$28;
192915
+ val = _tuple$13[0];
192916
+ err = _tuple$13[1];
192917
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 80; continue; }
192918
+ /* */ $s = 81; continue;
192919
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 80:
192920
+ _r$29 = fmt.Errorf("failed to read direct_8x8_interface_flag: %w", new sliceType([err])); /* */ $s = 82; case 82: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }
192921
+ $24r$15 = [ptrType.nil, _r$29];
192922
+ $s = 83; case 83: return $24r$15;
192923
+ /* } */ case 81:
192924
+ sps.Direct8x8InterfaceFlag = ((val >>> 0));
192925
+ /* */ if (sps.FrameMbsOnlyFlag === 0) { $s = 84; continue; }
192926
+ /* */ $s = 85; continue;
192927
+ /* if (sps.FrameMbsOnlyFlag === 0) { */ case 84:
192928
+ /* */ if (!((sps.Direct8x8InterfaceFlag === 1))) { $s = 86; continue; }
192929
+ /* */ $s = 87; continue;
192930
+ /* if (!((sps.Direct8x8InterfaceFlag === 1))) { */ case 86:
192931
+ _r$30 = fmt.Errorf("H.264 specification mismatch. frame_mbs_only_flag is equal to 0, but direct_8x8_inference_flag is not equal to 1.", sliceType.nil); /* */ $s = 88; case 88: if($c) { $c = false; _r$30 = _r$30.$blk(); } if (_r$30 && _r$30.$blk !== undefined) { break s; }
192932
+ $24r$16 = [ptrType.nil, _r$30];
192933
+ $s = 89; case 89: return $24r$16;
192934
+ /* } */ case 87:
192935
+ /* } */ case 85:
192936
+ _r$31 = reader.readBits(1); /* */ $s = 90; case 90: if($c) { $c = false; _r$31 = _r$31.$blk(); } if (_r$31 && _r$31.$blk !== undefined) { break s; }
192937
+ _tuple$14 = _r$31;
192938
+ val = _tuple$14[0];
192939
+ err = _tuple$14[1];
192940
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 91; continue; }
192941
+ /* */ $s = 92; continue;
192942
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 91:
192943
+ _r$32 = fmt.Errorf("failed to read frame_cropping_flag: %w", new sliceType([err])); /* */ $s = 93; case 93: if($c) { $c = false; _r$32 = _r$32.$blk(); } if (_r$32 && _r$32.$blk !== undefined) { break s; }
192944
+ $24r$17 = [ptrType.nil, _r$32];
192945
+ $s = 94; case 94: return $24r$17;
192946
+ /* } */ case 92:
192947
+ sps.FrameCroppingFlag = ((val >>> 0));
192948
+ /* */ if (sps.FrameCroppingFlag === 1) { $s = 95; continue; }
192949
+ /* */ $s = 96; continue;
192950
+ /* if (sps.FrameCroppingFlag === 1) { */ case 95:
192951
+ _r$33 = reader.readUEV(); /* */ $s = 97; case 97: if($c) { $c = false; _r$33 = _r$33.$blk(); } if (_r$33 && _r$33.$blk !== undefined) { break s; }
192952
+ _tuple$15 = _r$33;
192953
+ val = _tuple$15[0];
192954
+ err = _tuple$15[1];
192955
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 98; continue; }
192956
+ /* */ $s = 99; continue;
192957
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 98:
192958
+ _r$34 = fmt.Errorf("failed to read frame_crop_left_offset: %w", new sliceType([err])); /* */ $s = 100; case 100: if($c) { $c = false; _r$34 = _r$34.$blk(); } if (_r$34 && _r$34.$blk !== undefined) { break s; }
192959
+ $24r$18 = [ptrType.nil, _r$34];
192960
+ $s = 101; case 101: return $24r$18;
192961
+ /* } */ case 99:
192962
+ sps.FrameCropLeftOffset = val;
192963
+ _r$35 = reader.readUEV(); /* */ $s = 102; case 102: if($c) { $c = false; _r$35 = _r$35.$blk(); } if (_r$35 && _r$35.$blk !== undefined) { break s; }
192964
+ _tuple$16 = _r$35;
192965
+ val = _tuple$16[0];
192966
+ err = _tuple$16[1];
192967
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 103; continue; }
192968
+ /* */ $s = 104; continue;
192969
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 103:
192970
+ _r$36 = fmt.Errorf("failed to read frame_crop_right_offset: %w", new sliceType([err])); /* */ $s = 105; case 105: if($c) { $c = false; _r$36 = _r$36.$blk(); } if (_r$36 && _r$36.$blk !== undefined) { break s; }
192971
+ $24r$19 = [ptrType.nil, _r$36];
192972
+ $s = 106; case 106: return $24r$19;
192973
+ /* } */ case 104:
192974
+ sps.FrameCropRightOffset = val;
192975
+ _r$37 = reader.readUEV(); /* */ $s = 107; case 107: if($c) { $c = false; _r$37 = _r$37.$blk(); } if (_r$37 && _r$37.$blk !== undefined) { break s; }
192976
+ _tuple$17 = _r$37;
192977
+ val = _tuple$17[0];
192978
+ err = _tuple$17[1];
192979
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 108; continue; }
192980
+ /* */ $s = 109; continue;
192981
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 108:
192982
+ _r$38 = fmt.Errorf("failed to read frame_crop_top_offset: %w", new sliceType([err])); /* */ $s = 110; case 110: if($c) { $c = false; _r$38 = _r$38.$blk(); } if (_r$38 && _r$38.$blk !== undefined) { break s; }
192983
+ $24r$20 = [ptrType.nil, _r$38];
192984
+ $s = 111; case 111: return $24r$20;
192985
+ /* } */ case 109:
192986
+ sps.FrameCropTopOffset = val;
192987
+ _r$39 = reader.readUEV(); /* */ $s = 112; case 112: if($c) { $c = false; _r$39 = _r$39.$blk(); } if (_r$39 && _r$39.$blk !== undefined) { break s; }
192988
+ _tuple$18 = _r$39;
192989
+ val = _tuple$18[0];
192990
+ err = _tuple$18[1];
192991
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 113; continue; }
192992
+ /* */ $s = 114; continue;
192993
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 113:
192994
+ _r$40 = fmt.Errorf("failed to read frame_crop_bottom_offset: %w", new sliceType([err])); /* */ $s = 115; case 115: if($c) { $c = false; _r$40 = _r$40.$blk(); } if (_r$40 && _r$40.$blk !== undefined) { break s; }
192995
+ $24r$21 = [ptrType.nil, _r$40];
192996
+ $s = 116; case 116: return $24r$21;
192997
+ /* } */ case 114:
192998
+ sps.FrameCropBottomOffset = val;
192999
+ /* } */ case 96:
193000
+ $s = -1; return [sps, $ifaceNil];
193001
+ /* */ } return; } var $f = {$blk: ParseSPS, $c: true, $r, $24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$18, $24r$19, $24r$2, $24r$20, $24r$21, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _i, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$30, _r$31, _r$32, _r$33, _r$34, _r$35, _r$36, _r$37, _r$38, _r$39, _r$4, _r$40, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$18, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, err, reader, sps, spsPayload, unimplementedIdcProfile, unimplementedIdcProfiles, val, $s};return $f;
193002
+ };
193003
+ $pkg.ParseSPS = ParseSPS;
193004
+ GetImageResolution = function(nal) {
193005
+ var {$24r, $24r$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, _tuple$2, err, err$1, err$2, imageResolution, nal, nalHeaderByte, nalHeaderResult, nalUnit, spsPayload, spsResult, $s, $r, $c} = $restore(this, {nal});
193006
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
193007
+ _r = FindNalUnit(nal); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
193008
+ _tuple = _r;
193009
+ nalUnit = _tuple[0];
193010
+ err = _tuple[1];
193011
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
193012
+ $s = -1; return [ptrType$1.nil, err];
193013
+ }
193014
+ nalHeaderByte = (0 >= nalUnit.$length ? ($throwRuntimeError("index out of range"), undefined) : nalUnit.$array[nalUnit.$offset + 0]);
193015
+ spsPayload = $subslice(nalUnit, 1);
193016
+ _r$1 = ParseNalHeader(nalHeaderByte); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
193017
+ nalHeaderResult = $clone(_r$1, NalHeader);
193018
+ /* */ if (nalHeaderResult.NalUnitType === 7) { $s = 3; continue; }
193019
+ /* */ $s = 4; continue;
193020
+ /* if (nalHeaderResult.NalUnitType === 7) { */ case 3:
193021
+ _r$2 = ParseSPS(spsPayload); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
193022
+ _tuple$1 = _r$2;
193023
+ spsResult = _tuple$1[0];
193024
+ err$1 = _tuple$1[1];
193025
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 7; continue; }
193026
+ /* */ $s = 8; continue;
193027
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 7:
193028
+ _r$3 = fmt.Errorf("Error parsing SPS: %v", new sliceType([err$1])); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
193029
+ $24r = [ptrType$1.nil, _r$3];
193030
+ $s = 11; case 11: return $24r;
193031
+ /* } else { */ case 8:
193032
+ _r$4 = spsResult.ImageResolution(); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
193033
+ _tuple$2 = _r$4;
193034
+ imageResolution = _tuple$2[0];
193035
+ err$2 = _tuple$2[1];
193036
+ $s = -1; return [imageResolution, err$2];
193037
+ /* } */ case 9:
193038
+ $s = 5; continue;
193039
+ /* } else { */ case 4:
193040
+ _r$5 = fmt.Errorf("NAL unit type %d is not an SPS (7). Skipping SPS parsing.", new sliceType([new $Uint8(nalHeaderResult.NalUnitType)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
193041
+ $24r$1 = [ptrType$1.nil, _r$5];
193042
+ $s = 14; case 14: return $24r$1;
193043
+ /* } */ case 5:
193044
+ $s = -1; return [ptrType$1.nil, $ifaceNil];
193045
+ /* */ } return; } var $f = {$blk: GetImageResolution, $c: true, $r, $24r, $24r$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, _tuple$2, err, err$1, err$2, imageResolution, nal, nalHeaderByte, nalHeaderResult, nalUnit, spsPayload, spsResult, $s};return $f;
193046
+ };
193047
+ $pkg.GetImageResolution = GetImageResolution;
193048
+ SPS.ptr.prototype.ImageResolution = function() {
193049
+ var {$24r, CropUnitX, CropUnitY, CroppedHeight, CroppedWidth, FrameHeightInMbs, PicHeightInMapUnits, PicWidthInMbs, PicWidthInSamples, _r, _r$1, _tuple, err, sps, $s, $r, $c} = $restore(this, {});
193050
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
193051
+ sps = this;
193052
+ _r = sps.getCropUnits(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
193053
+ _tuple = _r;
193054
+ CropUnitX = _tuple[0];
193055
+ CropUnitY = _tuple[1];
193056
+ err = _tuple[2];
193057
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
193058
+ /* */ $s = 3; continue;
193059
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
193060
+ _r$1 = fmt.Errorf("Failed to calculate image resolution%w", new sliceType([err])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
193061
+ $24r = [ptrType$1.nil, _r$1];
193062
+ $s = 5; case 5: return $24r;
193063
+ /* } */ case 3:
193064
+ PicWidthInMbs = sps.PicWidthInMbsMinus1 + 1 >>> 0;
193065
+ PicWidthInSamples = $imul(PicWidthInMbs, 16) >>> 0;
193066
+ CroppedWidth = ((PicWidthInSamples >> 0)) - ($imul(CropUnitX, (((sps.FrameCropLeftOffset + sps.FrameCropRightOffset >>> 0) >> 0)))) >> 0;
193067
+ PicHeightInMapUnits = sps.PicHeightInMapUnitsMinus1 + 1 >>> 0;
193068
+ FrameHeightInMbs = $imul((((2 - sps.FrameMbsOnlyFlag >>> 0) >> 0)), ((PicHeightInMapUnits >> 0)));
193069
+ CroppedHeight = ($imul(16, FrameHeightInMbs)) - ($imul(CropUnitY, ((((sps.FrameCropTopOffset + sps.FrameCropBottomOffset >>> 0) >> 0))))) >> 0;
193070
+ $s = -1; return [new image.Point.ptr(CroppedWidth, CroppedHeight), $ifaceNil];
193071
+ /* */ } return; } var $f = {$blk: SPS.ptr.prototype.ImageResolution, $c: true, $r, $24r, CropUnitX, CropUnitY, CroppedHeight, CroppedWidth, FrameHeightInMbs, PicHeightInMapUnits, PicWidthInMbs, PicWidthInSamples, _r, _r$1, _tuple, err, sps, $s};return $f;
193072
+ };
193073
+ SPS.prototype.ImageResolution = function() { return this.$val.ImageResolution(); };
193074
+ SPS.ptr.prototype.getCropUnits = function() {
193075
+ var {$24r, CropUnitX, CropUnitY, SubHeightC, SubWidthC, _r, _r$1, _tuple, err, sps, $s, $r, $c} = $restore(this, {});
193076
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
193077
+ sps = this;
193078
+ /* */ if (sps.ChromaArrayType === 0) { $s = 1; continue; }
193079
+ /* */ if ((sps.ChromaArrayType === 1) || (sps.ChromaArrayType === 2) || (sps.ChromaArrayType === 3)) { $s = 2; continue; }
193080
+ /* */ $s = 3; continue;
193081
+ /* if (sps.ChromaArrayType === 0) { */ case 1:
193082
+ $s = -1; return [1, 2 - ((sps.FrameMbsOnlyFlag >> 0)) >> 0, $ifaceNil];
193083
+ /* } else if ((sps.ChromaArrayType === 1) || (sps.ChromaArrayType === 2) || (sps.ChromaArrayType === 3)) { */ case 2:
193084
+ _r = sps.GetSubWidthCAndSubHeightC(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
193085
+ _tuple = _r;
193086
+ SubWidthC = _tuple[0];
193087
+ SubHeightC = _tuple[1];
193088
+ err = _tuple[2];
193089
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
193090
+ $s = -1; return [0, 0, err];
193091
+ }
193092
+ CropUnitX = SubWidthC;
193093
+ CropUnitY = $imul(SubHeightC, ((2 - ((sps.FrameMbsOnlyFlag >> 0)) >> 0)));
193094
+ $s = -1; return [CropUnitX, CropUnitY, $ifaceNil];
193095
+ /* } else { */ case 3:
193096
+ _r$1 = fmt.Errorf("Unsupported ChromaArrayType %d. Skipping SPS parsing.", new sliceType([new $Uint(sps.ChromaArrayType)])); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
193097
+ $24r = [0, 0, _r$1];
193098
+ $s = 7; case 7: return $24r;
193099
+ /* } */ case 4:
193100
+ $s = -1; return [0, 0, $ifaceNil];
193101
+ /* */ } return; } var $f = {$blk: SPS.ptr.prototype.getCropUnits, $c: true, $r, $24r, CropUnitX, CropUnitY, SubHeightC, SubWidthC, _r, _r$1, _tuple, err, sps, $s};return $f;
193102
+ };
193103
+ SPS.prototype.getCropUnits = function() { return this.$val.getCropUnits(); };
193104
+ SPS.ptr.prototype.GetSubWidthCAndSubHeightC = function() {
193105
+ var {$24r, _r, sps, $s, $r, $c} = $restore(this, {});
193106
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
193107
+ sps = this;
193108
+ if ((sps.ChromaFormatIdc === 1) && (sps.SeparateColourPlaneFlag === 0)) {
193109
+ $s = -1; return [2, 2, $ifaceNil];
193110
+ }
193111
+ _r = fmt.Errorf("SubWidthC and SubHeightC for chroma_format_idc=%d separate_colour_plane_flag=%d not implemented.", new sliceType([new $Uint(sps.ChromaFormatIdc), new $Uint(sps.SeparateColourPlaneFlag)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
193112
+ $24r = [0, 0, _r];
193113
+ $s = 2; case 2: return $24r;
193114
+ /* */ } return; } var $f = {$blk: SPS.ptr.prototype.GetSubWidthCAndSubHeightC, $c: true, $r, $24r, _r, sps, $s};return $f;
193115
+ };
193116
+ SPS.prototype.GetSubWidthCAndSubHeightC = function() { return this.$val.GetSubWidthCAndSubHeightC(); };
193117
+ ptrType$2.methods = [{prop: "readBits", name: "readBits", pkg: "github.com/supraio/client-daemon/pkg/x264", typ: $funcType([$Int], [$Uint32, $error], false)}, {prop: "readUEV", name: "readUEV", pkg: "github.com/supraio/client-daemon/pkg/x264", typ: $funcType([], [$Uint32, $error], false)}];
193118
+ ptrType.methods = [{prop: "ImageResolution", name: "ImageResolution", pkg: "", typ: $funcType([], [ptrType$1, $error], false)}, {prop: "getCropUnits", name: "getCropUnits", pkg: "github.com/supraio/client-daemon/pkg/x264", typ: $funcType([], [$Int, $Int, $error], false)}, {prop: "GetSubWidthCAndSubHeightC", name: "GetSubWidthCAndSubHeightC", pkg: "", typ: $funcType([], [$Int, $Int, $error], false)}];
193119
+ NalHeader.init("", [{prop: "ByteValue", name: "ByteValue", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "BinaryRepresentation", name: "BinaryRepresentation", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ForbiddenZeroBit", name: "ForbiddenZeroBit", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "NalRefIdc", name: "NalRefIdc", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "NalUnitType", name: "NalUnitType", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "TypeDescription", name: "TypeDescription", embedded: false, exported: true, typ: $String, tag: ""}]);
193120
+ BitReader.init("github.com/supraio/client-daemon/pkg/x264", [{prop: "data", name: "data", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "offset", name: "offset", embedded: false, exported: false, typ: $Int, tag: ""}]);
193121
+ SPS.init("", [{prop: "ProfileIdc", name: "ProfileIdc", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "ChromaFormatIdc", name: "ChromaFormatIdc", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "SeparateColourPlaneFlag", name: "SeparateColourPlaneFlag", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "ChromaArrayType", name: "ChromaArrayType", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "LevelIdc", name: "LevelIdc", embedded: false, exported: true, typ: $Uint8, tag: ""}, {prop: "SeqParameterSetId", name: "SeqParameterSetId", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "Log2MaxFrameNumMinus4", name: "Log2MaxFrameNumMinus4", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "PicOrderCntType", name: "PicOrderCntType", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "Log2MaxPicOrderCntLsbMinus4", name: "Log2MaxPicOrderCntLsbMinus4", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "MaxNumRefFrames", name: "MaxNumRefFrames", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "GapsInFrameNumValueAllowedFlag", name: "GapsInFrameNumValueAllowedFlag", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "PicWidthInMbsMinus1", name: "PicWidthInMbsMinus1", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "PicHeightInMapUnitsMinus1", name: "PicHeightInMapUnitsMinus1", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "FrameMbsOnlyFlag", name: "FrameMbsOnlyFlag", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "MbAdaptiveFrameFieldFlag", name: "MbAdaptiveFrameFieldFlag", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "Direct8x8InterfaceFlag", name: "Direct8x8InterfaceFlag", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "FrameCroppingFlag", name: "FrameCroppingFlag", embedded: false, exported: true, typ: $Uint, tag: ""}, {prop: "FrameCropLeftOffset", name: "FrameCropLeftOffset", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "FrameCropRightOffset", name: "FrameCropRightOffset", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "FrameCropTopOffset", name: "FrameCropTopOffset", embedded: false, exported: true, typ: $Uint32, tag: ""}, {prop: "FrameCropBottomOffset", name: "FrameCropBottomOffset", embedded: false, exported: true, typ: $Uint32, tag: ""}]);
193122
+ $init = function() {
193123
+ $pkg.$init = function() {};
193124
+ /* */ 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:
193125
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193126
+ $r = image.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193127
+ $r = strconv.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193128
+ nalUnitTypes = $makeMap($Uint8.keyFor, [{ k: 5, v: "Coded slice of an IDR picture (IDR Slice)" }, { k: 7, v: "Sequence parameter set (SPS)" }, { k: 8, v: "Picture parameter set (PPS)" }]);
193129
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
193130
+ };
193131
+ $pkg.$init = $init;
193132
+ return $pkg;
193133
+ })();
192508
193134
  $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
192509
- var $pkg = {}, $init, decoder, errs, frame, netframe, screenbuffer, stats, screen, image, time, RenderingLoop, DecodeResultProvider, DecodeResult, DecoderLoop, FrameProvider, CollectionLoop, ptrType, sliceType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, funcType, ptrType$6, chanType, chanType$1, ptrType$7, NewRenderingLoop, NewDecoderLoop, NewCollectionLoop;
193135
+ var $pkg = {}, $init, decoder, errs, frame, netframe, screenbuffer, stats, x264, screen, image, log, time, RenderingLoop, DecodeResultProvider, DecodeResult, DecoderLoop, FrameProvider, CollectionLoop, ptrType, sliceType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, funcType, ptrType$6, chanType, chanType$1, ptrType$7, NewRenderingLoop, NewDecoderLoop, NewCollectionLoop;
192510
193136
  decoder = $packages["github.com/supraio/client-daemon/pkg/decoder"];
192511
193137
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
192512
193138
  frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
192513
193139
  netframe = $packages["github.com/supraio/client-daemon/pkg/render/netframe"];
192514
193140
  screenbuffer = $packages["github.com/supraio/client-daemon/pkg/render/screenbuffer"];
192515
193141
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
193142
+ x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
192516
193143
  screen = $packages["golang.org/x/exp/shiny/screen"];
192517
193144
  image = $packages["image"];
193145
+ log = $packages["log"];
192518
193146
  time = $packages["time"];
192519
193147
  RenderingLoop = $pkg.RenderingLoop = $newType(0, $kindStruct, "player.RenderingLoop", true, "github.com/supraio/client-daemon/pkg/render/player", true, function(decodeResultProvider_, window_, stats_, started_, renderingInProgress_) {
192520
193148
  this.$val = this;
@@ -192770,7 +193398,7 @@ $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
192770
193398
  };
192771
193399
  DecoderLoop.prototype.Stop = function() { return this.$val.Stop(); };
192772
193400
  DecoderLoop.ptr.prototype.writeFrame = function() {
192773
- var {$24r, $24r$1, $24r$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, decoder$1, dl, err, frame$1, $s, $r, $c} = $restore(this, {});
193401
+ var {$24r, $24r$1, $24r$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, decoder$1, dl, err, frame$1, frameResolution, $s, $r, $c} = $restore(this, {});
192774
193402
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192775
193403
  dl = this;
192776
193404
  _r = dl.frameProvider.NextFrame(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
@@ -192784,31 +193412,43 @@ $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
192784
193412
  $24r = _r$1;
192785
193413
  $s = 5; case 5: return $24r;
192786
193414
  /* } */ case 3:
192787
- _r$2 = dl.ensureDecoder(frame$1); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
193415
+ _r$2 = x264.GetImageResolution(frame$1.Buffer()); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192788
193416
  _tuple$1 = _r$2;
192789
- decoder$1 = _tuple$1[0];
193417
+ frameResolution = _tuple$1[0];
192790
193418
  err = _tuple$1[1];
192791
193419
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 7; continue; }
192792
193420
  /* */ $s = 8; continue;
192793
193421
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 7:
192794
- _r$3 = errs.Errorf("Decoder cannot be created: %s", new sliceType([err])); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
192795
- $24r$1 = _r$3;
192796
- $s = 10; case 10: return $24r$1;
192797
- /* } */ case 8:
192798
- $r = dl.stats.NotifyFrameDecodeWriteStarted(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192799
- _r$4 = decoder$1.Write(frame$1.Buffer()); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
192800
- err = _r$4;
192801
- $r = dl.stats.NotifyFrameDecodeWriteEnded(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192802
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 14; continue; }
192803
- /* */ $s = 15; continue;
192804
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 14:
192805
- _r$5 = errs.Errorf("Frame cannot be decoded: %s", new sliceType([err])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
192806
- $24r$2 = _r$5;
192807
- $s = 17; case 17: return $24r$2;
192808
- /* } */ case 15:
192809
- $r = $send(dl.framesChan, frame$1); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193422
+ $r = log.Println(new sliceType([new $String("ASDF Frame "), new $Int($clone(frame$1.GetTimestamp(), time.Time).Nanosecond()), new $String("resolution"), err])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193423
+ $s = 9; continue;
193424
+ /* } else { */ case 8:
193425
+ $r = log.Println(new sliceType([new $String("ASDF Frame "), new $Int($clone(frame$1.GetTimestamp(), time.Time).Nanosecond()), new $String("resolution"), frameResolution])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193426
+ /* } */ case 9:
193427
+ _r$3 = dl.ensureDecoder(frame$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
193428
+ _tuple$2 = _r$3;
193429
+ decoder$1 = _tuple$2[0];
193430
+ err = _tuple$2[1];
193431
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 13; continue; }
193432
+ /* */ $s = 14; continue;
193433
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 13:
193434
+ _r$4 = errs.Errorf("Decoder cannot be created: %s", new sliceType([err])); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
193435
+ $24r$1 = _r$4;
193436
+ $s = 16; case 16: return $24r$1;
193437
+ /* } */ case 14:
193438
+ $r = dl.stats.NotifyFrameDecodeWriteStarted(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193439
+ _r$5 = decoder$1.Write(frame$1.Buffer()); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
193440
+ err = _r$5;
193441
+ $r = dl.stats.NotifyFrameDecodeWriteEnded(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193442
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 20; continue; }
193443
+ /* */ $s = 21; continue;
193444
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 20:
193445
+ _r$6 = errs.Errorf("Frame cannot be decoded: %s", new sliceType([err])); /* */ $s = 22; case 22: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
193446
+ $24r$2 = _r$6;
193447
+ $s = 23; case 23: return $24r$2;
193448
+ /* } */ case 21:
193449
+ $r = $send(dl.framesChan, frame$1); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192810
193450
  $s = -1; return $ifaceNil;
192811
- /* */ } return; } var $f = {$blk: DecoderLoop.ptr.prototype.writeFrame, $c: true, $r, $24r, $24r$1, $24r$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, decoder$1, dl, err, frame$1, $s};return $f;
193451
+ /* */ } return; } var $f = {$blk: DecoderLoop.ptr.prototype.writeFrame, $c: true, $r, $24r, $24r$1, $24r$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, decoder$1, dl, err, frame$1, frameResolution, $s};return $f;
192812
193452
  };
192813
193453
  DecoderLoop.prototype.writeFrame = function() { return this.$val.writeFrame(); };
192814
193454
  DecoderLoop.ptr.prototype.outputBuffer = function() {
@@ -192972,9 +193612,11 @@ $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
192972
193612
  $r = netframe.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192973
193613
  $r = screenbuffer.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192974
193614
  $r = stats.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192975
- $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192976
- $r = image.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192977
- $r = time.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193615
+ $r = x264.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193616
+ $r = screen.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193617
+ $r = image.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193618
+ $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193619
+ $r = time.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192978
193620
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
192979
193621
  };
192980
193622
  $pkg.$init = $init;