Skip to content

DeckLink: capture timecode #204

DeckLink: capture timecode

DeckLink: capture timecode #204

Workflow file for this run

name: dvrescue-gui
on: [push, pull_request]
jobs:
build-macos-brew:
strategy:
matrix:
compiler: ['clang-9']
include:
- compiler: clang-9
packages: llvm@13
env: { 'CC': 'clang', 'CXX': 'clang++', 'CXXFLAGS': '-DNS_FORMAT_ARGUMENT\(A\)= -fapplication-extension -std=c++17' }
runs-on: macos-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install dependencies
run: |
brew install ${{ matrix.packages }} pkg-config ffmpeg
- name: Install qwt-qt5
run: |
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/56cd02e96876d1fb5b9ae951d605585fe8d614de/Formula/qwt.rb
brew install ./qwt.rb
- name: Set Qt5 environment path
run: |
echo "/usr/local/opt/qt5/bin" >> $GITHUB_PATH
- name: Build dvrescue-gui
env:
USE_BREW: true
run: |
cd Source/GUI/dvrescue/
mkdir build
cd build
qmake ..
make CC=$CC CXX=$CXX CXXFLAGS="$CXXFLAGS" -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/build
ls
ls ./dvrescue
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
open ./dvrescue/dvrescue.app
build-macos-brew-Qt6:
strategy:
matrix:
compiler: ['clang-9']
include:
- compiler: clang-9
packages: llvm@9
env: { 'CC': 'clang-9', 'CXX': 'clang++-9' }
runs-on: macos-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install dependencies
run: |
brew install ${{ matrix.packages }} pkg-config ffmpeg
- name: Install Qt 6.2
uses: jurplel/install-qt-action@v3
with:
version: 6.2.0
modules: 'addons.qtmultimedia'
- name: Install qwt
run: |
brew install qwt
- name: Build dvrescue-gui
env:
USE_BREW: true
run: |
cd Source/GUI/dvrescue/
mkdir build
cd build
qmake ..
make -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/build
ls
ls ./dvrescue
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
open ./dvrescue/dvrescue.app
build-macos-no-brew:
strategy:
matrix:
compiler: ['clang-9']
include:
- compiler: clang-9
packages: llvm@13
env: { 'CC': 'clang', 'CXX': 'clang++', 'CXXFLAGS': '-DNS_FORMAT_ARGUMENT\(A\)= -fapplication-extension -std=c++17' }
runs-on: macos-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install dependencies
run: |
brew install ${{ matrix.packages }} nasm qt@5
- name: Set Qt5 environment path
run: |
echo "/usr/local/opt/qt5/bin" >> $GITHUB_PATH
- name: Build qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
qmake -r
make -j4
- name: Build FFmpeg
run: |
git clone --depth 1 --branch n4.4 https://github.com/FFmpeg/FFmpeg ../ffmpeg
cd ../ffmpeg
./configure --enable-gpl \
--enable-static \
--disable-shared \
--disable-autodetect \
--disable-securetransport \
--disable-videotoolbox \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-debug
make -j12
- name: Build dvrescue-gui
env:
USE_BREW: false
run: |
cd Source/GUI/dvrescue/
mkdir build
cd build
qmake ..
make CC=$CC CXX=$CXX CXXFLAGS="$CXXFLAGS" -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/build
ls
ls ./dvrescue
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
open ./dvrescue/dvrescue.app
build-macos-no-brew-Qt6:
strategy:
matrix:
compiler: ['clang-9']
include:
- compiler: clang-9
packages: llvm@9
env: { 'CC': 'clang-9', 'CXX': 'clang++-9' }
runs-on: macos-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install dependencies
run: |
brew install ${{ matrix.packages }} nasm
- name: Install Qt 6.2
uses: jurplel/install-qt-action@v3
with:
version: 6.2.0
modules: 'addons.qtmultimedia'
- name: Build qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
qmake -r
make -j4
- name: Build FFmpeg
run: |
git clone --depth 1 --branch n4.4 https://github.com/FFmpeg/FFmpeg ../ffmpeg
cd ../ffmpeg
./configure --enable-gpl \
--enable-static \
--disable-shared \
--disable-autodetect \
--disable-securetransport \
--disable-videotoolbox \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-debug
make -j12
- name: Build dvrescue-gui
env:
USE_BREW: false
run: |
cd Source/GUI/dvrescue/
mkdir build
cd build
qmake ..
make -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/build
ls
ls ./dvrescue
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
open ./dvrescue/dvrescue.app
build-linux:
strategy:
matrix:
compiler: ['gcc-11']
include:
- compiler: gcc-11
packages: gcc-11 g++-11
env: { 'CC': 'gcc-11', 'CXX': 'g++-11' }
runs-on: ubuntu-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install Python 3.7 version
uses: actions/setup-python@v1
with:
python-version: '3.7'
architecture: 'x64'
- name: Install compiler and FFmpeg dependencies
run: |
sudo apt-get update &&
sudo apt-get install -y ${{ matrix.packages }} \
libunwind-dev \
libfreetype-dev \
libavcodec-dev \
libavformat-dev \
libavdevice-dev \
libegl1-mesa-dev \
libglew-dev \
libxv-dev \
libraw1394-dev \
libavc1394-dev \
libiec61883-dev
- name: Install Qt 5.15
uses: jurplel/install-qt-action@v3
with:
version: 5.15.2
- name: Cleanup
run: |
sudo apt-get clean -y
sudo rm -rf /var/lib/apt/lists/*
- name: Build qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
qmake -r
make -j4
- name: Build dvrescue-gui
run: |
cd Source/GUI/dvrescue/
qmake
make -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/dvrescue --platform minimal > /dev/null 2>&1 &
sleep 1
pidof dvrescue
build-linux-Qt6:
strategy:
matrix:
compiler: ['gcc-11']
include:
- compiler: gcc-11
packages: gcc-11 g++-11
env: { 'CC': 'gcc-11', 'CXX': 'g++-11' }
runs-on: ubuntu-latest
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install Python 3.7 version
uses: actions/setup-python@v1
with:
python-version: '3.7'
architecture: 'x64'
- name: Install compiler and FFmpeg dependencies
run: |
sudo apt-get update &&
sudo apt-get install -y ${{ matrix.packages }} \
libunwind-dev \
libfreetype-dev \
libgstreamer-plugins-base1.0-dev \
libavcodec-dev \
libavformat-dev \
libavdevice-dev \
libegl1-mesa-dev \
libglew-dev \
libxkbcommon-dev \
libxv-dev
- name: Install Qt 6.2
uses: jurplel/install-qt-action@v3
with:
version: 6.2.0
modules: 'addons.qtmultimedia qt5compat'
- name: Cleanup
run: |
sudo apt-get clean -y
sudo rm -rf /var/lib/apt/lists/*
- name: Build qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
qmake -r
make -j4
- name: Build dvrescue-gui
run: |
cd Source/GUI/dvrescue/
qmake
make -j4
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/dvrescue --platform minimal > /dev/null 2>&1 &
sleep 1
pidof dvrescue
build-windows-mingw:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install Qt 5.15
uses: jurplel/install-qt-action@v3
with:
arch: win64_mingw81
version: 5.15.2
- name: Install wget & unzip
run: |
choco install wget unzip xidel
- name: Install FFmpeg
shell: cmd
run: |
cd ..
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "//a[contains(@href, '-gpl-shared.zip')]/@href[1]" --silent > ffmpeg.url
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "(//a[contains(@href, '-gpl-shared.zip')])[1]/substring(., 0, string-length(.) - 3)" --silent > ffmpeg.name
set /P FFMPEG_URL=< ffmpeg.url
set /P FFMPEG_NAME=< ffmpeg.name
wget https://github.com%FFMPEG_URL%
unzip %FFMPEG_NAME%.zip
ren %FFMPEG_NAME% ffmpeg
dir ffmpeg
- name: Download and configure qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
copy .github\workflows\qwtconfig.pri ..\qwt
cd ../qwt
qmake -r
- name: Build qwt
shell: cmd
run: |
cd ../qwt
mingw32-make -j4
- name: Configure dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
qmake
# - name: Start SSH session
# uses: luchihoratiu/debug-via-ssh@main
# with:
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
# SSH_PASS: ${{ secrets.SSH_PASS }}
- name: Build dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
mingw32-make
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/release/dvrescue
build-windows-mingw-Qt6:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Install Qt 6.2
uses: jurplel/install-qt-action@v3
with:
arch: win64_mingw81
version: 6.2.0
modules: 'addons.qtmultimedia'
- name: Install wget & unzip
run: |
choco install wget unzip xidel
- name: Install FFmpeg
shell: cmd
run: |
cd ..
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "//a[contains(@href, '-gpl-shared.zip')]/@href[1]" --silent > ffmpeg.url
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "(//a[contains(@href, '-gpl-shared.zip')])[1]/substring(., 0, string-length(.) - 3)" --silent > ffmpeg.name
set /P FFMPEG_URL=< ffmpeg.url
set /P FFMPEG_NAME=< ffmpeg.name
wget https://github.com%FFMPEG_URL%
unzip %FFMPEG_NAME%.zip
ren %FFMPEG_NAME% ffmpeg
dir ffmpeg
- name: Download and configure qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
copy .github\workflows\qwtconfig.pri ..\qwt
cd ../qwt
qmake -r
- name: Build qwt
shell: cmd
run: |
cd ../qwt
mingw32-make -j4
- name: Configure dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
qmake
# - name: Start SSH session
# uses: luchihoratiu/debug-via-ssh@main
# with:
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
# SSH_PASS: ${{ secrets.SSH_PASS }}
- name: Build dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
mingw32-make
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/release/dvrescue
build-windows-vs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Init vs environment
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Build and install zlib
shell: cmd
run: |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev
cd ../zlib-dev
mkdir build
cd build
cmake -G "NMake Makefiles" ^
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^
-DBUILD_SHARED_LIBS=0 ^
-DCMAKE_BUILD_TYPE=Release ^
..
nmake install
- name: Install Qt 5.15
uses: jurplel/install-qt-action@v3
with:
version: 5.15.2
- name: Install wget & unzip
run: |
choco install wget unzip xidel
- name: Install FFmpeg
shell: cmd
run: |
cd ..
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "//a[contains(@href, '-gpl-shared.zip')]/@href[1]" --silent > ffmpeg.url
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "(//a[contains(@href, '-gpl-shared.zip')])[1]/substring(., 0, string-length(.) - 3)" --silent > ffmpeg.name
set /P FFMPEG_URL=< ffmpeg.url
set /P FFMPEG_NAME=< ffmpeg.name
wget https://github.com%FFMPEG_URL%
unzip %FFMPEG_NAME%.zip
ren %FFMPEG_NAME% ffmpeg
dir ffmpeg
- name: Download and configure qwt
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
qmake -r
- name: Build qwt
shell: cmd
run: |
cd ../qwt
nmake
- name: Configure dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
qmake
- name: Build dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
nmake
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/release/dvrescue
build-windows-vs-Qt6:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch: 1
- name: Checkout submodules
shell: bash
run: |
GIT_PATH=https://github.com/.extraheader
AUTH_HEADER="$(git config --local --get http.$GIT_PATH)"
git submodule sync --recursive
git -c "http.extraheader=$AUTH_HEADER" \
-c protocol.version=2 \
submodule update --init --force --recursive --depth=1
- name: Init vs environment
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Build and install zlib
shell: cmd
run: |
git clone --depth 1 https://github.com/madler/zlib ../zlib-dev
cd ../zlib-dev
mkdir build
cd build
cmake -G "NMake Makefiles" ^
-DCMAKE_INSTALL_PREFIX="%GITHUB_WORKSPACE%\..\zlib" ^
-DBUILD_SHARED_LIBS=0 ^
-DCMAKE_BUILD_TYPE=Release ^
..
nmake install
- name: Install Qt 6.2
uses: jurplel/install-qt-action@v3
with:
version: 6.2.0
modules: 'addons.qtmultimedia'
- name: Install wget & unzip
run: |
choco install wget unzip xidel
- name: Install FFmpeg
shell: cmd
run: |
cd ..
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "//a[contains(@href, '-gpl-shared.zip')]/@href[1]" --silent > ffmpeg.url
xidel https://github.com/BtbN/FFmpeg-Builds/releases -e "(//a[contains(@href, '-gpl-shared.zip')])[1]/substring(., 0, string-length(.) - 3)" --silent > ffmpeg.name
set /P FFMPEG_URL=< ffmpeg.url
set /P FFMPEG_NAME=< ffmpeg.name
wget https://github.com%FFMPEG_URL%
unzip %FFMPEG_NAME%.zip
ren %FFMPEG_NAME% ffmpeg
dir ffmpeg
- name: Download and configure qwt
shell: bash
run: |
git clone --branch qwt-6.2 --depth 1 https://git.code.sf.net/p/qwt/git ../qwt
cd ../qwt
sed -i -e 's/QWT_CONFIG += QwtTests//g' \
-e 's/QWT_CONFIG += QwtExamples//g' \
-e 's/QWT_CONFIG += QwtPlayground//g' qwtconfig.pri
qmake -r
- name: Build qwt
shell: cmd
run: |
cd ../qwt
nmake
- name: Configure dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
qmake
- name: Build dvrescue-gui
shell: cmd
run: |
cd Source/GUI/dvrescue/
nmake
- name: Launch dvrescue-gui
run: |
cd Source/GUI/dvrescue/
ls
ls ./dvrescue
./dvrescue/release/dvrescue