mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
Merge pull request #5683 from guillaumelecerf/feature/chrome-use-pulseaudio
chrome: use pulseaudio when available
This commit is contained in:
commit
46f810894d
@ -73,13 +73,14 @@ case $RASTER_MODE in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# alsa
|
# alsa
|
||||||
if [ ! -z $ALSA_DEVICE ]; then
|
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||||
chrome_OPTS="$chrome_OPTS --alsa-output-device=$ALSA_DEVICE"
|
# stop pulseaudio when using an Alsa device
|
||||||
|
systemctl stop pulseaudio
|
||||||
|
if [ ! -z $ALSA_DEVICE ]; then
|
||||||
|
chrome_OPTS="$chrome_OPTS --alsa-output-device=$ALSA_DEVICE"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# HACK!!! to get sound at Chrome stop pulseaudio
|
|
||||||
systemctl stop pulseaudio
|
|
||||||
|
|
||||||
# start chrome
|
# start chrome
|
||||||
LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \
|
LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \
|
||||||
$chrome_OPTS \
|
$chrome_OPTS \
|
||||||
@ -100,6 +101,8 @@ then
|
|||||||
chrome_OPTS="$chrome_OPTS --force-dark-mode"
|
chrome_OPTS="$chrome_OPTS --force-dark-mode"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# HACK!!! to get sound at Kodi start pulseaudio
|
|
||||||
sleep 5
|
sleep 5
|
||||||
systemctl start pulseaudio
|
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||||
|
# restart pulseaudio when using an Alsa device
|
||||||
|
systemctl start pulseaudio
|
||||||
|
fi
|
||||||
|
@ -35,13 +35,17 @@ def startchrome(args):
|
|||||||
new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
|
new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
|
||||||
new_env['DARK_MODE'] = __addon__.getSetting('DARK_MODE')
|
new_env['DARK_MODE'] = __addon__.getSetting('DARK_MODE')
|
||||||
|
|
||||||
new_env['ALSA_DEVICE'] = ''
|
|
||||||
if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true':
|
if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true':
|
||||||
alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
|
audio_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
|
||||||
else:
|
else:
|
||||||
alsa_device = getAudioDevice()
|
audio_device = getAudioDevice()
|
||||||
if not alsa_device == None and not alsa_device == '':
|
|
||||||
new_env['ALSA_DEVICE'] = alsa_device
|
new_env['AUDIO_DEVICE_TYPE'] = getAudioDeviceType(audio_device)
|
||||||
|
if new_env['AUDIO_DEVICE_TYPE'] == "ALSA":
|
||||||
|
new_env['ALSA_DEVICE'] = ''
|
||||||
|
alsa_device = getAlsaAudioDevice(audio_device)
|
||||||
|
if not alsa_device == None and not alsa_device == '':
|
||||||
|
new_env['ALSA_DEVICE'] = alsa_device
|
||||||
|
|
||||||
chrome_params = args + ' ' + \
|
chrome_params = args + ' ' + \
|
||||||
__addon__.getSetting('HOMEPAGE')
|
__addon__.getSetting('HOMEPAGE')
|
||||||
@ -57,7 +61,7 @@ def isRuning(pname):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def getAudioDevice():
|
def getAudioDevice():
|
||||||
dev = json.loads(xbmc.executeJSONRPC(json.dumps({
|
return json.loads(xbmc.executeJSONRPC(json.dumps({
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"method": "Settings.GetSettingValue",
|
"method": "Settings.GetSettingValue",
|
||||||
"params": {
|
"params": {
|
||||||
@ -65,15 +69,20 @@ def getAudioDevice():
|
|||||||
},
|
},
|
||||||
"id": 1,
|
"id": 1,
|
||||||
})))['result']['value']
|
})))['result']['value']
|
||||||
|
|
||||||
|
def getAudioDeviceType(dev):
|
||||||
if dev.startswith("ALSA:"):
|
if dev.startswith("ALSA:"):
|
||||||
dev = dev.split("ALSA:")[1]
|
return "ALSA"
|
||||||
if dev == "@":
|
if dev.startswith("PULSE:"):
|
||||||
return None
|
return "PULSE"
|
||||||
if dev.startswith("@:"):
|
return None
|
||||||
dev = dev.split("@:")[1]
|
|
||||||
else:
|
def getAlsaAudioDevice(dev):
|
||||||
# not ALSA
|
dev = dev.split("ALSA:")[1]
|
||||||
|
if dev == "@":
|
||||||
return None
|
return None
|
||||||
|
if dev.startswith("@:"):
|
||||||
|
dev = dev.split("@:")[1]
|
||||||
if dev.startswith("CARD="):
|
if dev.startswith("CARD="):
|
||||||
dev = "plughw:" + dev
|
dev = "plughw:" + dev
|
||||||
return dev
|
return dev
|
||||||
|
Loading…
x
Reference in New Issue
Block a user