GoogleChromeLabs / webm-wasm

webm-wasm lets you create webm videos in JavaScript via WebAssembly.
Apache License 2.0
395 stars 53 forks source link

Not building #32

Open anuragvohraec opened 2 years ago

anuragvohraec commented 2 years ago

Hi Team,

The source code seems to not build any more.

Steps followed:

git clone https://github.com/GoogleChromeLabs/webm-wasm.git
cd webm-wasm
npm install
npx napa

# Gives error
npm run build

Error while running npm run build:

Scanning dependencies of target webm2pes
[ 94%] Building CXX object CMakeFiles/webm2pes.dir/webm2pes.cc.o
In file included from /src/node_modules/libwebm/webm2pes.cc:8:
/src/node_modules/libwebm/webm2pes.h:34:22: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  PesHeaderField() = delete;
                     ^
/src/node_modules/libwebm/webm2pes.h:35:43: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  PesHeaderField(const PesHeaderField&) = default;
                                          ^
/src/node_modules/libwebm/webm2pes.h:36:32: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  PesHeaderField(PesHeaderField&&) = default;
                               ^
/src/node_modules/libwebm/webm2pes.h:36:38: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  PesHeaderField(PesHeaderField&&) = default;
                                     ^
/src/node_modules/libwebm/webm2pes.h:37:23: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  ~PesHeaderField() = default;
                      ^
/src/node_modules/libwebm/webm2pes.h:63:31: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField marker = PesHeaderField(2, 2, 0, 6);
                              ^
/src/node_modules/libwebm/webm2pes.h:66:35: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField scrambling = PesHeaderField(0, 2, 0, 4);
                                  ^
/src/node_modules/libwebm/webm2pes.h:69:33: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField priority = PesHeaderField(0, 1, 0, 3);
                                ^
/src/node_modules/libwebm/webm2pes.h:74:39: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField data_alignment = PesHeaderField(0, 1, 0, 2);
                                      ^
/src/node_modules/libwebm/webm2pes.h:77:34: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField copyright = PesHeaderField(0, 1, 0, 1);
                                 ^
/src/node_modules/libwebm/webm2pes.h:80:33: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField original = PesHeaderField(0, 1, 0, 0);
                                ^
/src/node_modules/libwebm/webm2pes.h:83:32: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField has_pts = PesHeaderField(1, 1, 1, 7);
                               ^
/src/node_modules/libwebm/webm2pes.h:86:32: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField has_dts = PesHeaderField(0, 1, 1, 6);
                               ^
/src/node_modules/libwebm/webm2pes.h:89:31: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField unused = PesHeaderField(0, 6, 1, 0);
                              ^
/src/node_modules/libwebm/webm2pes.h:92:39: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const PesHeaderField remaining_size = PesHeaderField(6, 8, 2, 0);
                                      ^
/src/node_modules/libwebm/webm2pes.h:103:22: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  PesHeaderField pts = PesHeaderField(0, 40, 3, 0);
                     ^
/src/node_modules/libwebm/webm2pes.h:105:32: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  PesHeaderField stuffing_byte = PesHeaderField(0xFF, 8, 8, 0);
                               ^
/src/node_modules/libwebm/webm2pes.h:108:17: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  bool fragment = false;
                ^
/src/node_modules/libwebm/webm2pes.h:127:18: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  BCMVHeader() = delete;
                 ^
/src/node_modules/libwebm/webm2pes.h:128:35: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  BCMVHeader(const BCMVHeader&) = delete;
                                  ^
/src/node_modules/libwebm/webm2pes.h:129:24: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  BCMVHeader(BCMVHeader&&) = delete;
                       ^
/src/node_modules/libwebm/webm2pes.h:129:30: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  BCMVHeader(BCMVHeader&&) = delete;
                             ^
/src/node_modules/libwebm/webm2pes.h:130:19: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  ~BCMVHeader() = default;
                  ^
