Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into Eden
Browse files Browse the repository at this point in the history
  • Loading branch information
theuni committed Jan 21, 2012
2 parents 9ddc38a + b6b0498 commit d4178b1
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 17 deletions.
1 change: 1 addition & 0 deletions xbmc/Application.cpp
Expand Up @@ -1203,6 +1203,7 @@ bool CApplication::Initialize()
#ifdef HAS_JSONRPC
CJSONRPC::Initialize();
#endif
ADDON::CAddonMgr::Get().StartServices(false);
g_windowManager.ActivateWindow(g_SkinInfo->GetFirstWindow());
}

Expand Down
2 changes: 1 addition & 1 deletion xbmc/addons/AddonManager.cpp
Expand Up @@ -760,7 +760,7 @@ bool CAddonMgr::StartServices(const bool beforelogin)
if (service)
{
if ( (beforelogin && service->GetStartOption() == CService::STARTUP)
|| (service->GetStartOption() == CService::LOGIN) )
|| (!beforelogin && service->GetStartOption() == CService::LOGIN) )
ret &= service->Start();
}
}
Expand Down
16 changes: 4 additions & 12 deletions xbmc/cores/AudioRenderers/ALSADirectSound.cpp
Expand Up @@ -60,17 +60,8 @@ bool CALSADirectSound::Initialize(IAudioCallback* pCallback, const CStdString& d
PCM_FRONT_CENTER, PCM_LOW_FREQUENCY,
PCM_SIDE_LEFT , PCM_SIDE_RIGHT
};
static enum PCMChannels HDMIChannelMap[] = { PCM_FRONT_LEFT, PCM_FRONT_RIGHT
, PCM_FRONT_CENTER, PCM_LOW_FREQUENCY
, PCM_BACK_LEFT, PCM_BACK_RIGHT
, PCM_FRONT_LEFT_OF_CENTER, PCM_FRONT_RIGHT_OF_CENTER
, PCM_BACK_CENTER, PCM_SIDE_LEFT, PCM_SIDE_RIGHT};
CStdString deviceuse(device);


enum PCMChannels *output_map = ALSAChannelMap;
if((deviceuse + ":").Left(5) == "hdmi:")
output_map = HDMIChannelMap;
CStdString deviceuse;

