diff --git a/helpers/DATA/ring/ffmpeg_time_base_frame.patch b/helpers/DATA/ring/ffmpeg_time_base_frame.patch new file mode 100644 index 0000000..831d128 --- /dev/null +++ b/helpers/DATA/ring/ffmpeg_time_base_frame.patch @@ -0,0 +1,27 @@ +From b7dd425660c420466d951f09e3c67e9d5f9eec90 Mon Sep 17 00:00:00 2001 +From: Aline Gondim Santos +Date: Wed, 5 Oct 2022 10:19:27 -0300 +Subject: [PATCH] misc: set frame time_base when decoding + +To properly get the time_base and framerate in the plugins, +we need to set the frame properties when decoding. + +GitLab: https://git.jami.net/savoirfairelinux/jami-plugins/-/issues/23 + +Change-Id: I69a2235c46b13a15414c4d01821cc1eba5b73987 +--- + src/media/media_decoder.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/daemon/src/media/media_decoder.cpp b/daemon/src/media/media_decoder.cpp +index 7cba58abe63..cd1698a5048 100644 +--- a/daemon/src/media/media_decoder.cpp ++++ b/daemon/src/media/media_decoder.cpp +@@ -644,6 +644,7 @@ MediaDecoder::decode(AVPacket& packet) + #endif + auto frame = f->pointer(); + ret = avcodec_receive_frame(decoderCtx_, frame); ++ frame->time_base = decoderCtx_->time_base; + if (resolutionChangedCallback_) { + if (decoderCtx_->width != width_ or decoderCtx_->height != height_) { + JAMI_DBG("Resolution changed from %dx%d to %dx%d", diff --git a/helpers/make-ring b/helpers/make-ring new file mode 100644 index 0000000..56d4439 --- /dev/null +++ b/helpers/make-ring @@ -0,0 +1,63 @@ +#!/bin/sh +# +# Copyright (C) 2023 Luis Guzman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +EXTERNAL='deb-src http://ftp.debian.org/debian unstable main' +REPOKEY=04EE7237B7D453EC +VERSION=2 + +. ./config + +# Disbale ppc64el arch +sed -i "/Architecture:/s|any|amd64 armhf arm64|g" debian/control + +# Add trisquel aramo's dependencies +sed -i "/# Qt client/i # trisquel's aramo dependencies" debian/control +for i in "libgl1-mesa-dev" \ + "libqt6opengl6-dev" \ + "libvulkan-dev" \ + "libxkbcommon-dev" +do + sed -i "/# Qt client/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $i," debian/control +done + + +# Add aramo's missing runtime dependencies +for i in "libqt6multimediaquick6" \ + "libqt6quickshapes6" \ + "libqt6quicktemplates2-6" \ + "libqt6webenginecore6-bin [amd64 armhf arm64]" \ + "qt6-qpa-plugins" +do + sed -i "/jami-daemon (=/i \ \ \ \ \ \ \ \ \ $i," debian/control +done + +# Remove not available qt libraries at Trisquel 11.0 +for i in qt6-5compat-dev \ + qml6-module-qtquick3d-spatialaudio +do + sed -i "/$i/d" debian/control +done + +# Removing ffmpeg time_base feature req. from jami so it builds +# against libavutil56 (ffmpeg 4.4). Can be removed on Trisquel 12 +patch -R -p1 < $DATA/ffmpeg_time_base_frame.patch + +changelog "Backport ring/jammi to aramo from debian testing" + +compile