/src/node_modules/libwebm/webm2pes.h:131:30: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const std::uint8_t bcmv[4] = {'B', 'C', 'M', 'V'};
                             ^
/src/node_modules/libwebm/webm2pes.h:141:36: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  const std::uint8_t start_code[4] = {
                                   ^
/src/node_modules/libwebm/webm2pes.h:146:31: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  std::uint16_t packet_length = 0;  // Number of bytes _after_ this field.
                              ^
/src/node_modules/libwebm/webm2pes.h:169:16: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  Webm2Pes() = delete;
               ^
/src/node_modules/libwebm/webm2pes.h:170:31: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  Webm2Pes(const Webm2Pes&) = delete;
                              ^
/src/node_modules/libwebm/webm2pes.h:171:20: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  Webm2Pes(Webm2Pes&&) = delete;
                   ^
/src/node_modules/libwebm/webm2pes.h:171:26: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  Webm2Pes(Webm2Pes&&) = delete;
                         ^
/src/node_modules/libwebm/webm2pes.h:172:17: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  ~Webm2Pes() = default;
                ^
/src/node_modules/libwebm/webm2pes.h:199:24: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  int video_track_num_ = 0;
                       ^
/src/node_modules/libwebm/webm2pes.h:205:32: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
  std::int64_t timecode_scale_ = 1000000;
                               ^
/src/node_modules/libwebm/webm2pes.cc:25:13: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
  Range() = delete;
            ^
/src/node_modules/libwebm/webm2pes.cc:26:25: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  Range(const Range&) = default;
                        ^
/src/node_modules/libwebm/webm2pes.cc:27:14: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  Range(Range&&) = default;
             ^
/src/node_modules/libwebm/webm2pes.cc:27:20: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  Range(Range&&) = default;
                   ^
/src/node_modules/libwebm/webm2pes.cc:28:14: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
  ~Range() = default;
             ^
/src/node_modules/libwebm/webm2pes.cc:105:33: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
  for (const Range& frame_range : frame_ranges) {
                                ^
/src/node_modules/libwebm/webm2pes.cc:465:33: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
  for (const Range& frame_range : frame_ranges) {
                                ^
/src/node_modules/libwebm/webm2pes.cc:469:35: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
  for (const Range& payload_range : packet_payload_ranges) {
                                  ^
/src/node_modules/libwebm/webm2pes.cc:478:42: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
  for (const Range& packet_payload_range : packet_payload_ranges) {
                                         ^
42 warnings generated.
[100%] Linking CXX executable webm2pes.js
[100%] Built target webm2pes
=============================================
Compiling libwebm done
=============================================
=============================================
Compiling wasm bindings
=============================================
mkdir: cannot create directory 'dist': File exists
=============================================
Compiling wasm bindings done
=============================================

> webm-wasm@0.4.1 build:bundle
> npm run build:bundle:worker && npm run build:bundle:transformstreamworker

> webm-wasm@0.4.1 build:bundle:worker
> microbundle build -f cjs -o dist/webm-worker.js src/worker/webm-worker.js

(flow-remove-types plugin) SyntaxError: Unexpected token, expected ( (3:25)

at undefined:3:25
SyntaxError: Unexpected token, expected ( (3:25)
    at Parser.pp$5.raise (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:4454:13)
    at Parser.pp.unexpected (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:1761:8)
    at Parser.pp$3.parseExprAtom (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3632:14)
    at Parser.parseExprAtom (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:7238:22)
    at Parser.pp$3.parseExprSubscripts (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3494:19)
    at Parser.pp$3.parseMaybeUnary (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3474:19)
    at Parser.pp$3.parseExprOps (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3404:19)
    at Parser.pp$3.parseMaybeConditional (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3381:19)
    at Parser.pp$3.parseMaybeAssign (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:3344:19)
    at Parser.parseMaybeAssign (/home/anurag/ws/video-processing-inbrowser/openSourceProjects/webm-wasm/node_modules/babylon/lib/index.js:6474:20)

Workspace specifications:

  1. LUBUNTU OS
  2. Docker version 19.03.6