|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends edaec2bf714c98d65f12c8ed9a2ffbd1603635a7, which
removed the QAudioSink/Source::stateChanged(QAudio::State)
symbols from the API, thus breaking binary compatibility to
Qt 6.6. Since moc-generated code compares pointer-to-member-
functions, we cannot bring that symbol back and still have
such connections work.
The only reasonable way to fix this is to reverse the
namespace aliasing: QAudio is the real namespace, QtAudio
becomes an alias. All symbols are then exported with the
QAudio type in their signature, even if declared with
QtAudio types as parameters, so we don't need any removed_api
tricks to bring the old symbols back.
We just need to trick qdoc into seeing the namespace as
QtAudio, which is trivial and has no ABI implications. The
previous caveat that string-based connections need to use
QAudio doesn't change with this.
[ChangeLog][Binary Compatibility Note] Qt 6.7.0 broke binary
compatibility by renaming the QAudio namespace to QtAudio.
Qt 6.7.1 restores compatibility with previous Qt 6 versions
again by making QtAudio an alias for the QAudio namespace,
but breaks BC with 6.7.0. Code previously built against 6.7.0
needs to be recompiled.
Pick-to: 6.7
Fixes: QTBUG-123997
Change-Id: I456db61ff0bd1d97af7ce2d2a7968999d891a84d
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
|
|
With the addition of the QtVideo namespace in Qt 6.7 it becomes
obvious that the existing QAudio namespace is not named according
to the convention for namespaces in Qt.
To fix this, we can rename the QAudio namespace to QtAudio, and
declare the QAudio namespace as an alias for QtAudio. Public APIs
using a QAudio type in their signature need to be exported from a
removed_api.cpp file to maintain binary compatibility.
Two of those are a signal, which leaves one challenge: string-based
connects will have to use the QAudio namespace, in spite of the
documentation, as the signal doesn't exist with a QtAudio parameter.
Add a \note in the signals' documentation.
[ChangeLog][Qt Multimedia][Potentially Source-Incompatible Changes]
The QAudio namespace has been renamed to QtAudio, with QAudio still
being available as an alias. String based connections to
QAudioSink/Source::stateChanged need to continue to use
QAudio::State as the parameter.
Pick-to: 6.7
Change-Id: If49676ee62e048efbed68bb0e4848a5fefaea2f7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|