/* setup the channel mapping */
m_uiDataChannels = iChannels;
Expand All @@ -85,7 +76,7 @@ bool CALSADirectSound::Initialize(IAudioCallback* pCallback, const CStdString& d
while(outLayout[ch] != PCM_INVALID)
{
for(map = 0; map < 8; ++map)
if (outLayout[ch] == output_map[map])
if (outLayout[ch] == ALSAChannelMap[map])
{
if (map > outChannels)
outChannels = map;
Expand All @@ -94,7 +85,7 @@ bool CALSADirectSound::Initialize(IAudioCallback* pCallback, const CStdString& d
++ch;
}

m_remap.SetOutputFormat(++outChannels, output_map);
m_remap.SetOutputFormat(++outChannels, ALSAChannelMap);
if (m_remap.CanRemap())
{
iChannels = outChannels;
Expand Down Expand Up @@ -136,6 +127,7 @@ bool CALSADirectSound::Initialize(IAudioCallback* pCallback, const CStdString& d
snd_config_update();

snd_config_t *config = snd_config;
deviceuse = device;

nErr = snd_config_copy(&config, snd_config);
CHECK_ALSA_RETURN(LOGERROR,"config_copy",nErr);
Expand Down
4 changes: 3 additions & 1 deletion xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
Expand Up @@ -101,7 +101,9 @@ enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
}
#endif
#ifdef HAVE_LIBVA
if(*cur == PIX_FMT_VAAPI_VLD && g_guiSettings.GetBool("videoplayer.usevaapi"))
// mpeg4 vaapi decoding is disabled
if(*cur == PIX_FMT_VAAPI_VLD && g_guiSettings.GetBool("videoplayer.usevaapi")
&& (avctx->codec_id != CODEC_ID_MPEG4 || g_advancedSettings.m_videoAllowMpeg4VAAPI))
{
VAAPI::CDecoder* dec = new VAAPI::CDecoder();
if(dec->Open(avctx, *cur))
Expand Down
12 changes: 12 additions & 0 deletions xbmc/interfaces/AnnouncementManager.cpp
Expand Up @@ -39,12 +39,18 @@ vector<IAnnouncer *> CAnnouncementManager::m_announcers;

void CAnnouncementManager::AddAnnouncer(IAnnouncer *listener)
{
if (!listener)
return;

CSingleLock lock (m_critSection);
m_announcers.push_back(listener);
}

void CAnnouncementManager::RemoveAnnouncer(IAnnouncer *listener)
{
if (!listener)
return;

CSingleLock lock (m_critSection);
for (unsigned int i = 0; i < m_announcers.size(); i++)
{
Expand Down Expand Up @@ -78,6 +84,12 @@ void CAnnouncementManager::Announce(EAnnouncementFlag flag, const char *sender,

void CAnnouncementManager::Announce(EAnnouncementFlag flag, const char *sender, const char *message, CFileItemPtr item, CVariant &data)
{
if (!item.get())
{
Announce(flag, sender, message, data);
return;
}

// Extract db id of item
CVariant object = data.isNull() || data.isObject() ? data : CVariant::VariantTypeObject;
CStdString type;
Expand Down
2 changes: 2 additions & 0 deletions xbmc/settings/AdvancedSettings.cpp
Expand Up @@ -93,6 +93,7 @@ void CAdvancedSettings::Initialize()
m_videoEnableHighQualityHwScalers = false;
m_videoAutoScaleMaxFps = 30.0f;
m_videoAllowMpeg4VDPAU = false;
m_videoAllowMpeg4VAAPI = false;
m_videoDisableBackgroundDeinterlace = false;
m_videoCaptureUseOcclusionQuery = -1; //-1 is auto detect
m_DXVACheckCompatibility = false;
Expand Down Expand Up @@ -454,6 +455,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetBoolean(pElement,"enablehighqualityhwscalers", m_videoEnableHighQualityHwScalers);
XMLUtils::GetFloat(pElement,"autoscalemaxfps",m_videoAutoScaleMaxFps, 0.0f, 1000.0f);
XMLUtils::GetBoolean(pElement,"allowmpeg4vdpau",m_videoAllowMpeg4VDPAU);
XMLUtils::GetBoolean(pElement,"allowmpeg4vaapi",m_videoAllowMpeg4VAAPI);
XMLUtils::GetBoolean(pElement, "disablebackgrounddeinterlace", m_videoDisableBackgroundDeinterlace);
XMLUtils::GetInt(pElement, "useocclusionquery", m_videoCaptureUseOcclusionQuery, -1, 1);

Expand Down
1 change: 1 addition & 0 deletions xbmc/settings/AdvancedSettings.h
Expand Up @@ -123,6 +123,7 @@ class CAdvancedSettings
bool m_videoEnableHighQualityHwScalers;
float m_videoAutoScaleMaxFps;
bool m_videoAllowMpeg4VDPAU;
bool m_videoAllowMpeg4VAAPI;
std::vector<RefreshOverride> m_videoAdjustRefreshOverrides;
bool m_videoDisableBackgroundDeinterlace;
int m_videoCaptureUseOcclusionQuery;
Expand Down
3 changes: 0 additions & 3 deletions xbmc/settings/Settings.cpp
Expand Up @@ -57,7 +57,6 @@
#include "utils/URIUtils.h"
#include "input/MouseStat.h"
#include "filesystem/File.h"
#include "addons/AddonManager.h"

using namespace std;
using namespace XFILE;
Expand Down Expand Up @@ -983,8 +982,6 @@ bool CSettings::LoadProfile(unsigned int index)
CUtil::DeleteMusicDatabaseDirectoryCache();
CUtil::DeleteVideoDatabaseDirectoryCache();

ADDON::CAddonMgr::Get().StartServices(false);

return true;
}

Expand Down
3 changes: 3 additions & 0 deletions xbmc/windows/GUIWindowLoginScreen.cpp
Expand Up @@ -45,6 +45,7 @@
#include "settings/GUISettings.h"
#include "FileItem.h"
#include "guilib/LocalizeStrings.h"
#include "addons/AddonManager.h"

#define CONTROL_BIG_LIST 52
#define CONTROL_LABEL_HEADER 2
Expand Down Expand Up @@ -296,6 +297,8 @@ void CGUIWindowLoginScreen::LoadProfile(unsigned int profile)
JSONRPC::CJSONRPC::Initialize();
#endif

ADDON::CAddonMgr::Get().StartServices(false);

g_windowManager.ChangeActiveWindow(g_SkinInfo->GetFirstWindow());

g_application.UpdateLibraries();
Expand Down

0 comments on commit d4178b1

Please sign in to comment.