Skip to content

updates for gstreamer video player #311

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 55 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9a19121
updates for gstreamer video player
ardera Jan 23, 2023
d08518b
empty commit to retrigger CI
ardera Jan 24, 2023
03d6e3c
More `raw_std_...` API
ardera Jan 24, 2023
5f67c22
remove `ATTR_PURE` from `ATTR_MALLOC` method calls
ardera Jan 24, 2023
c494b1f
add platform channel unittests
ardera Jan 24, 2023
e7a8afe
rename platform channel test
ardera Jan 24, 2023
e2b9721
install git in CI jobs
ardera Jan 24, 2023
0757a23
install deps before checking out repo in CI jobs
ardera Jan 24, 2023
ea90199
use bash as shell for buster CI job
ardera Jan 25, 2023
931ae96
use cd for test command instead of `step.working-directory` option
ardera Jan 25, 2023
ec92df5
verbose ctest output
ardera Jan 25, 2023
488dfa6
less verbose ctest output
ardera Jan 25, 2023
ab7b7ec
use VLA for raw_std_string_equals test
ardera Jan 25, 2023
90ed09c
add more platform channel tests
ardera Jan 25, 2023
0c2f366
fix some tests, allow raw_std_value_get_size for float32 arrays
ardera Jan 26, 2023
604b644
add more message codec tests
ardera Jan 29, 2023
9aacdab
enable `-Wmissing-field-initializers` for gcc after 11.3
ardera Jan 30, 2023
b872c84
fix plugin registration
ardera Feb 7, 2023
526d80a
gstreamer updates
ardera Feb 9, 2023
81ed4dd
update unity
ardera Feb 9, 2023
a935dcf
add `--videomode` option
ardera Feb 9, 2023
ee73e93
check for gstreamer version
ardera Feb 9, 2023
88da964
differentiate plane uploading by gstreamer version
ardera Feb 9, 2023
2220f82
add support for tiled formats in frame uploading
ardera Feb 10, 2023
ee33a12
use new modesetting.c from feature/compositor-ng branch
ardera Feb 18, 2023
ed5760d
use custom is_drm_master function
ardera Feb 18, 2023
dca3acf
fix gstreamer <1.18 compilation
ardera Feb 18, 2023
e5be404
rework gl texture uploading
ardera Feb 23, 2023
90f0b14
further clean-up texture uploading code
ardera Feb 23, 2023
392c17b
fix for new gstreamer video formats
ardera Feb 23, 2023
6e83a79
implement drmdev_interface
ardera Feb 23, 2023
89f7851
make EGL context current before querying gl exts
ardera Feb 23, 2023
23b01f8
fix incorrect pixel format usage
ardera Feb 23, 2023
8686036
print out video format if not supported
ardera Feb 23, 2023
adea0ca
log supported egl formats in debug mode
ardera Feb 23, 2023
da4f39e
properly configure appsink caps
ardera Feb 23, 2023
09a3fb7
unset crtc scanout callback on failure
ardera Feb 23, 2023
8b32a6f
don't set O_NONBLOCK on drm fd
ardera Feb 23, 2023
9d226be
fix drm event handling
ardera Feb 23, 2023
4756502
fixes
ardera Feb 25, 2023
40bb677
fix memory offsets for uploading
ardera Feb 25, 2023
f543947
also test build using clang
ardera Feb 25, 2023
3b86f44
fix braces (clang warning)
ardera Feb 25, 2023
23771cb
add some more standard message codec tests
ardera Feb 27, 2023
8eb4ccd
don't differentiate between master and non-master DRM fd
ardera Feb 27, 2023
0174994
fix atomic request memory leak
ardera Feb 28, 2023
812b2d0
test `raw_std_map_get_first_key`
ardera Feb 28, 2023
66f705c
reimplement cursor support
ardera Mar 1, 2023
385f722
specify `prefer_cursor = false` for normal framebuffer planes
ardera Mar 1, 2023
8f27f03
fix warnings
ardera Mar 1, 2023
4eba2e5
fix build without gstreamer
ardera Mar 10, 2023
6718d0f
fix DPMS
ardera Mar 13, 2023
43e556e
specify CRTC_ID property
ardera Mar 13, 2023
0f2b57d
properly set MODE_ID
ardera Mar 13, 2023
4df6e22
fix some warnings
ardera Mar 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 53 additions & 30 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,31 +21,45 @@ jobs:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: [linux, bullseye]

steps:
- uses: actions/checkout@v2
strategy:
matrix:
compiler: [gcc, clang]

- name: Install dependencies
run: |
sudo apt-get install -y \
cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev \
ttf-mscorefonts-installer fontconfig libsystemd-dev libinput-dev libudev-dev \
libxkbcommon-dev ninja-build libgstreamer-plugins-base1.0-dev
steps:
- name: Install dependencies
run: |
sudo apt-get install -y \
git cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev \
ttf-mscorefonts-installer fontconfig libsystemd-dev libinput-dev libudev-dev \
libxkbcommon-dev ninja-build libgstreamer-plugins-base1.0-dev clang

- uses: actions/checkout@v3
with:
submodules: 'recursive'

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DBUILD_OMXPLAYER_VIDEO_PLAYER_PLUGIN=On -DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=On -DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=On -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -GNinja
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: |
cmake \
-B ${{github.workspace}}/build \
-DBUILD_OMXPLAYER_VIDEO_PLAYER_PLUGIN=On \
-DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=On \
-DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=On \
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-DENABLE_TESTS=On \
-DCMAKE_C_COMPILER=${{ matrix.compiler }} \
-GNinja

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Build
# Build your program with the given configuration
run: cmake --build ${{ github.workspace }}/build --config ${{ env.BUILD_TYPE}}

- name: Test
if: false
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}
- name: Test
working-directory: ${{ github.workspace }}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure

build-buster:
name: build (debian buster, x64)
Expand All @@ -54,35 +68,44 @@ jobs:
image: debian:buster
env:
DEBIAN_FRONTEND: noninteractive
defaults:
run:
shell: bash
strategy:
matrix:
compiler: [gcc, clang]
steps:
- uses: actions/checkout@v2

- name: Install dependencies
run: |
apt-get update && apt-get install -y \
cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev \
git cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev \
fonts-liberation fontconfig libsystemd-dev libinput-dev libudev-dev \
libxkbcommon-dev ninja-build libgstreamer-plugins-base1.0-dev
libxkbcommon-dev ninja-build libgstreamer-plugins-base1.0-dev clang

- uses: actions/checkout@v3
with:
submodules: 'recursive'

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: |
cmake \
-B ${{ github.workspace }}/build \
-B ./build \
-DBUILD_OMXPLAYER_VIDEO_PLAYER_PLUGIN=On \
-DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=On \
-DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=On \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_TESTS=On \
-DCMAKE_C_COMPILER=${{ matrix.compiler }} \
-GNinja

- name: Build
# Build your program with the given configuration
run: cmake --build ${{ github.workspace }}/build --config ${{ env.BUILD_TYPE }}
run: cmake --build ./build --config ${{ env.BUILD_TYPE }}

- name: Test
if: false
working-directory: ${{github.workspace}}/build
working-directory: build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}
run: ctest -C ${{ env.BUILD_TYPE }} --output-on-failure
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.vscode
.clang-format
build
/.vscode
/.clang-format
/build
/out
/CMakePresets.json
/cross-pi4-toolchain.cmake
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "third_party/backward-cpp"]
path = third_party/backward-cpp
url = https://github.com/bombela/backward-cpp.git
[submodule "third_party/Unity"]
path = third_party/Unity
url = https://github.com/ThrowTheSwitch/Unity
Loading