aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt2
-rw-r--r--project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt2
-rw-r--r--xbmc/Application.cpp16
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp17
-rw-r--r--xbmc/interfaces/legacy/ModuleXbmcgui.cpp4
-rw-r--r--xbmc/interfaces/legacy/ModuleXbmcgui.h13
-rw-r--r--xbmc/music/MusicDatabase.cpp4
7 files changed, 33 insertions, 25 deletions
diff --git a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt b/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt
index 8182ad1474..7724b200fe 100644
--- a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt
+++ b/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt
@@ -1 +1 @@
-pvr.stalker https://github.com/kodi-pvr/pvr.stalker e556508
+pvr.stalker https://github.com/kodi-pvr/pvr.stalker a89afb8
diff --git a/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt b/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt
index be5b61dc36..4aab620ca8 100644
--- a/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt
+++ b/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt
@@ -1 +1 @@
-pvr.vbox https://github.com/kodi-pvr/pvr.vbox 874eb88
+pvr.vbox https://github.com/kodi-pvr/pvr.vbox 0b1d571
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index a891be6a39..bc6f4a2a08 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -815,6 +815,8 @@ bool CApplication::CreateGUI()
bool CApplication::InitWindow()
{
+ RESOLUTION res = CDisplaySettings::Get().GetCurrentResolution();
+
#ifdef TARGET_DARWIN_OSX
// force initial window creation to be windowed, if fullscreen, it will switch to it below
// fixes the white screen of death if starting fullscreen and switching to windowed.
@@ -824,6 +826,18 @@ bool CApplication::InitWindow()
CLog::Log(LOGFATAL, "CApplication::Create: Unable to create window");
return false;
}
+#elif defined(TARGET_ANDROID)
+ // We might come from a refresh rate switch destroying the native window; use the renderer resolution
+ if (g_graphicsContext.GetVideoResolution() != RES_INVALID)
+ res = g_graphicsContext.GetVideoResolution();
+ RESOLUTION_INFO res_info = CDisplaySettings::Get().GetResolutionInfo(res);
+
+ bool bFullScreen = res != RES_WINDOW;
+ if (!g_Windowing.CreateNewWindow(CSysInfo::GetAppName(), bFullScreen, res_info, OnEvent))
+ {
+ CLog::Log(LOGFATAL, "CApplication::Create: Unable to create window");
+ return false;
+ }
#else
bool bFullScreen = CDisplaySettings::Get().GetCurrentResolution() != RES_WINDOW;
if (!g_Windowing.CreateNewWindow(CSysInfo::GetAppName(), bFullScreen, CDisplaySettings::Get().GetCurrentResolutionInfo(), OnEvent))
@@ -839,7 +853,7 @@ bool CApplication::InitWindow()
return false;
}
// set GUI res and force the clear of the screen
- g_graphicsContext.SetVideoResolution(CDisplaySettings::Get().GetCurrentResolution());
+ g_graphicsContext.SetVideoResolution(res);
return true;
}
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
index 06f81c895c..dca4bdf0d1 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
@@ -243,14 +243,17 @@ CDVDOverlay* CDVDOverlayCodecFFmpeg::GetOverlay()
m_height = m_pCodecContext->height;
m_width = m_pCodecContext->width;
- // ETSI EN 300 743 V1.3.1
- // 5.3.1
- // Absence of a DDS in a stream implies that the stream is coded in accordance with EN 300 743 (V1.2.1) [5] and that a
- // display width of 720 pixels and a display height of 576 lines may be assumed.
- if (!m_height && !m_width)
+ if (m_pCodecContext->codec_id == AV_CODEC_ID_DVB_SUBTITLE)
{
- m_width = 720;
- m_height = 576;
+ // ETSI EN 300 743 V1.3.1
+ // 5.3.1
+ // Absence of a DDS in a stream implies that the stream is coded in accordance with EN 300 743 (V1.2.1) [5] and that a
+ // display width of 720 pixels and a display height of 576 lines may be assumed.
+ if (!m_height && !m_width)
+ {
+ m_width = 720;
+ m_height = 576;
+ }
}
RENDER_STEREO_MODE render_stereo_mode = g_graphicsContext.GetStereoMode();
diff --git a/xbmc/interfaces/legacy/ModuleXbmcgui.cpp b/xbmc/interfaces/legacy/ModuleXbmcgui.cpp
index 71a80c8297..e21bc11cb9 100644
--- a/xbmc/interfaces/legacy/ModuleXbmcgui.cpp
+++ b/xbmc/interfaces/legacy/ModuleXbmcgui.cpp
@@ -34,12 +34,12 @@ namespace XBMCAddon
{
void lock()
{
- CLog::Log(LOGWARNING,"'xbmcgui.lock()' is depreciated and serves no purpose anymore, it will be removed in future releases");
+ CLog::Log(LOGWARNING,"'xbmcgui.lock()' is deprecated and serves no purpose anymore, it will be removed in future releases");
}
void unlock()
{
- CLog::Log(LOGWARNING,"'xbmcgui.unlock()' is depreciated and serves no purpose anymore, it will be removed in future releases");
+ CLog::Log(LOGWARNING,"'xbmcgui.unlock()' is deprecated and serves no purpose anymore, it will be removed in future releases");
}
long getCurrentWindowId()
diff --git a/xbmc/interfaces/legacy/ModuleXbmcgui.h b/xbmc/interfaces/legacy/ModuleXbmcgui.h
index dc3c73f1aa..8f6ffa9d5d 100644
--- a/xbmc/interfaces/legacy/ModuleXbmcgui.h
+++ b/xbmc/interfaces/legacy/ModuleXbmcgui.h
@@ -25,21 +25,12 @@ namespace XBMCAddon
namespace xbmcgui
{
/**
- * lock() -- Lock the gui until xbmcgui.unlock() is called.\n
- * \n
- * *Note, This will improve performance when doing a lot of gui manipulation at once.\n
- * The main program (xbmc itself) will freeze until xbmcgui.unlock() is called.\n
- *
- * example:
- * - xbmcgui.lock()
+ * lock() -- deprecated and serves no purpose anymore.
*/
void lock();
/**
- * unlock() -- Unlock the gui from a lock() call.
- *
- * example:
- * - xbmcgui.unlock()
+ * unlock() -- deprecated and serves no purpose anymore.
*/
void unlock();
diff --git a/xbmc/music/MusicDatabase.cpp b/xbmc/music/MusicDatabase.cpp
index b424f123a1..f4394d5d6d 100644
--- a/xbmc/music/MusicDatabase.cpp
+++ b/xbmc/music/MusicDatabase.cpp
@@ -2045,7 +2045,7 @@ bool CMusicDatabase::GetTop100AlbumSongs(const std::string& strBaseDir, CFileIte
if (!strBaseDir.empty() && baseUrl.FromString(strBaseDir))
return false;
- std::string strSQL = StringUtils::Format("select * from songview join albumview on (songview.idAlbum = albumview.idAlbum) where albumview.idAlbum in (select song.idAlbum from song where song.iTimesPlayed>0 group by idAlbum order by sum(song.iTimesPlayed) desc limit 100) order by albumview.idAlbum in (select song.idAlbum from song where song.iTimesPlayed>0 group by idAlbum order by sum(song.iTimesPlayed) desc limit 100)");
+ std::string strSQL = StringUtils::Format("SELECT songview.*, albumview.* FROM songview JOIN albumview ON (songview.idAlbum = albumview.idAlbum) JOIN (SELECT song.idAlbum, SUM(song.iTimesPlayed) AS iTimesPlayedSum FROM song WHERE song.iTimesPlayed > 0 GROUP BY idAlbum ORDER BY iTimesPlayedSum DESC LIMIT 100) AS _albumlimit ON (songview.idAlbum = _albumlimit.idAlbum) ORDER BY _albumlimit.iTimesPlayedSum DESC");
CLog::Log(LOGDEBUG,"GetTop100AlbumSongs() query: %s", strSQL.c_str());
if (!m_pDS->query(strSQL.c_str())) return false;
@@ -2122,7 +2122,7 @@ bool CMusicDatabase::GetRecentlyPlayedAlbumSongs(const std::string& strBaseDir,
if (!strBaseDir.empty() && !baseUrl.FromString(strBaseDir))
return false;
- std::string strSQL = StringUtils::Format("select * from songview join albumview on (songview.idAlbum = albumview.idAlbum) where albumview.idAlbum in (select distinct albumview.idAlbum from albumview join song on albumview.idAlbum=song.idAlbum where song.lastplayed IS NOT NULL order by song.lastplayed desc limit %i)", g_advancedSettings.m_iMusicLibraryRecentlyAddedItems);
+ std::string strSQL = StringUtils::Format("SELECT songview.*, albumview.* FROM songview JOIN albumview ON (songview.idAlbum = albumview.idAlbum) JOIN (SELECT DISTINCT album.idAlbum FROM album JOIN song ON album.idAlbum = song.idAlbum WHERE song.lastplayed IS NOT NULL ORDER BY song.lastplayed DESC LIMIT %i) AS _albumlimit ON (albumview.idAlbum = _albumlimit.idAlbum)", g_advancedSettings.m_iMusicLibraryRecentlyAddedItems);
CLog::Log(LOGDEBUG,"GetRecentlyPlayedAlbumSongs() query: %s", strSQL.c_str());
if (!m_pDS->query(strSQL.c_str())) return false;