Skip to content

gstreamer: add jpeg plugins#14590

Open
ikalnytskyi wants to merge 1 commit into
mavlink:masterfrom
ikalnytskyi:feat/jpeg
Open

gstreamer: add jpeg plugins#14590
ikalnytskyi wants to merge 1 commit into
mavlink:masterfrom
ikalnytskyi:feat/jpeg

Conversation

@ikalnytskyi

Copy link
Copy Markdown
Contributor

Description

Add jpeg and jpegformat to the GStreamer common plugins list. MJPEG support in GStreamer is not limited to just these two plugins, but these are the native GStreamer plugins that provide the core JPEG parsing and codec support we were missing in bundled builds.

Many IP cameras support MJPEG in addition to H264/H265, so it makes sense to support it out of the box.

Stable_V5.0 bundled the whole GStreamer plugin directory, but master ships only allowlisted plugins since 5066dc0.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/Build changes
  • Other

Testing

  • Tested locally
  • Added/updated unit tests
  • Tested with simulator (SITL)
  • Tested with hardware

Platforms Tested

  • Linux
  • Windows
  • macOS
  • Android
  • iOS

Flight Stacks Tested

  • PX4
  • ArduPilot

Screenshots

Checklist

  • I have read the Contribution Guidelines
  • I have read the Code of Conduct
  • My code follows the project's coding standards
  • I have added tests that prove my fix/feature works
  • New and existing unit tests pass locally

Related Issues


By submitting this pull request, I confirm that my contribution is made under the terms of the project's dual license (Apache 2.0 and GPL v3).

Copilot AI review requested due to automatic review settings July 6, 2026 23:27
@ikalnytskyi
ikalnytskyi requested a review from HTRamsey as a code owner July 6, 2026 23:27
@github-actions github-actions Bot added github_actions Pull requests that update GitHub Actions code size/XS labels Jul 6, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates QGroundControl’s centralized CI/build configuration to include additional GStreamer plugin modules needed for MJPEG support in bundled builds, improving out-of-the-box compatibility with MJPEG-capable IP cameras.

Changes:

  • Added the jpeg plugin module to the GStreamer plugins.common allowlist.
  • Added the jpegformat plugin module to the GStreamer plugins.common allowlist.

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 30.63%. Comparing base (f29efd3) to head (b3cf289).
⚠️ Report is 127 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #14590      +/-   ##
==========================================
+ Coverage   25.47%   30.63%   +5.15%     
==========================================
  Files         769      785      +16     
  Lines       65912    66787     +875     
  Branches    30495    30944     +449     
==========================================
+ Hits        16788    20457    +3669     
+ Misses      37285    32404    -4881     
- Partials    11839    13926    +2087     
Flag Coverage Δ
unittests 30.63% <ø> (+5.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 437 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0983301...b3cf289. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Build Results

Platform Status

Platform Status Details
Linux Passed View
Windows Passed View
MacOS Passed View
Android Passed View

All builds passed.

Pre-commit

Check Status Details
pre-commit Failed (non-blocking) View

Pre-commit hooks: 0 passed, 0 failed, 0 skipped.

Test Results

linux-coverage-integration: 25 passed, 0 skipped
linux-coverage-unit: 103 passed, 0 skipped
Total: 128 passed, 0 skipped

Code Coverage

Coverage Baseline Change
66.3% 66.3% +0.0%

Artifact Sizes

Artifact Size Δ from master
QGroundControl 221.94 MB -4.32 MB (decrease)
QGroundControl-aarch64 179.46 MB +0.03 MB (increase)
QGroundControl-installer-AMD64 137.97 MB -0.40 MB (decrease)
QGroundControl-installer-AMD64-ARM64 80.44 MB -0.22 MB (decrease)
QGroundControl-installer-ARM64 109.22 MB +0.02 MB (increase)
QGroundControl-linux 87.22 MB -78.65 MB (decrease)
QGroundControl-mac 87.22 MB +0.13 MB (increase)
QGroundControl-windows 86.28 MB +0.14 MB (increase)
QGroundControl-x86_64 191.68 MB +0.03 MB (increase)
Total size decreased by 83.24 MB

Updated: 2026-07-07 20:53:38 UTC • Commit: b3cf289 • Triggered by: Android

Add `jpeg` and `jpegformat` to the GStreamer common plugins list. MJPEG
support in GStreamer is not limited to just these two plugins, but these
are the native GStreamer plugins that provide the core JPEG parsing and
codec support we were missing in bundled builds.

Many IP cameras support MJPEG in addition to H264/H265, so it makes
sense to support it out of the box.

Stable_V5.0 bundled the whole GStreamer plugin directory, but master
ships only allowlisted plugins since 5066dc0.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants