From 3ed230e82243067c4ea905a15aeaf7c862a96e20 Mon Sep 17 00:00:00 2001 From: Alf Date: Fri, 18 Dec 2020 21:50:44 -0800 Subject: [PATCH] Calculate nb_frames for MKV using duration and fps. --- src/ffprobe-wasm-wrapper.cpp | 11 +++++------ www/package-lock.json | 2 +- www/package.json | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ffprobe-wasm-wrapper.cpp b/src/ffprobe-wasm-wrapper.cpp index 5e72047..054de73 100644 --- a/src/ffprobe-wasm-wrapper.cpp +++ b/src/ffprobe-wasm-wrapper.cpp @@ -178,15 +178,14 @@ FramesResponse get_frames(int offset) { if (video_stream_index == -1) { video_stream_index = i; nb_frames = pFormatContext->streams[i]->nb_frames; + + // Calculate the nb_frames for MKV/WebM if nb_frames is 0. + if (nb_frames == 0) { + nb_frames = (pFormatContext->duration / 1000000) * pFormatContext->streams[i]->avg_frame_rate.num; + } pCodec = pLocalCodec; pCodecParameters = pLocalCodecParameters; } - - printf("Video Codec: resolution %d x %d\n", - pLocalCodecParameters->width, pLocalCodecParameters->height); - } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d\n", - pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); } } diff --git a/www/package-lock.json b/www/package-lock.json index 601bedf..e28c85d 100644 --- a/www/package-lock.json +++ b/www/package-lock.json @@ -1,6 +1,6 @@ { "name": "ffprobe-wasm", - "version": "0.2.0", + "version": "0.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/www/package.json b/www/package.json index 3ddb6df..5048396 100644 --- a/www/package.json +++ b/www/package.json @@ -1,6 +1,6 @@ { "name": "ffprobe-wasm", - "version": "0.2.0", + "version": "0.2.1", "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build",