mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
xbmc: add PR2252
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
53b857cbe0
commit
07b8b99b94
51
packages/mediacenter/xbmc/patches/xbmc-990.30-PR2252.patch
Normal file
51
packages/mediacenter/xbmc/patches/xbmc-990.30-PR2252.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From 80a8ad68567f89b3f6810c07daaf42d2edddee87 Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Mon, 18 Feb 2013 23:49:43 +0000
|
||||
Subject: [PATCH] [rbp] Fix for audiotoggledigital on Pi.
|
||||
|
||||
Pi only has two audio output modes so the three way toggle gets stuck. This fix corresponds to Pi specific settings code:
|
||||
https://github.com/xbmc/xbmc/blob/master/xbmc/settings/GUISettings.cpp#L458
|
||||
---
|
||||
xbmc/Application.cpp | 12 ++++++++----
|
||||
xbmc/settings/GUISettings.h | 1 +
|
||||
2 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index d6e663b..5e9d979 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2863,11 +2863,15 @@ bool CApplication::OnAction(const CAction &action)
|
||||
|
||||
if (action.GetID() == ACTION_TOGGLE_DIGITAL_ANALOG)
|
||||
{
|
||||
- switch(g_guiSettings.GetInt("audiooutput.mode"))
|
||||
+ // we are only allowed to SetInt to a value supported in GUISettings, so we keep trying until it sticks
|
||||
+ int mode = g_guiSettings.GetInt("audiooutput.mode");
|
||||
+ for (int i = 0; i < AUDIO_COUNT; i++)
|
||||
{
|
||||
- case AUDIO_ANALOG: g_guiSettings.SetInt("audiooutput.mode", AUDIO_IEC958); break;
|
||||
- case AUDIO_IEC958: g_guiSettings.SetInt("audiooutput.mode", AUDIO_HDMI ); break;
|
||||
- case AUDIO_HDMI : g_guiSettings.SetInt("audiooutput.mode", AUDIO_ANALOG); break;
|
||||
+ if (++mode == AUDIO_COUNT)
|
||||
+ mode = 0;
|
||||
+ g_guiSettings.SetInt("audiooutput.mode", mode);
|
||||
+ if (g_guiSettings.GetInt("audiooutput.mode") == mode)
|
||||
+ break;
|
||||
}
|
||||
|
||||
g_application.Restart();
|
||||
diff --git a/xbmc/settings/GUISettings.h b/xbmc/settings/GUISettings.h
|
||||
index b48ba35..98f9836 100644
|
||||
--- a/xbmc/settings/GUISettings.h
|
||||
+++ b/xbmc/settings/GUISettings.h
|
||||
@@ -84,6 +84,7 @@
|
||||
#define AUDIO_ANALOG 0
|
||||
#define AUDIO_IEC958 1
|
||||
#define AUDIO_HDMI 2
|
||||
+#define AUDIO_COUNT 3
|
||||
#define AUDIO_IS_BITSTREAM(x) ((x) == AUDIO_IEC958 || (x) == AUDIO_HDMI)
|
||||
|
||||
#define VIDEO_NORMAL 0
|
||||
--
|
||||
1.7.10
|
||||
|
Loading…
x
Reference in New Issue
Block a user