Merge pull request #1 from Acaki/feat/surround_sound
Add config to set audio channels
This commit is contained in:
99 files changed
+5986
-3708
No files matched your search
@@ -824,6 +824,10 @@ static NSMutableSet* hostList;
|
||||
// Probe for supported channel configurations
|
||||
int physicalOutputChannels = (int)[AVAudioSession sharedInstance].maximumOutputNumberOfChannels;
|
||||
Log(LOG_I, @"Audio device supports %d channels", physicalOutputChannels);
|
||||
if (@available(iOS 18.0, tvOS 18.0, *)) {
|
||||
physicalOutputChannels = 8;
|
||||
Log(LOG_I, @"System-provided spatial audio available, pretending device has %d channels", physicalOutputChannels);
|
||||
}
|
||||
|
||||
int numberOfChannels = MIN([streamSettings.audioConfig intValue], physicalOutputChannels);
|
||||
Log(LOG_I, @"Selected number of audio channels %d", numberOfChannels);
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
@property (strong, nonatomic) IBOutlet UISwitch *multiControllerSwitch;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *swapAbaxyStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *audioOnPcStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *audioConfigStack;
|
||||
@property (strong, nonatomic) IBOutlet UISwitch *audioOnPcSwitch;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *codecStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *yuv444Stack;
|
||||
@@ -72,6 +73,7 @@
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *codecSelector;
|
||||
@property (strong, nonatomic) IBOutlet UISwitch *hdrSwitch;
|
||||
@property (strong, nonatomic) IBOutlet UISwitch *yuv444Switch;
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *audioConfigSelector;
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *framePacingSelector;
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *reverseMouseWheelDirectionSelector;
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *statsOverlaySelector;
|
||||
|
||||
@@ -538,6 +538,7 @@ BOOL isCustomResolution(CGSize res) {
|
||||
}
|
||||
|
||||
[self addSetting:self.audioOnPcStack ofId:@"audioOnPcStack" withInfoTag:NO withDynamicLabel:NO to:audioSection];
|
||||
[self addSetting:self.audioConfigStack ofId:@"audioConfigStack" withInfoTag:YES withDynamicLabel:NO to:audioSection];
|
||||
[audioSection addToParentStack:_parentStack];
|
||||
[audioSection setExpanded:YES];
|
||||
|
||||
@@ -1273,6 +1274,21 @@ BOOL isCustomResolution(CGSize res) {
|
||||
[self.bitrateSlider addTarget:self action:@selector(bitrateSliderMoved) forControlEvents:UIControlEventValueChanged];
|
||||
[self updateBitrateText];
|
||||
[self updateResolutionDisplayLabel];
|
||||
if (@available(iOS 18.0, tvOS 18.0, *)) {}else{
|
||||
[self.audioConfigSelector removeSegmentAtIndex:1 animated:false];
|
||||
[self.audioConfigSelector removeSegmentAtIndex:2 animated:false];
|
||||
}
|
||||
switch ([currentSettings.audioConfig integerValue]) {
|
||||
case 2:
|
||||
[self.audioConfigSelector setSelectedSegmentIndex:0];
|
||||
break;
|
||||
case 6:
|
||||
[self.audioConfigSelector setSelectedSegmentIndex:1];
|
||||
break;
|
||||
case 8:
|
||||
[self.audioConfigSelector setSelectedSegmentIndex:2];
|
||||
break;
|
||||
}
|
||||
|
||||
// Unlock Display Orientation setting
|
||||
// bool unlockDisplayOrientationSelectorEnabled = [self isFullScreenRequired];//need "requires fullscreen" enabled in the app bunddle to make runtime orientation limitation woring
|
||||
@@ -1884,7 +1900,7 @@ BOOL isCustomResolution(CGSize res) {
|
||||
selector.selectedSegmentTintColor = [ThemeManager appSecondaryColor];
|
||||
} else {
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
}
|
||||
}
|
||||
[self updateThemeForSelectors:subview];
|
||||
}
|
||||
@@ -1916,6 +1932,7 @@ BOOL isCustomResolution(CGSize res) {
|
||||
NSInteger framerate = [self getChosenFrameRate];
|
||||
NSInteger height = [self getChosenStreamHeight];
|
||||
NSInteger width = [self getChosenStreamWidth];
|
||||
NSInteger audioConfig = [@[@2, @6, @8][[self.audioConfigSelector selectedSegmentIndex]] integerValue];
|
||||
NSInteger onscreenControls = [self.onScreenWidgetSelector selectedSegmentIndex];
|
||||
NSInteger keyboardToggleFingers = self.softKeyboardGestureSelector.selectedSegmentIndex == 3 ? 20 : self.softKeyboardGestureSelector.selectedSegmentIndex+3;
|
||||
NSInteger oscLayoutToolFingers = (uint16_t)self->oswLayoutFingers;
|
||||
@@ -1955,7 +1972,7 @@ BOOL isCustomResolution(CGSize res) {
|
||||
framerate:framerate
|
||||
height:height
|
||||
width:width
|
||||
audioConfig:2 // Stereo
|
||||
audioConfig:audioConfig
|
||||
onscreenControls:onscreenControls
|
||||
gyroMode:gyroMode
|
||||
keyboardToggleFingers:keyboardToggleFingers
|
||||
|
||||
Reference in new issue
Block a user