[Development] Semi-private headers in Qt

Tor Arne Vestbø Tor.arne.Vestbo at qt.io
Thu May 21 12:03:52 CEST 2026


Have you considered whether the GStreamer functionality can be exposed as native interface extension to existing classes?

https://doc.qt.io/qt-6/native-interfaces.html

Or are you building a completely non-cross-platform and distinct API surface for GStramer only in Qt?

Tor Arne

On 21 May 2026, at 11:07, Artem Dyomin via Development <development at qt-project.org> wrote:

In Qt, we have semi-private functionality for rhi, qpa, ssg, that contain a disclaimer in headers and docs limiting SC and BC guarantees, and requiring to link the private part of the module. The headers are deployed as <QtGui/rhi/qrhi.h> etc.
We want to add similar headers for Multimedia with GStreamer functionality. A good idea is having a good name for this kind of API (e.g. experimental) and deploy the headers as <QtModule/experimental/qheader.h>.
The current plan is deploying new gstreamer-related headers under the new name, and then consider transferring existing headers to the new approach (with keeping old ones).

In my view, the term "experimental" is the best as the term "experimental" in C++ highly correlates with how Qt declares it in terms of SC and BC.
A discussion has been started in the CR adding "experimental".
https://codereview.qt-project.org/c/qt/qtbase/+/736307

Other proposals are "semiprivate", "nocompat", "unstable" or similar.

Are you agreed that <QtModule/experimental/qheader.h> works fine for these semi-private headers?


Confidential
--
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
https://lists.qt-project.org/listinfo/development

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20260521/35ad5b58/attachment.htm>


More information about the Development mailing list