Skip to content

Commit

Permalink
Use AddGenericFrame() to set frame duration
Browse files Browse the repository at this point in the history
  • Loading branch information
surma committed Jan 9, 2019
1 parent 05e7b18 commit 924352c
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 12 deletions.
2 changes: 1 addition & 1 deletion dist/webm-transformstreamworker.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/webm-transformstreamworker.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/webm-wasm.js

Large diffs are not rendered by default.

Binary file modified dist/webm-wasm.wasm
Binary file not shown.
2 changes: 1 addition & 1 deletion dist/webm-worker.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/webm-worker.js.map

Large diffs are not rendered by default.

20 changes: 13 additions & 7 deletions src/webm-wasm.cpp
Expand Up @@ -140,13 +140,19 @@ bool WebmEncoder::EncodeFrame(vpx_image_t *img) {
}
auto frame_size = pkt->data.frame.sz;
auto is_keyframe = (pkt->data.frame.flags & VPX_FRAME_IS_KEY) != 0;
if(!main_segment->AddFrame(
(uint8_t*) pkt->data.frame.buf,
pkt->data.frame.sz,
1, /* track id */
pkt->data.frame.pts * 1000000000ULL * cfg.g_timebase.num/cfg.g_timebase.den,
is_keyframe
)) {
auto timebase = 1000000000ULL * cfg.g_timebase.num/cfg.g_timebase.den;
auto timestamp = pkt->data.frame.pts * timebase;

Frame frame;
if (!frame.Init((uint8_t*) pkt->data.frame.buf, pkt->data.frame.sz)) {
last_error = "Could not initialize frame container";
return false;
}
frame.set_track_number(1);
frame.set_timestamp(timestamp);
frame.set_is_key(is_keyframe);
frame.set_duration(timebase);
if(!main_segment->AddGenericFrame(&frame)) {
last_error = "Could not add frame";
return false;
}
Expand Down

0 comments on commit 924352c

Please sign in to comment.