Repository navigation
Fixes/36 - macOS - fix/merge recent commits from master - #1533
Merged
Merged
Conversation
…Analog() Remove a cleanup block in CoreAudioData::OpenAnalog() that attempts to free the mChannelDescriptions member of a local AudioChannelLayout. new_layout is allocated on the stack and only initializes its layout tag property, the conditional guard checking mNumberChannelDescriptions always evaluates to zero, rendering the block unreachable. mChannelDescriptions is also defined inline as an integrated array member inside the CoreAudio SDK structure rather than a heap pointer, making any manual free() invocation invalid.
Remove the temporary name string pointer at the end of each iteration loop inside CoreAudioData::GetDeviceWithName(). Previously, the heap-allocated name string returned by device.GetName() was only deleted when a matching identifier string was successfully found. This caused all non-matching audio device endpoints to leak memory blocks on every device verification pass.
A bug in the multi-channel audio system causes the Center and LFE channels to be swapped at the hardware layer for some setups, including a TV with a soundbar connected via ARC. To resolve this, query the kAudioUnitProperty_AudioChannelLayout property once during hardware initialization to determine if the connected device allows layout changes. Caching this write-permissive state ensures that the high-priority, real-time rendering thread remains lock-free. If the AV device allows changes, map channels normally for 5.1 and 7.1 speaker setups. If the device reports a read-only layout (such as a TV or legacy ARC link), automatically swap the Center and LFE channels for both 6-channel (5.1) and 8-channel (7.1) audio streams to restore correct routing.
Modern qt-mariadb and qt-mysql packages require external authentication
libraries to handle SSL connections. Because these plugins are compiled
as '.so' binaries rather than standard '.dylib' frameworks, they are
silently skipped by macdeployqt during the application bundling phase.
Fix this by querying the active Qt6 database driver target properties via
otool to identify whether MySQL or MariaDB is in use, and then manually
staging the matching authentication plugins into the app package.
Additionally, this update exports the resolved MARIADB_PLUGIN_DIR and
MYSQL_PLUGIN_DIR paths dynamically within the relocatable startup shell
script, and adds a trailing wildcard character to the recursive search
mechanisms in fixAppBundle.zsh to prevent missed nested binaries.
- Update CMakeLists.txt to detect and copy missing database auth
plugins into the app bundle's PlugIns/ subfolder.
- Update fixAppBundle.zsh to find hidden nested components during
recursive discovery passes (i.e., addition of matching wildcards).
- Export database engine plugin directory targets inside the
relocatable startup_script.zsh.in environment.
Qt 6.12 split out qtwebengine into its own standalone Homebrew formula. This places qtwebengine outside the qt@6 pathing as it now resides in its own qtwebengine directory. This breaks CMake builds as this new directory is not on the CMAKE_PREFIX_PATH. Homebrew packaging also has an issue where the imported targets (e.g., Qt6::WebEngineQuick and WebEngineWidgets) still reference non-existent paths inside the main qt@6 directory. Fix this by adding a find_package macro override to dynamically fix the include paths.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrects 7da7495 for fixes/36
Cherry-picks commits 6ea7e17, 54746db, 2e1c60f, and 7203b36 for fixes/36
Thank you for contributing to MythTV!
Please review the checklist below to ensure that your contribution
to MythTV is ready for review by our developers.
It is helpful to regularly rebase your pull request to ensure changes
apply cleanly to the current MythTV development branch.
Checklist