aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Morten Kvarving <spiff@xbmc.org>2013-04-05 02:55:10 -0700
committerArne Morten Kvarving <spiff@xbmc.org>2013-04-05 02:55:10 -0700
commit31a41b8f41a955929384d9a655a2f7118ec39925 (patch)
tree37c4572caab221f040e8853c40cbbc060d0b2855
parent50ac17f8d8d687e4a0e5675368302c2b880e5bf0 (diff)
parent8569e42ad6ef58e22a2a3f856169ba3b7276e12d (diff)
Merge pull request #2444 from ace20022/cleanup_cores
[Cores] Spring cleaning
-rw-r--r--xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioGraph.h2
-rw-r--r--xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp16
-rw-r--r--xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp14
-rw-r--r--xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h6
-rw-r--r--xbmc/cores/DllLoader/DllLoader-linux.cpp17
-rw-r--r--xbmc/cores/DllLoader/DllLoader.cpp5
-rw-r--r--xbmc/cores/DllLoader/LibraryLoader.h2
-rw-r--r--xbmc/cores/DllLoader/Win32DllLoader.cpp1
-rw-r--r--xbmc/cores/DllLoader/coff.cpp3
-rw-r--r--xbmc/cores/DllLoader/coffldr.h8
-rw-r--r--xbmc/cores/DllLoader/dll_tracker.cpp4
-rw-r--r--xbmc/cores/DllLoader/exports/emu_kernel32.cpp7
-rw-r--r--xbmc/cores/DllLoader/exports/emu_msvcrt.cpp6
-rw-r--r--xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h1
-rw-r--r--xbmc/cores/DllLoader/ldt_keeper.c1
-rw-r--r--xbmc/cores/ExternalPlayer/ExternalPlayer.cpp4
-rw-r--r--xbmc/cores/VideoRenderers/BaseRenderer.cpp4
-rw-r--r--xbmc/cores/VideoRenderers/BaseRenderer.h2
-rw-r--r--xbmc/cores/VideoRenderers/LinuxRendererGL.cpp25
-rw-r--r--xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp35
-rw-r--r--xbmc/cores/VideoRenderers/OverlayRenderer.cpp6
-rw-r--r--xbmc/cores/VideoRenderers/OverlayRenderer.h1
-rw-r--r--xbmc/cores/VideoRenderers/RenderManager.cpp14
-rw-r--r--xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h9
-rw-r--r--xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp8
-rw-r--r--xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h15
-rw-r--r--xbmc/cores/VideoRenderers/WinRenderer.cpp79
-rw-r--r--xbmc/cores/VideoRenderers/WinRenderer.h1
-rw-r--r--xbmc/cores/VideoRenderers/legacy/ComboRenderer.cpp2
-rw-r--r--xbmc/cores/VideoRenderers/legacy/RGBRendererV2.cpp2
-rw-r--r--xbmc/cores/amlplayer/AMLPlayer.cpp60
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.cpp5
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h12
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodec.h5
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp12
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.cpp14
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.h11
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp5
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp6
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.cpp6
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp17
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp12
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp30
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxSPU.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxSPU.h4
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp1
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxShoutcast.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDFileInfo.cpp8
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h4
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp3
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.h6
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamStack.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDMessage.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDMessageQueue.cpp9
-rw-r--r--xbmc/cores/dvdplayer/DVDMessageTracker.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDOverlayContainer.cpp10
-rw-r--r--xbmc/cores/dvdplayer/DVDPerformanceCounter.h2
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerAudio.cpp8
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerAudioResampler.cpp26
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerSubtitle.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerTeletext.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerVideo.cpp12
-rw-r--r--xbmc/cores/dvdplayer/DVDStreamInfo.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDStreamInfo.h3
-rw-r--r--xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParser.h5
-rw-r--r--xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagMicroDVD.h5
-rw-r--r--xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagSami.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDTSCorrection.cpp6
-rw-r--r--xbmc/cores/dvdplayer/Edl.cpp2
-rw-r--r--xbmc/cores/omxplayer/OMXAudio.cpp10
-rw-r--r--xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp1
-rw-r--r--xbmc/cores/omxplayer/OMXAudioCodecOMX.h6
-rw-r--r--xbmc/cores/omxplayer/OMXImage.cpp5
-rw-r--r--xbmc/cores/omxplayer/OMXPlayer.cpp4
-rw-r--r--xbmc/cores/omxplayer/OMXPlayerAudio.cpp15
-rw-r--r--xbmc/cores/omxplayer/OMXPlayerVideo.cpp11
-rw-r--r--xbmc/cores/omxplayer/OMXVideo.cpp18
-rw-r--r--xbmc/cores/paplayer/AudioDecoder.cpp6
-rw-r--r--xbmc/cores/paplayer/MP3codec.cpp23
-rw-r--r--xbmc/cores/paplayer/MP3codec.h2
-rw-r--r--xbmc/cores/paplayer/OggCallback.h2
-rw-r--r--xbmc/cores/paplayer/VGMCodec.cpp1
-rw-r--r--xbmc/cores/playercorefactory/PlayerCoreFactory.cpp16
-rw-r--r--xbmc/cores/playercorefactory/PlayerCoreFactory.h2
-rw-r--r--xbmc/cores/playercorefactory/PlayerSelectionRule.cpp24
-rw-r--r--xbmc/cores/playercorefactory/PlayerSelectionRule.h6
100 files changed, 502 insertions, 319 deletions
diff --git a/xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioGraph.h b/xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioGraph.h
index 5e324a9eb9..eacc95b73e 100644
--- a/xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioGraph.h
+++ b/xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioGraph.h
@@ -46,7 +46,7 @@ public:
bool Close();
bool Start();
bool Stop();
- AudioChannelLayoutTag GetChannelLayoutTag(int layout);
+ static AudioChannelLayoutTag GetChannelLayoutTag(int layout);
bool SetInputSource(ICoreAudioSource *pSource);
bool SetCurrentVolume(Float32 vol);
CAUOutputDevice* DestroyUnit(CAUOutputDevice *outputUnit);
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
index ebcbcfbc2c..e12a4e091e 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
@@ -113,19 +113,19 @@ static BOOL CALLBACK DSEnumCallback(LPGUID lpGuid, LPCTSTR lpcstrDescription, LP
}
CAESinkDirectSound::CAESinkDirectSound() :
- m_initialized (false),
- m_isDirtyDS (false),
m_pBuffer (NULL ),
m_pDSound (NULL ),
- m_BufferOffset (0 ),
- m_CacheLen (0 ),
- m_dwChunkSize (0 ),
- m_dwBufferLen (0 ),
- m_BufferTimeouts(0 ),
m_AvgBytesPerSec(0 ),
+ m_dwChunkSize (0 ),
m_dwFrameSize (0 ),
+ m_dwBufferLen (0 ),
+ m_BufferOffset (0 ),
+ m_CacheLen (0 ),
m_LastCacheCheck(0 ),
- m_running (false)
+ m_BufferTimeouts(0 ),
+ m_running (false),
+ m_initialized (false),
+ m_isDirtyDS (false)
{
m_channelLayout.Reset();
}
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
index 9ca471d930..8f82cec31b 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
@@ -176,21 +176,21 @@ CStdStringA localWideToUtf(LPCWSTR wstr)
}
CAESinkWASAPI::CAESinkWASAPI() :
- m_pAudioClient(NULL),
- m_pRenderClient(NULL),
m_needDataEvent(0),
m_pDevice(NULL),
- m_initialized(false),
- m_running(false),
+ m_pAudioClient(NULL),
+ m_pRenderClient(NULL),
m_encodedFormat(AE_FMT_INVALID),
m_encodedChannels(0),
m_encodedSampleRate(0),
- m_uiBufferLen(0),
- m_avgTimeWaiting(50),
- m_isDirty(false),
sinkReqFormat(AE_FMT_INVALID),
sinkRetFormat(AE_FMT_INVALID),
+ m_running(false),
+ m_initialized(false),
m_isSuspended(false),
+ m_isDirty(false),
+ m_uiBufferLen(0),
+ m_avgTimeWaiting(50),
m_sinkLatency(0.0)
{
m_channelLayout.Reset();
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
index 3a951162e9..312866c8d5 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
@@ -49,9 +49,9 @@ public:
private:
bool InitializeExclusive(AEAudioFormat &format);
void AEChannelsFromSpeakerMask(DWORD speakers);
- DWORD SpeakerMaskFromAEChannels(const CAEChannelInfo &channels);
- void BuildWaveFormatExtensible(AEAudioFormat &format, WAVEFORMATEXTENSIBLE &wfxex);
- void BuildWaveFormatExtensibleIEC61397(AEAudioFormat &format, WAVEFORMATEXTENSIBLE_IEC61937 &wfxex);
+ static DWORD SpeakerMaskFromAEChannels(const CAEChannelInfo &channels);
+ static void BuildWaveFormatExtensible(AEAudioFormat &format, WAVEFORMATEXTENSIBLE &wfxex);
+ static void BuildWaveFormatExtensibleIEC61397(AEAudioFormat &format, WAVEFORMATEXTENSIBLE_IEC61937 &wfxex);
static const char *WASAPIErrToStr(HRESULT err);
diff --git a/xbmc/cores/DllLoader/DllLoader-linux.cpp b/xbmc/cores/DllLoader/DllLoader-linux.cpp
index 90e9505962..bcc203ddc7 100644
--- a/xbmc/cores/DllLoader/DllLoader-linux.cpp
+++ b/xbmc/cores/DllLoader/DllLoader-linux.cpp
@@ -22,7 +22,22 @@
#include "DllLoader.h"
#include "DllLoaderContainer.h"
-CoffLoader::CoffLoader()
+CoffLoader::CoffLoader() :
+ hModule (NULL ),
+ CoffFileHeader (NULL ),
+ OptionHeader (NULL ),
+ WindowsHeader (NULL ),
+ Directory (NULL ),
+ SectionHeader (NULL ),
+ SymTable (NULL ),
+ StringTable (NULL ),
+ SectionData (NULL ),
+ EntryAddress (0 ),
+ NumberOfSymbols (0 ),
+ SizeOfStringTable (0 ),
+ NumOfDirectories (0 ),
+ NumOfSections (0 ),
+ FileHeaderOffset (0 )
{
}
diff --git a/xbmc/cores/DllLoader/DllLoader.cpp b/xbmc/cores/DllLoader/DllLoader.cpp
index 8f7175f8fb..16bb45909c 100644
--- a/xbmc/cores/DllLoader/DllLoader.cpp
+++ b/xbmc/cores/DllLoader/DllLoader.cpp
@@ -32,11 +32,6 @@ extern "C" FILE *fopen_utf8(const char *_Filename, const char *_Mode);
#define fopen_utf8 fopen
#endif
-typedef struct _UNICODE_STRING {
- USHORT Length;
- USHORT MaximumLength;
- PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
#include "commons/Exception.h"
#define DLL_PROCESS_DETACH 0
diff --git a/xbmc/cores/DllLoader/LibraryLoader.h b/xbmc/cores/DllLoader/LibraryLoader.h
index 144f8629cc..0f2a1b71af 100644
--- a/xbmc/cores/DllLoader/LibraryLoader.h
+++ b/xbmc/cores/DllLoader/LibraryLoader.h
@@ -50,6 +50,8 @@ public:
int GetRef();
private:
+ LibraryLoader(const LibraryLoader&);
+ LibraryLoader& operator=(const LibraryLoader&);
char* m_sFileName;
char* m_sPath;
int m_iRefCount;
diff --git a/xbmc/cores/DllLoader/Win32DllLoader.cpp b/xbmc/cores/DllLoader/Win32DllLoader.cpp
index 861ebdc35d..de84d4da45 100644
--- a/xbmc/cores/DllLoader/Win32DllLoader.cpp
+++ b/xbmc/cores/DllLoader/Win32DllLoader.cpp
@@ -392,7 +392,6 @@ bool FunctionNeedsWrapping(Export *exports, const char *functionName, void **fix
bool Win32DllLoader::ResolveImport(const char *dllName, const char *functionName, void **fixup)
{
- char *dll = GetName();
return FunctionNeedsWrapping(win32_exports, functionName, fixup);
}
diff --git a/xbmc/cores/DllLoader/coff.cpp b/xbmc/cores/DllLoader/coff.cpp
index 870e0d43e5..ab54263b34 100644
--- a/xbmc/cores/DllLoader/coff.cpp
+++ b/xbmc/cores/DllLoader/coff.cpp
@@ -69,6 +69,7 @@ CoffLoader::CoffLoader()
NumOfDirectories = 0;
NumOfSections = 0;
FileHeaderOffset = 0;
+ EntryAddress = 0;
hModule = NULL;
}
@@ -486,7 +487,6 @@ char *CoffLoader::GetStringTblOff(int Offset)
char *CoffLoader::GetSymbolName(SymbolTable_t *sym)
{
- static char shortname[9];
__int64 index = sym->Name.Offset;
int low = (int)(index & 0xFFFFFFFF);
int high = (int)((index >> 32) & 0xFFFFFFFF);
@@ -497,6 +497,7 @@ char *CoffLoader::GetSymbolName(SymbolTable_t *sym)
}
else
{
+ static char shortname[9];
memset(shortname, 0, 9);
strncpy(shortname, (char *)sym->Name.ShortName, 8);
return shortname;
diff --git a/xbmc/cores/DllLoader/coffldr.h b/xbmc/cores/DllLoader/coffldr.h
index 296fdafc26..e87e5bc5e8 100644
--- a/xbmc/cores/DllLoader/coffldr.h
+++ b/xbmc/cores/DllLoader/coffldr.h
@@ -78,10 +78,10 @@ protected:
int FileHeaderOffset;
// Members for printing the structures
- void PrintFileHeader(COFF_FileHeader_t *FileHeader);
- void PrintWindowsHeader(WindowsHeader_t *WinHdr);
- void PrintOptionHeader(OptionHeader_t *OptHdr);
- void PrintSection(SectionHeader_t *ScnHdr, char *data);
+ static void PrintFileHeader(COFF_FileHeader_t *FileHeader);
+ static void PrintWindowsHeader(WindowsHeader_t *WinHdr);
+ static void PrintOptionHeader(OptionHeader_t *OptHdr);
+ static void PrintSection(SectionHeader_t *ScnHdr, char *data);
void PrintStringTable(void);
void PrintSymbolTable(void);
diff --git a/xbmc/cores/DllLoader/dll_tracker.cpp b/xbmc/cores/DllLoader/dll_tracker.cpp
index 53054f9f65..c40dfd517d 100644
--- a/xbmc/cores/DllLoader/dll_tracker.cpp
+++ b/xbmc/cores/DllLoader/dll_tracker.cpp
@@ -65,14 +65,14 @@ void tracker_dll_free(DllLoader* pDll)
}
// free all functions which where created at the time we loaded the dll
DummyListIter dit = (*it)->dummyList.begin();
- while (dit != (*it)->dummyList.end()) { free((void*)*dit); dit++; }
+ while (dit != (*it)->dummyList.end()) { free((void*)*dit); ++dit; }
(*it)->dummyList.clear();
delete (*it);
it = g_trackedDlls.erase(it);
}
else
- it++;
+ ++it;
}
}
diff --git a/xbmc/cores/DllLoader/exports/emu_kernel32.cpp b/xbmc/cores/DllLoader/exports/emu_kernel32.cpp
index 612d616765..e555279d6c 100644
--- a/xbmc/cores/DllLoader/exports/emu_kernel32.cpp
+++ b/xbmc/cores/DllLoader/exports/emu_kernel32.cpp
@@ -218,13 +218,6 @@ extern "C" DWORD WINAPI dllGetFileAttributesA(LPCSTR lpFileName)
#endif
}
-struct SThreadWrapper
-{
- LPTHREAD_START_ROUTINE lpStartAddress;
- LPVOID lpParameter;
- PCHAR lpDLL;
-};
-
extern "C" void WINAPI dllSleep(DWORD dwTime)
{
return ::Sleep(dwTime);
diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
index 32db3b93e4..2f15c971d4 100644
--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
@@ -104,12 +104,6 @@ bool bVecDirsInited = false;
extern void update_cache_dialog(const char* tmp);
#endif
-struct _env
-{
- const char* name;
- char* value;
-};
-
#define EMU_MAX_ENVIRONMENT_ITEMS 100
static char *dll__environ_imp[EMU_MAX_ENVIRONMENT_ITEMS + 1];
extern "C" char **dll__environ;
diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
index d9e30627cb..26ccce6d50 100644
--- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
+++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
@@ -76,7 +76,6 @@ public:
private:
EmuFileObject m_files[MAX_EMULATED_FILES];
CCriticalSection m_criticalSection;
- bool m_initialized;
};
extern CEmuFileWrapper g_emuFileWrapper;
diff --git a/xbmc/cores/DllLoader/ldt_keeper.c b/xbmc/cores/DllLoader/ldt_keeper.c
index c88c458a7b..07e3ff4e1d 100644
--- a/xbmc/cores/DllLoader/ldt_keeper.c
+++ b/xbmc/cores/DllLoader/ldt_keeper.c
@@ -100,7 +100,6 @@ struct modify_ldt_ldt_s {
unsigned int read_exec_only:1;
unsigned int limit_in_pages:1;
unsigned int seg_not_present:1;
- unsigned int useable:1;
};
#define MODIFY_LDT_CONTENTS_DATA 0
diff --git a/xbmc/cores/ExternalPlayer/ExternalPlayer.cpp b/xbmc/cores/ExternalPlayer/ExternalPlayer.cpp
index 782fb27d53..46ab4a3865 100644
--- a/xbmc/cores/ExternalPlayer/ExternalPlayer.cpp
+++ b/xbmc/cores/ExternalPlayer/ExternalPlayer.cpp
@@ -86,6 +86,10 @@ CExternalPlayer::CExternalPlayer(IPlayerCallback& callback)
m_playOneStackItem = false;
m_dialog = NULL;
+ m_hwndXbmc = NULL;
+ m_xPos = 0;
+ m_yPos = 0;
+
#if defined(_WIN32)
memset(&m_processInfo, 0, sizeof(m_processInfo));
diff --git a/xbmc/cores/VideoRenderers/BaseRenderer.cpp b/xbmc/cores/VideoRenderers/BaseRenderer.cpp
index f75e335d1c..2f35f161a2 100644
--- a/xbmc/cores/VideoRenderers/BaseRenderer.cpp
+++ b/xbmc/cores/VideoRenderers/BaseRenderer.cpp
@@ -672,12 +672,10 @@ void CBaseRenderer::SetViewMode(int viewMode)
// calculate the desired output ratio
float outputFrameRatio = sourceFrameRatio * g_settings.m_fPixelRatio / CDisplaySettings::Get().GetResolutionInfo(res).fPixelRatio;
// now calculate the correct zoom amount. First zoom to full width.
- float newWidth = screenWidth;
- float newHeight = newWidth / outputFrameRatio;
+ float newHeight = screenWidth / outputFrameRatio;
if (newHeight > screenHeight)
{ // zoom to full height
newHeight = screenHeight;
- newWidth = newHeight * outputFrameRatio;
}
// now work out the zoom amount so that no zoom is done
g_settings.m_fZoomAmount = (m_sourceHeight - CMediaSettings::Get().GetCurrentVideoSettings().m_CropTop - CMediaSettings::Get().GetCurrentVideoSettings().m_CropBottom) / newHeight;
diff --git a/xbmc/cores/VideoRenderers/BaseRenderer.h b/xbmc/cores/VideoRenderers/BaseRenderer.h
index 66496f2a21..3e1944d2e9 100644
--- a/xbmc/cores/VideoRenderers/BaseRenderer.h
+++ b/xbmc/cores/VideoRenderers/BaseRenderer.h
@@ -97,7 +97,7 @@ protected:
bool FindResolutionFromOverride(float fps, float& weight, bool fallback);
void FindResolutionFromFpsMatch(float fps, float& weight);
RESOLUTION FindClosestResolution(float fps, float multiplier, RESOLUTION current, float& weight);
- float RefreshWeight(float refresh, float fps);
+ static float RefreshWeight(float refresh, float fps);
void CalcNormalDisplayRect(float offsetX, float offsetY, float screenWidth, float screenHeight, float inputFrameRatio, float zoomAmount, float verticalShift);
void CalculateFrameAspectRatio(unsigned int desired_width, unsigned int desired_height);
void ManageDisplay();
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index 01776ba8ee..d6dbe051c1 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -175,6 +175,19 @@ CLinuxRendererGL::CLinuxRendererGL()
m_rgbBufferSize = 0;
m_context = NULL;
m_rgbPbo = 0;
+ m_fbo.width = 0.0;
+ m_fbo.height = 0.0;
+ m_NumYV12Buffers = 0;
+ m_iLastRenderBuffer = 0;
+ m_bConfigured = false;
+ m_bValidated = false;
+ m_bImageReady = false;
+ m_clearColour = 0.0f;
+ m_pboSupported = false;
+ m_pboUsed = false;
+ m_nonLinStretch = false;
+ m_nonLinStretchGui = false;
+ m_pixelRatio = 0.0f;
m_dllSwScale = new DllSwScale;
}
@@ -1006,14 +1019,14 @@ void CLinuxRendererGL::LoadShaders(int field)
UpdateVideoFilter();
break;
}
- else
+ else if (m_pYUVShader)
{
m_pYUVShader->Free();
delete m_pYUVShader;
m_pYUVShader = NULL;
- CLog::Log(LOGERROR, "GL: Error enabling YUV2RGB GLSL shader");
- // drop through and try ARB
}
+ CLog::Log(LOGERROR, "GL: Error enabling YUV2RGB GLSL shader");
+ // drop through and try ARB
}
case RENDER_METHOD_ARB:
// Try ARB shaders if supported and user requested it or GLSL shaders failed.
@@ -1032,14 +1045,14 @@ void CLinuxRendererGL::LoadShaders(int field)
UpdateVideoFilter();
break;
}
- else
+ else if (m_pYUVShader)
{
m_pYUVShader->Free();
delete m_pYUVShader;
m_pYUVShader = NULL;
- CLog::Log(LOGERROR, "GL: Error enabling YUV2RGB ARB shader");
- // drop through and use SW
}
+ CLog::Log(LOGERROR, "GL: Error enabling YUV2RGB ARB shader");
+ // drop through and use SW
}
case RENDER_METHOD_SOFTWARE:
default:
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
index 9a60bfb9cd..cca55c78b2 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
@@ -115,6 +115,13 @@ CLinuxRendererGLES::CLinuxRendererGLES()
m_dllSwScale = new DllSwScale;
m_sw_context = NULL;
+ m_NumYV12Buffers = 0;
+ m_iLastRenderBuffer = 0;
+ m_bConfigured = false;
+ m_bValidated = false;
+ m_bImageReady = false;
+ m_StrictBinding = false;
+ m_clearColour = 0.0f;
}
CLinuxRendererGLES::~CLinuxRendererGLES()
@@ -667,7 +674,7 @@ void CLinuxRendererGLES::LoadShaders(int field)
UpdateVideoFilter();
break;
}
- else
+ else if (m_pYUVShader)
{
m_pYUVShader->Free();
delete m_pYUVShader;
@@ -1017,16 +1024,16 @@ void CLinuxRendererGLES::RenderMultiPass(int index, int field)
CLog::Log(LOGERROR, "GL: Error enabling YUV shader");
}
- float imgwidth = planes[0].rect.x2 - planes[0].rect.x1;
- float imgheight = planes[0].rect.y2 - planes[0].rect.y1;
- if (m_textureTarget == GL_TEXTURE_2D)
- {
- imgwidth *= planes[0].texwidth;
- imgheight *= planes[0].texheight;
- }
-
- // 1st Pass to video frame size
+// 1st Pass to video frame size
//TODO
+// float imgwidth = planes[0].rect.x2 - planes[0].rect.x1;
+// float imgheight = planes[0].rect.y2 - planes[0].rect.y1;
+// if (m_textureTarget == GL_TEXTURE_2D)
+// {
+// imgwidth *= planes[0].texwidth;
+// imgheight *= planes[0].texheight;
+// }
+//
// glBegin(GL_QUADS);
//
// glMultiTexCoord2fARB(GL_TEXTURE0, planes[0].rect.x1, planes[0].rect.y1);
@@ -1094,10 +1101,10 @@ void CLinuxRendererGLES::RenderMultiPass(int index, int field)
VerifyGLState();
- imgwidth /= m_sourceWidth;
- imgheight /= m_sourceHeight;
-
//TODO
+// imgwidth /= m_sourceWidth;
+// imgheight /= m_sourceHeight;
+//
// glBegin(GL_QUADS);
//
// glMultiTexCoord2fARB(GL_TEXTURE0, 0.0f , 0.0f);
@@ -1965,7 +1972,7 @@ EINTERLACEMETHOD CLinuxRendererGLES::AutoInterlaceMethod()
// Player controls render, let it pick the auto-deinterlace method
if((m_renderMethod & RENDER_BYPASS))
{
- if (m_deinterlaceMethods.size())
+ if (!m_deinterlaceMethods.empty())
return ((EINTERLACEMETHOD)m_deinterlaceMethods[0]);
else
return VS_INTERLACEMETHOD_NONE;
diff --git a/xbmc/cores/VideoRenderers/OverlayRenderer.cpp b/xbmc/cores/VideoRenderers/OverlayRenderer.cpp
index b00f28ebc8..4dd27b7912 100644
--- a/xbmc/cores/VideoRenderers/OverlayRenderer.cpp
+++ b/xbmc/cores/VideoRenderers/OverlayRenderer.cpp
@@ -130,7 +130,7 @@ void CRenderer::Release(SElementV& list)
SElementV l = list;
list.clear();
- for(SElementV::iterator it = l.begin(); it != l.end(); it++)
+ for(SElementV::iterator it = l.begin(); it != l.end(); ++it)
{
if(it->overlay)
it->overlay->Release();
@@ -144,7 +144,7 @@ void CRenderer::Release(COverlayV& list)
COverlayV l = list;
list.clear();
- for(COverlayV::iterator it = l.begin(); it != l.end(); it++)
+ for(COverlayV::iterator it = l.begin(); it != l.end(); ++it)
(*it)->Release();
}
@@ -175,7 +175,7 @@ void CRenderer::Render()
Release(m_cleanup);
SElementV& list = m_buffers[m_render];
- for(SElementV::iterator it = list.begin(); it != list.end(); it++)
+ for(SElementV::iterator it = list.begin(); it != list.end(); ++it)
{
COverlay* o = NULL;
diff --git a/xbmc/cores/VideoRenderers/OverlayRenderer.h b/xbmc/cores/VideoRenderers/OverlayRenderer.h
index 8222b3a082..57907038d9 100644
--- a/xbmc/cores/VideoRenderers/OverlayRenderer.h
+++ b/xbmc/cores/VideoRenderers/OverlayRenderer.h
@@ -107,6 +107,7 @@ namespace OVERLAY {
{
overlay_dvd = NULL;
overlay = NULL;
+ pts = 0.0;
}
double pts;
CDVDOverlay* overlay_dvd;
diff --git a/xbmc/cores/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoRenderers/RenderManager.cpp
index 1b761ace01..14c30843e8 100644
--- a/xbmc/cores/VideoRenderers/RenderManager.cpp
+++ b/xbmc/cores/VideoRenderers/RenderManager.cpp
@@ -65,7 +65,8 @@ class CRetakeLock
{
public:
CRetakeLock(CSharedSection &section, bool immidiate = true, CCriticalSection &owned = g_graphicsContext)
- : m_owned(owned)
+ : m_lock (NULL ),
+ m_owned(owned )
{
m_count = m_owned.exit();
m_lock = new T(section);
@@ -104,6 +105,10 @@ CXBMCRenderManager::CXBMCRenderManager()
m_bReconfigured = false;
m_hasCaptures = false;
m_displayLatency = 0.0f;
+ m_presentcorr = 0.0;
+ m_presenterr = 0.0;
+ memset(&m_errorbuff, 0, ERRORBUFFSIZE);
+ m_errorindex = 0;
}
CXBMCRenderManager::~CXBMCRenderManager()
@@ -496,7 +501,7 @@ void CXBMCRenderManager::ManageCaptures()
if (capture->IsAsync() && !(capture->GetFlags() & CAPTUREFLAG_IMMEDIATELY))
RenderCapture(capture);
- it++;
+ ++it;
}
else
{
@@ -505,7 +510,7 @@ void CXBMCRenderManager::ManageCaptures()
}
else
{
- it++;
+ ++it;
}
}
@@ -568,8 +573,6 @@ void CXBMCRenderManager::FlipPage(volatile bool& bStop, double timestamp /* = 0L
EDEINTERLACEMODE deinterlacemode = CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode;
EINTERLACEMETHOD interlacemethod = AutoInterlaceMethodInternal(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod);
- bool invert = false;
-
if (deinterlacemode == VS_DEINTERLACEMODE_OFF)
m_presentmethod = PRESENT_METHOD_SINGLE;
else
@@ -578,6 +581,7 @@ void CXBMCRenderManager::FlipPage(volatile bool& bStop, double timestamp /* = 0L
m_presentmethod = PRESENT_METHOD_SINGLE;
else
{
+ bool invert = false;
if (interlacemethod == VS_INTERLACEMETHOD_RENDER_BLEND) m_presentmethod = PRESENT_METHOD_BLEND;
else if (interlacemethod == VS_INTERLACEMETHOD_RENDER_WEAVE) m_presentmethod = PRESENT_METHOD_WEAVE;
else if (interlacemethod == VS_INTERLACEMETHOD_RENDER_WEAVE_INVERTED) { m_presentmethod = PRESENT_METHOD_WEAVE ; invert = true; }
diff --git a/xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h b/xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h
index b970b9326d..c0b5ed34fc 100644
--- a/xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h
+++ b/xbmc/cores/VideoRenderers/VideoShaders/ConvolutionKernels.h
@@ -36,7 +36,8 @@ class CConvolutionKernel
uint8_t* GetUint8Pixels() { return m_uint8pixels; }
private:
-
+ CConvolutionKernel(const CConvolutionKernel&);
+ CConvolutionKernel& operator=(const CConvolutionKernel&);
void Lanczos2();
void Lanczos3Fast();
void Lanczos3();
@@ -44,9 +45,9 @@ class CConvolutionKernel
void Spline36();
void Bicubic(double B, double C);
- double LanczosWeight(double x, double radius);
- double Spline36Weight(double x);
- double BicubicWeight(double x, double B, double C);
+ static double LanczosWeight(double x, double radius);
+ static double Spline36Weight(double x);
+ static double BicubicWeight(double x, double B, double C);
void ToIntFract();
void ToUint8();
diff --git a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
index 0784bce3bb..9fbaaea1be 100644
--- a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
+++ b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.cpp
@@ -32,7 +32,11 @@
CYUV2RGBMatrix::CYUV2RGBMatrix()
{
- m_NeedRecalc = true;
+ m_NeedRecalc = true;
+ m_blacklevel = 0.0f;
+ m_contrast = 0.0f;
+ m_flags = 0;
+ m_format = RENDER_FMT_NONE;
}
void CYUV2RGBMatrix::SetParameters(float contrast, float blacklevel, unsigned int flags, ERenderFormat format)
@@ -159,7 +163,7 @@ bool CWinShader::Execute(std::vector<LPDIRECT3DSURFACE9> *vecRT, unsigned int ve
LPDIRECT3DSURFACE9 oldRT = 0;
// The render target will be overriden: save the caller's original RT
- if (vecRT != NULL && vecRT->size() > 0)
+ if (vecRT != NULL && !vecRT->empty())
pD3DDevice->GetRenderTarget(0, &oldRT);
pD3DDevice->SetFVF(m_FVF);
diff --git a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
index b9b02225f6..03aa21d38c 100644
--- a/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
+++ b/xbmc/cores/VideoRenderers/VideoShaders/WinVideoFilter.h
@@ -46,7 +46,12 @@ private:
class CWinShader
{
protected:
- CWinShader() {}
+ CWinShader() :
+ m_vbsize(0),
+ m_FVF(0),
+ m_vertsize(0),
+ m_primitivesCount(0)
+ {}
virtual ~CWinShader();
virtual bool CreateVertexBuffer(DWORD FVF, unsigned int vertCount, unsigned int vertSize, unsigned int primitivesCount);
virtual bool LockVertexBuffer(void **data);
@@ -74,6 +79,13 @@ public:
float brightness,
unsigned int flags,
YUVBuffer* YUVbuf);
+ CYUV2RGBShader() :
+ m_sourceWidth (0),
+ m_sourceHeight(0),
+ m_format (RENDER_FMT_NONE)
+ {
+ memset(&m_texSteps,0,sizeof(m_texSteps));
+ }
virtual ~CYUV2RGBShader();
protected:
@@ -138,6 +150,7 @@ public:
unsigned int destWidth, unsigned int destHeight,
CRect sourceRect,
CRect destRect);
+ CConvolutionShader1Pass() : m_sourceWidth (0), m_sourceHeight(0) {}
protected:
virtual void PrepareParameters(unsigned int sourceWidth, unsigned int sourceHeight,
diff --git a/xbmc/cores/VideoRenderers/WinRenderer.cpp b/xbmc/cores/VideoRenderers/WinRenderer.cpp
index 65c05597c1..0a08e03ef4 100644
--- a/xbmc/cores/VideoRenderers/WinRenderer.cpp
+++ b/xbmc/cores/VideoRenderers/WinRenderer.cpp
@@ -85,6 +85,13 @@ CWinRenderer::CWinRenderer()
m_sw_scale_ctx = NULL;
m_dllSwScale = NULL;
+ m_destWidth = 0;
+ m_destHeight = 0;
+ m_dllAvUtil = NULL;
+ m_dllAvCodec = NULL;
+ m_bConfigured = false;
+ m_clearColour = 0;
+ m_format = RENDER_FMT_NONE;
}
CWinRenderer::~CWinRenderer()
@@ -512,7 +519,7 @@ void CWinRenderer::SelectPSVideoFilter()
bool scaleUp = (int)m_sourceHeight < g_graphicsContext.GetHeight() && (int)m_sourceWidth < g_graphicsContext.GetWidth();
bool scaleFps = m_fps < (g_advancedSettings.m_videoAutoScaleMaxFps + 0.01f);
- if (Supports(VS_SCALINGMETHOD_LANCZOS3_FAST) && scaleSD && scaleUp && scaleFps)
+ if (scaleSD && scaleUp && scaleFps && Supports(VS_SCALINGMETHOD_LANCZOS3_FAST))
{
m_scalingMethod = VS_SCALINGMETHOD_LANCZOS3_FAST;
m_bUseHQScaler = true;
@@ -798,46 +805,46 @@ void CWinRenderer::ScaleFixedPipeline()
if (!cbcontrol)
{
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
}
else
{
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE2X );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
- hr = pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
-
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_ADDSIGNED );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_CURRENT );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_SPECULAR );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
- hr = pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAARG1, D3DTA_CURRENT );
-
- hr = pD3DDev->SetTextureStageState( 2, D3DTSS_COLOROP, D3DTOP_DISABLE );
- hr = pD3DDev->SetTextureStageState( 2, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE2X );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
+ pD3DDev->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
+
+ pD3DDev->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_ADDSIGNED );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_CURRENT );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_SPECULAR );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
+ pD3DDev->SetTextureStageState( 1, D3DTSS_ALPHAARG1, D3DTA_CURRENT );
+
+ pD3DDev->SetTextureStageState( 2, D3DTSS_COLOROP, D3DTOP_DISABLE );
+ pD3DDev->SetTextureStageState( 2, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
}
- hr = pD3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
- hr = pD3DDev->SetRenderState(D3DRS_LIGHTING, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_ZENABLE, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_STENCILENABLE, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_SCISSORTESTENABLE, FALSE);
- hr = pD3DDev->SetRenderState(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_ALPHA|D3DCOLORWRITEENABLE_BLUE|D3DCOLORWRITEENABLE_GREEN|D3DCOLORWRITEENABLE_RED);
-
- hr = pD3DDev->SetSamplerState(0, D3DSAMP_MAGFILTER, m_TextureFilter);
- hr = pD3DDev->SetSamplerState(0, D3DSAMP_MINFILTER, m_TextureFilter);
- hr = pD3DDev->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP);
- hr = pD3DDev->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP);
-
- hr = pD3DDev->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1);
+ pD3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
+ pD3DDev->SetRenderState(D3DRS_LIGHTING, FALSE);
+ pD3DDev->SetRenderState(D3DRS_ZENABLE, FALSE);
+ pD3DDev->SetRenderState(D3DRS_STENCILENABLE, FALSE);
+ pD3DDev->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
+ pD3DDev->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
+ pD3DDev->SetRenderState(D3DRS_SCISSORTESTENABLE, FALSE);
+ pD3DDev->SetRenderState(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_ALPHA|D3DCOLORWRITEENABLE_BLUE|D3DCOLORWRITEENABLE_GREEN|D3DCOLORWRITEENABLE_RED);
+
+ pD3DDev->SetSamplerState(0, D3DSAMP_MAGFILTER, m_TextureFilter);
+ pD3DDev->SetSamplerState(0, D3DSAMP_MINFILTER, m_TextureFilter);
+ pD3DDev->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP);
+ pD3DDev->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP);
+
+ pD3DDev->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1);
if (FAILED(hr = pD3DDev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, vertex, sizeof(VERTEX))))
CLog::Log(LOGERROR, __FUNCTION__": DrawPrimitiveUP failed. %s", CRenderSystemDX::GetErrorDescription(hr).c_str());
diff --git a/xbmc/cores/VideoRenderers/WinRenderer.h b/xbmc/cores/VideoRenderers/WinRenderer.h
index b483906cc7..251aa31c19 100644
--- a/xbmc/cores/VideoRenderers/WinRenderer.h
+++ b/xbmc/cores/VideoRenderers/WinRenderer.h
@@ -112,6 +112,7 @@ struct SVideoPlane
struct YUVBuffer : SVideoBuffer
{
+ YUVBuffer() : m_width (0), m_height(0), m_format(RENDER_FMT_NONE), m_activeplanes(0) {}
~YUVBuffer();
bool Create(ERenderFormat format, unsigned int width, unsigned int height);
virtual void Release();
diff --git a/xbmc/cores/VideoRenderers/legacy/ComboRenderer.cpp b/xbmc/cores/VideoRenderers/legacy/ComboRenderer.cpp
index 1d4ca9a185..b5439e8cf5 100644
--- a/xbmc/cores/VideoRenderers/legacy/ComboRenderer.cpp
+++ b/xbmc/cores/VideoRenderers/legacy/ComboRenderer.cpp
@@ -34,6 +34,8 @@ CComboRenderer::CComboRenderer(LPDIRECT3DDEVICE8 pDevice)
m_hPixelShader = 0;
m_iYUY2RenderBuffer = 0;
m_iYUY2Buffers = 2;
+ m_iScreenWidth = 0;
+ m_iScreenHeight = 0;
}
void CComboRenderer::DeleteYUY2Texture(int index)
diff --git a/xbmc/cores/VideoRenderers/legacy/RGBRendererV2.cpp b/xbmc/cores/VideoRenderers/legacy/RGBRendererV2.cpp
index 44056034eb..39f869fbb9 100644
--- a/xbmc/cores/VideoRenderers/legacy/RGBRendererV2.cpp
+++ b/xbmc/cores/VideoRenderers/legacy/RGBRendererV2.cpp
@@ -37,6 +37,8 @@ CRGBRendererV2::CRGBRendererV2(LPDIRECT3DDEVICE8 pDevice)
m_UVLookup = NULL;
m_UVErrorLookup = NULL;
m_motionpass = 5;
+ m_444GeneratedFull = false;
+ m_444RenderBuffer = 0;
memset(&m_yuvcoef_last, 0, sizeof(YUVCOEF));
memset(&m_yuvrange_last, 0, sizeof(YUVRANGE));
}
diff --git a/xbmc/cores/amlplayer/AMLPlayer.cpp b/xbmc/cores/amlplayer/AMLPlayer.cpp
index 2677341d99..85295485ec 100644
--- a/xbmc/cores/amlplayer/AMLPlayer.cpp
+++ b/xbmc/cores/amlplayer/AMLPlayer.cpp
@@ -316,7 +316,7 @@ CAMLSubTitleThread::~CAMLSubTitleThread()
void CAMLSubTitleThread::UpdateSubtitle(CStdString &subtitle, int64_t elapsed_ms)
{
CSingleLock lock(m_subtitle_csection);
- if (m_subtitle_strings.size())
+ if (!m_subtitle_strings.empty())
{
AMLSubtitle *amlsubtitle;
// remove any expired subtitles
@@ -327,7 +327,7 @@ void CAMLSubTitleThread::UpdateSubtitle(CStdString &subtitle, int64_t elapsed_ms
if (elapsed_ms > amlsubtitle->endtime)
it = m_subtitle_strings.erase(it);
else
- it++;
+ ++it;
}
// find the current subtitle
@@ -340,7 +340,7 @@ void CAMLSubTitleThread::UpdateSubtitle(CStdString &subtitle, int64_t elapsed_ms
subtitle = amlsubtitle->string;
break;
}
- it++;
+ ++it;
}
}
}
@@ -364,7 +364,6 @@ void CAMLSubTitleThread::Process(void)
int sub_size = m_dll->codec_get_sub_size_fd(m_subtitle_codec);
if (sub_size > 0)
{
- int sub_type = 0, sub_pts = 0;
// calloc sub_size + 1 so we auto terminate the string
char *sub_buffer = (char*)calloc(sub_size + 1, 1);
m_dll->codec_read_sub_data_fd(m_subtitle_codec, sub_buffer, sub_size);
@@ -381,10 +380,9 @@ void CAMLSubTitleThread::Process(void)
CSingleLock lock(m_subtitle_csection);
AMLSubtitle *subtitle = new AMLSubtitle;
-
- sub_type = (sub_buffer[5] << 16) | (sub_buffer[6] << 8) | sub_buffer[7];
+ int sub_type = (sub_buffer[5] << 16) | (sub_buffer[6] << 8) | sub_buffer[7];
// sub_pts are in ffmpeg timebase, not ms timebase, convert it.
- sub_pts = (sub_buffer[12] << 24) | (sub_buffer[13] << 16) | (sub_buffer[14] << 8) | sub_buffer[15];
+ int sub_pts = (sub_buffer[12] << 24) | (sub_buffer[13] << 16) | (sub_buffer[14] << 8) | sub_buffer[15];
/* TODO: handle other subtitle codec types
// subtitle codecs
@@ -502,20 +500,46 @@ void CAMLSubTitleThread::Process(void)
////////////////////////////////////////////////////////////////////////////////////////////
CAMLPlayer::CAMLPlayer(IPlayerCallback &callback)
: IPlayer(callback),
- CThread("CAMLPlayer"),
- m_ready(true)
+ CThread ("CAMLPlayer" ),
+ m_cpu (0 ),
+ m_speed (0 ),
+ m_paused (false ),
+ m_bAbortRequest (false ),
+ m_ready (true ),
+ m_audio_index (0 ),
+ m_audio_count (0 ),
+ m_audio_delay (0 ),
+ m_audio_passthrough_ac3 (false ),
+ m_audio_passthrough_dts (false ),
+ m_audio_mute (false ),
+ m_audio_volume (0.0f ),
+ m_video_index (0 ),
+ m_video_count (0 ),
+ m_video_width (0 ),
+ m_video_height (0 ),
+ m_video_fps_numerator (0 ),
+ m_video_fps_denominator (0 ),
+ m_subtitle_index (0 ),
+ m_subtitle_count (0 ),
+ m_subtitle_show (false ),
+ m_subtitle_delay (0 ),
+ m_subtitle_thread (NULL ),
+ m_chapter_index (0 ),
+ m_chapter_count (0 ),
+ m_show_mainvideo (0 ),
+ m_view_mode (0 ),
+ m_zoom (0 ),
+ m_contrast (0 ),
+ m_brightness (0 )
{
m_dll = new DllLibAmplayer;
m_dll->Load();
m_pid = -1;
- m_speed = 0;
- m_paused = false;
#if defined(_DEBUG)
m_log_level = 5;
#else
m_log_level = 3;
#endif
- m_bAbortRequest = false;
// for external subtitles
m_dvdOverlayContainer = new CDVDOverlayContainer;
@@ -814,7 +838,7 @@ void CAMLPlayer::SetVolume(float volume)
void CAMLPlayer::GetAudioInfo(CStdString &strAudioInfo)
{
CSingleLock lock(m_aml_csection);
- if (m_audio_streams.size() == 0 || m_audio_index > (int)(m_audio_streams.size() - 1))
+ if (m_audio_streams.empty() || m_audio_index > (int)(m_audio_streams.size() - 1))
return;
strAudioInfo.Format("Audio stream (%s) [Kb/s:%.2f]",
@@ -825,7 +849,7 @@ void CAMLPlayer::GetAudioInfo(CStdString &strAudioInfo)
void CAMLPlayer::GetVideoInfo(CStdString &strVideoInfo)
{
CSingleLock lock(m_aml_csection);
- if (m_video_streams.size() == 0 || m_video_index > (int)(m_video_streams.size() - 1))
+ if (m_video_streams.empty() || m_video_index > (int)(m_video_streams.size() - 1))
return;
strVideoInfo.Format("Video stream (%s) [fr:%.3f Mb/s:%.2f]",
@@ -1085,7 +1109,7 @@ __int64 CAMLPlayer::GetTotalTime()
void CAMLPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
{
CSingleLock lock(m_aml_csection);
- if (index < 0 || m_audio_streams.size() == 0 || index > (int)(m_audio_streams.size() - 1))
+ if (index < 0 || m_audio_streams.empty() || index > (int)(m_audio_streams.size() - 1))
return;
info.bitrate = m_audio_streams[index]->bit_rate;
@@ -1126,7 +1150,7 @@ void CAMLPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
void CAMLPlayer::GetVideoStreamInfo(SPlayerVideoStreamInfo &info)
{
CSingleLock lock(m_aml_csection);
- if (m_video_streams.size() == 0 || m_video_index > (int)(m_video_streams.size() - 1))
+ if (m_video_streams.empty() || m_video_index > (int)(m_video_streams.size() - 1))
return;
info.bitrate = m_video_streams[m_video_index]->bit_rate;
@@ -1150,7 +1174,7 @@ int CAMLPlayer::GetBitsPerSample()
int CAMLPlayer::GetSampleRate()
{
CSingleLock lock(m_aml_csection);
- if (m_audio_streams.size() == 0 || m_audio_index > (int)(m_audio_streams.size() - 1))
+ if (m_audio_streams.empty() || m_audio_index > (int)(m_audio_streams.size() - 1))
return 0;
return m_audio_streams[m_audio_index]->sample_rate;
@@ -2103,11 +2127,11 @@ void CAMLPlayer::FindSubtitleFiles()
int CAMLPlayer::AddSubtitleFile(const std::string &filename, const std::string &subfilename)
{
std::string ext = URIUtils::GetExtension(filename);
- std::string vobsubfile = subfilename;
if(ext == ".idx")
{
/* TODO: we do not handle idx/sub binary subs yet.
+ std::string vobsubfile = subfilename;
if (vobsubfile.empty())
vobsubfile = URIUtils::ReplaceExtension(filename, ".sub");
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.cpp
index e53a282611..5e815c25d6 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.cpp
@@ -47,12 +47,12 @@ int CDVDAudioCodecLPcm::Decode(BYTE* pData, int iSize)
{
BYTE* d = m_buffer;
BYTE* s = pData;
- int iDecoded = 0;
if (iSize > m_bufferSize) iSize = m_bufferSize;
if (iSize >= 12)
{
+ int iDecoded = 0;
#if 0
if (m_codecID == CODEC_ID_LPCM_S24BE)
#endif
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.cpp
index 022ec1b334..ccbfe1601e 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.cpp
@@ -36,6 +36,8 @@ CDVDAudioCodecLibMad::CDVDAudioCodecLibMad() : CDVDAudioCodec()
m_iSourceBitrate = 0;
m_iInputBufferSize = 0;
+ memset(&m_decodedData, 0, MAD_DECODED_SIZE);
+ memset(&m_inputBuffer, 0, MAD_INPUT_SIZE);
}
CDVDAudioCodecLibMad::~CDVDAudioCodecLibMad()
@@ -86,7 +88,6 @@ int CDVDAudioCodecLibMad::Decode(BYTE* pData, int iSize)
{
BYTE* pBuffer = m_inputBuffer;
//int iBufferSize = iSize;
- bool bFullOutputBuffer = false;
m_iDecodedDataSize = 0;
@@ -100,6 +101,7 @@ int CDVDAudioCodecLibMad::Decode(BYTE* pData, int iSize)
if (m_bInitialized)
{
+ bool bFullOutputBuffer = false;
m_dll.mad_stream_buffer(&m_stream, pBuffer, m_iInputBufferSize);
while (true)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.cpp
index acb468ef59..e9a820e63c 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.cpp
@@ -60,6 +60,11 @@ CDVDAudioCodecPassthroughFFmpeg::CDVDAudioCodecPassthroughFFmpeg(void)
/* make enough room for at-least two audio frames */
m_DecodeSize = 0;
m_DecodeBuffer = NULL;
+ m_bSupportsAC3Out = false;
+ m_bSupportsDTSOut = false;
+ m_bSupportsAACOut = false;
+ m_LostSync = false;
+
}
CDVDAudioCodecPassthroughFFmpeg::~CDVDAudioCodecPassthroughFFmpeg(void)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h b/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h
index bc6f4e0cb8..2e68e7d567 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h
@@ -61,7 +61,7 @@ extern "C" {
class CDVDCodecOption
{
public:
- CDVDCodecOption(std::string name, std::string value) { m_name = name; m_value = value; }
+ CDVDCodecOption(const std::string& name, const std::string& value) : m_name(name), m_value(value) {}
std::string m_name;
std::string m_value;
};
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
index 30660f0b9b..eedde21324 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
@@ -128,7 +128,7 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne
CDVDVideoCodec* pCodec = NULL;
CDVDCodecOptions options;
- if(formats.size() == 0)
+ if(formats.empty())
options.m_formats.push_back(RENDER_FMT_YUV420P);
else
options.m_formats = formats;
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h
index da8de1feb9..75164d3439 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h
@@ -75,8 +75,8 @@ public:
}
/**
- * decrease the reference counter by one.
- */
+ * increase the reference counter by one.
+ */
CDVDOverlay* Acquire()
{
AtomicIncrement(&m_references);
@@ -84,8 +84,8 @@ public:
}
/**
- * increase the reference counter by one.
- */
+ * decrease the reference counter by one.
+ */
long Release()
{
long count = AtomicDecrement(&m_references);
@@ -145,8 +145,8 @@ public:
CDVDOverlayGroup(CDVDOverlayGroup& src)
: CDVDOverlay(src)
{
- for(VecOverlaysIter it = m_overlays.begin(); it != m_overlays.end(); ++it)
- m_overlays.push_back((*it)->Acquire());
+ for(VecOverlaysIter it = src.m_overlays.begin(); it != src.m_overlays.end(); ++it)
+ m_overlays.push_back((*it)->Clone());
}
VecOverlays m_overlays;
};
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodec.h b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodec.h
index 27a601e6d6..674cfce5f8 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodec.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodec.h
@@ -39,10 +39,7 @@ class CDVDOverlayCodec
{
public:
- CDVDOverlayCodec(const char* name)
- {
- m_codecName = name;
- }
+ CDVDOverlayCodec(const char* name) : m_codecName(name) {}
virtual ~CDVDOverlayCodec() {}
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp
index 109b58deaa..e43df3aaa8 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp
@@ -1869,9 +1869,17 @@ bool CCrystalHD::bitstream_convert_init(void *in_extradata, int in_extrasize)
free(out);
return false;
}
- out = (uint8_t*)realloc(out, total_size);
- if (!out)
+ uint8_t* new_out = (uint8_t*)realloc(out, total_size);
+ if (new_out)
+ {
+ out = new_out;
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "bitstream_convert_init failed - %s : could not realloc the buffer out", __FUNCTION__);
+ free(out);
return false;
+ }
memcpy(out + total_size - unit_size - 4, nalu_header, 4);
memcpy(out + total_size - unit_size, extradata + 2, unit_size);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.h
index 8f2c5dd1de..53939a9ff9 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.h
@@ -44,7 +44,7 @@ public:
{
T* p = NULL;
CSingleLock lock(m_Lock);
- if (m_Queue.size())
+ if (!m_Queue.empty())
{
p = m_Queue.front();
m_Queue.pop_front();
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index 9433f9bb0b..2302772f8f 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -294,7 +294,7 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
}
// set any special options
- for(std::vector<CDVDCodecOption>::iterator it = options.m_keys.begin(); it != options.m_keys.end(); it++)
+ for(std::vector<CDVDCodecOption>::iterator it = options.m_keys.begin(); it != options.m_keys.end(); ++it)
{
if (it->m_name == "surfaces")
m_uSurfacesCount = std::atoi(it->m_value.c_str());
@@ -839,7 +839,7 @@ int CDVDVideoCodecFFmpeg::FilterProcess(AVFrame* frame)
{
result = m_dllAvFilter.av_buffersink_get_buffer_ref(m_pFilterOut, &m_pBufferRef, 0);
- if(!m_pBufferRef)
+ if(!m_pBufferRef || result < 0)
{
CLog::Log(LOGERROR, "CDVDVideoCodecFFmpeg::FilterProcess - cur_buf");
return VC_ERROR;
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.h
index b6758025a2..9b17c296bd 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.h
@@ -43,7 +43,7 @@ protected:
inline void ReleaseBuffer(DVDVideoPicture* pPic);
inline void DeleteBuffer(DVDVideoPicture* pPic);
- int GuessAspect(const mpeg2_sequence_t *sequence, unsigned int *pixel_width, unsigned int *pixel_height);
+ static int GuessAspect(const mpeg2_sequence_t *sequence, unsigned int *pixel_width, unsigned int *pixel_height);
mpeg2dec_t* m_pHandle;
const mpeg2_info_t* m_pInfo;
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.cpp
index 6074ba5604..fdd947227e 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.cpp
@@ -98,8 +98,6 @@ bool CDVDVideoCodecOpenMax::Open(CDVDStreamInfo &hints, CDVDCodecOptions &option
// allocate a YV12 DVDVideoPicture buffer.
// first make sure all properties are reset.
memset(&m_videobuffer, 0, sizeof(DVDVideoPicture));
- unsigned int luma_pixels = hints.width * hints.height;
- unsigned int chroma_pixels = luma_pixels/4;
m_videobuffer.dts = DVD_NOPTS_VALUE;
m_videobuffer.pts = DVD_NOPTS_VALUE;
@@ -235,9 +233,17 @@ bool CDVDVideoCodecOpenMax::bitstream_convert_init(void *in_extradata, int in_ex
free(out);
return false;
}
- out = (uint8_t*)realloc(out, total_size);
- if (!out)
+ uint8_t* new_out = (uint8_t*)realloc(out, total_size);
+ if (new_out)
+ {
+ out = new_out;
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "bitstream_convert_init failed - %s : could not realloc the buffer out", __FUNCTION__);
+ free(out);
return false;
+ }
memcpy(out + total_size - unit_size - 4, nalu_header, 4);
memcpy(out + total_size - unit_size, extradata + 2, unit_size);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.h
index a433767546..d37e04a35e 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecOpenMax.h
@@ -47,7 +47,7 @@ protected:
// bitstream to bytestream (Annex B) conversion support.
bool bitstream_convert_init(void *in_extradata, int in_extrasize);
bool bitstream_convert(BYTE* pData, int iSize, uint8_t **poutbuf, int *poutbuf_size);
- void bitstream_alloc_and_copy( uint8_t **poutbuf, int *poutbuf_size,
+ static void bitstream_alloc_and_copy( uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *sps_pps, uint32_t sps_pps_size, const uint8_t *in, uint32_t in_size);
typedef struct omx_bitstream_ctx {
@@ -55,6 +55,15 @@ protected:
uint8_t first_idr;
uint8_t *sps_pps_data;
uint32_t size;
+
+ omx_bitstream_ctx()
+ {
+ length_size = 0;
+ first_idr = 0;
+ sps_pps_data = NULL;
+ size = 0;
+ }
+
} omx_bitstream_ctx;
uint32_t m_sps_pps_size;
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
index 9938118a6a..e41ea34d65 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
@@ -208,6 +208,11 @@ CDVDVideoCodecVDA::CDVDVideoCodecVDA() : CDVDVideoCodec()
m_bitstream = NULL;
m_dllSwScale = NULL;
memset(&m_videobuffer, 0, sizeof(DVDVideoPicture));
+ m_dll = NULL;
+ m_DropPictures = false;
+ m_decode_async = false;
+ m_sort_time_offset = 0.0;
+ m_use_cvBufferRef = false;
}
CDVDVideoCodecVDA::~CDVDVideoCodecVDA()
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
index 848f6d6266..bba603dd73 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVideoToolBox.cpp
@@ -1046,6 +1046,8 @@ CDVDVideoCodecVideoToolBox::CDVDVideoCodecVideoToolBox() : CDVDVideoCodec()
m_dllAvUtil = NULL;
m_dllAvFormat = NULL;
memset(&m_videobuffer, 0, sizeof(DVDVideoPicture));
+ m_DropPictures = false;
+ m_sort_time_offset = 0.0;
}
CDVDVideoCodecVideoToolBox::~CDVDVideoCodecVideoToolBox()
@@ -1349,7 +1351,7 @@ int CDVDVideoCodecVideoToolBox::Decode(BYTE* pData, int iSize, double dts, doubl
if(m_dllAvFormat->avio_open_dyn_buf(&pb) < 0)
return VC_ERROR;
- demux_size = avc_parse_nal_units(m_dllAvFormat, pb, pData, iSize);
+ avc_parse_nal_units(m_dllAvFormat, pb, pData, iSize);
demux_size = m_dllAvFormat->avio_close_dyn_buf(pb, &demux_buff);
sampleBuff = CreateSampleBufferFrom(m_fmt_desc, demux_buff, demux_size);
}
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
index 466a03a13c..257c096600 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
@@ -313,7 +313,7 @@ CSurfaceContext::CSurfaceContext()
CSurfaceContext::~CSurfaceContext()
{
- for (vector<IDirect3DSurface9*>::iterator it = m_heldsurfaces.begin(); it != m_heldsurfaces.end(); it++)
+ for (vector<IDirect3DSurface9*>::iterator it = m_heldsurfaces.begin(); it != m_heldsurfaces.end(); ++it)
SAFE_RELEASE(*it);
}
@@ -1490,7 +1490,7 @@ bool CProcessor::Render(CRect src, CRect dst, IDirect3DSurface9* target, REFEREN
it = m_sample.erase(it);
}
else
- it++;
+ ++it;
}
if(m_sample.empty())
@@ -1520,7 +1520,7 @@ bool CProcessor::Render(CRect src, CRect dst, IDirect3DSurface9* target, REFEREN
for (int i = 0; i < count; i++)
samp[i].SampleFormat.SampleFormat = DXVA2_SampleUnknown;
- for(it = m_sample.begin(); it != m_sample.end() && valid < count; it++)
+ for(it = m_sample.begin(); it != m_sample.end() && valid < count; ++it)
{
if (it->sample.Start >= MinTime && it->sample.Start <= MaxTime)
{
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.cpp
index 2447cf2791..ccdab3438f 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.cpp
@@ -103,6 +103,9 @@ COpenMax::COpenMax()
m_is_open = false;
m_omx_decoder = NULL;
+ m_omx_client_state = DEAD;
+ m_omx_decoder_state = 0;
+ sem_init(m_omx_decoder_state_change, 0, 0);
/*
m_omx_flush_input = (sem_t*)malloc(sizeof(sem_t));
sem_init(m_omx_flush_input, 0, 0);
@@ -167,11 +170,10 @@ OMX_ERRORTYPE COpenMax::DecoderFillBufferDoneCallback(
// Wait for a component to transition to the specified state
OMX_ERRORTYPE COpenMax::WaitForState(OMX_STATETYPE state)
{
- OMX_ERRORTYPE omx_error = OMX_ErrorNone;
OMX_STATETYPE test_state;
int tries = 0;
struct timespec timeout;
- omx_error = OMX_GetState(m_omx_decoder, &test_state);
+ OMX_ERRORTYPE omx_error = OMX_GetState(m_omx_decoder, &test_state);
#if defined(OMX_DEBUG_VERBOSE)
CLog::Log(LOGDEBUG, "%s::%s - waiting for state(%d)\n", CLASSNAME, __func__, state);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp
index f6a5213d13..dbbf42c573 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp
@@ -86,6 +86,15 @@ COpenMaxVideo::COpenMaxVideo()
m_omx_decoder_state_change = (sem_t*)malloc(sizeof(sem_t));
sem_init(m_omx_decoder_state_change, 0, 0);
+ memset(&m_videobuffer, 0, sizeof(DVDVideoPicture));
+ m_drop_state = false;
+ m_decoded_width = 0;
+ m_decoded_height = 0;
+ m_omx_input_eos = false;
+ m_omx_input_port = 0;
+ m_omx_output_eos = false;
+ m_omx_output_port = 0;
+ m_videoplayback_done = false;
}
COpenMaxVideo::~COpenMaxVideo()
@@ -861,7 +870,7 @@ OMX_ERRORTYPE COpenMaxVideo::DecoderEventHandler(
if (ctx->m_omx_output_port == (int)nData2)
{
// Got OMX_CommandPortDisable event, alloc new buffers for the output port.
- omx_err = ctx->AllocOMXOutputBuffers();
+ ctx->AllocOMXOutputBuffers();
omx_err = OMX_SendCommand(ctx->m_omx_decoder, OMX_CommandPortEnable, ctx->m_omx_output_port, NULL);
}
break;
@@ -917,7 +926,7 @@ OMX_ERRORTYPE COpenMaxVideo::DecoderEventHandler(
// OMX_CommandPortDisable to component as it expects output buffers
// to be freed before it will issue a OMX_CommandPortDisable event.
ctx->m_portChanging = true;
- omx_err = OMX_SendCommand(ctx->m_omx_decoder, OMX_CommandPortDisable, ctx->m_omx_output_port, NULL);
+ OMX_SendCommand(ctx->m_omx_decoder, OMX_CommandPortDisable, ctx->m_omx_output_port, NULL);
omx_err = ctx->FreeOMXOutputBuffers(false);
}
break;
@@ -1025,9 +1034,9 @@ OMX_ERRORTYPE COpenMaxVideo::StopDecoder(void)
// we can free our allocated port buffers in OMX_StateIdle state.
// free OpenMax input buffers.
- omx_err = FreeOMXInputBuffers(true);
+ FreeOMXInputBuffers(true);
// free OpenMax output buffers.
- omx_err = FreeOMXOutputBuffers(true);
+ FreeOMXOutputBuffers(true);
// transition decoder component from idle to loaded
omx_err = SetStateForComponent(OMX_StateLoaded);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
index 27903e3307..5d10f31fc0 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
@@ -161,7 +161,7 @@ void CDecoder::RelBuffer(AVCodecContext *avctx, AVFrame *pic)
{
VASurfaceID surface = GetSurfaceID(pic);
- for(std::list<CSurfacePtr>::iterator it = m_surfaces_used.begin(); it != m_surfaces_used.end(); it++)
+ for(std::list<CSurfacePtr>::iterator it = m_surfaces_used.begin(); it != m_surfaces_used.end(); ++it)
{
if((*it)->m_id == surface)
{
@@ -184,7 +184,7 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic)
if(surface)
{
/* reget call */
- for(; it != m_surfaces_free.end(); it++)
+ for(; it != m_surfaces_free.end(); ++it)
{
if((*it)->m_id == surface)
{
@@ -204,7 +204,7 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic)
{
// To avoid stutter, we scan the free surface pool (provided by decoder) for surfaces
// that are 100% not in use by renderer. The pointers to these surfaces have a use_count of 1.
- for (; it != m_surfaces_free.end() && it->use_count() > 1; it++) {}
+ for (; it != m_surfaces_free.end() && it->use_count() > 1; ++it) {}
// If we have zero free surface from decoder OR all free surfaces are in use by renderer, we allocate a new surface
if (it == m_surfaces_free.end())
@@ -217,7 +217,7 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic)
return -1;
}
// Set itarator position to the newly allocated surface (end-1)
- it = m_surfaces_free.end(); it--;
+ it = m_surfaces_free.end(); --it;
}
/* getbuffer call */
wrapper = it->get();
@@ -452,7 +452,7 @@ bool CDecoder::GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture
m_holder.surface.reset();
std::list<CSurfacePtr>::iterator it;
- for(it = m_surfaces_used.begin(); it != m_surfaces_used.end() && !m_holder.surface; it++)
+ for(it = m_surfaces_used.begin(); it != m_surfaces_used.end() && !m_holder.surface; ++it)
{
if((*it)->m_id == surface)
{
@@ -461,7 +461,7 @@ bool CDecoder::GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture
}
}
- for(it = m_surfaces_free.begin(); it != m_surfaces_free.end() && !m_holder.surface; it++)
+ for(it = m_surfaces_free.begin(); it != m_surfaces_free.end() && !m_holder.surface; ++it)
{
if((*it)->m_id == surface)
{
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
index 8acacd636b..621f07cfe3 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -148,6 +148,31 @@ CVDPAU::CVDPAU()
dl_vdp_device_create_x11 = NULL;
dl_vdp_get_proc_address = NULL;
dl_vdp_preemption_callback_register = NULL;
+ past[0] = NULL;
+ past[1] = NULL;
+ current = NULL;
+ future = NULL;
+ tmpNoiseReduction = 0.0f;
+ tmpSharpness = 0.0f;
+ vdp_get_proc_address = NULL;
+ vdp_device_destroy = NULL;
+ vdp_video_surface_create = NULL;
+ vdp_video_surface_destroy = NULL;
+ vdp_video_surface_put_bits_y_cb_cr = NULL;
+ vdp_video_surface_get_bits_y_cb_cr = NULL;
+ vdp_output_surface_put_bits_y_cb_cr = NULL;
+ vdp_output_surface_put_bits_native = NULL;
+ vdp_output_surface_create = NULL;
+ vdp_output_surface_destroy = NULL;
+ vdp_output_surface_get_bits_native = NULL;
+ vdp_output_surface_render_output_surface = NULL;
+ vdp_output_surface_put_bits_indexed = NULL;
+ vdp_video_mixer_create = NULL;
+ vdp_video_mixer_set_feature_enables = NULL;
+ vdp_video_mixer_query_parameter_support = NULL;
+ vdp_video_mixer_query_feature_support = NULL;
+ vdp_video_mixer_destroy = NULL;
+ vdp_video_mixer_render = NULL;
}
bool CVDPAU::Open(AVCodecContext* avctx, const enum PixelFormat, unsigned int surfaces)
@@ -502,8 +527,7 @@ void CVDPAU::CheckFeatures()
tmpNoiseReduction = 0;
tmpSharpness = 0;
- VdpStatus vdp_st = VDP_STATUS_ERROR;
- vdp_st = vdp_video_mixer_create(vdp_device,
+ VdpStatus vdp_st = vdp_video_mixer_create(vdp_device,
m_feature_count,
m_features,
ARSIZE(parameters),
@@ -1517,7 +1541,7 @@ int CVDPAU::Decode(AVCodecContext *avctx, AVFrame *pFrame)
}
}
- vdp_st = vdp_presentation_queue_block_until_surface_idle(vdp_flip_queue,outputSurface,&time);
+ vdp_presentation_queue_block_until_surface_idle(vdp_flip_queue,outputSurface,&time);
VdpRect sourceRect = {0,0,vid_width, vid_height};
diff --git a/xbmc/cores/dvdplayer/DVDDemuxSPU.cpp b/xbmc/cores/dvdplayer/DVDDemuxSPU.cpp
index 7c581ba7c4..9f2905b1cc 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxSPU.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxSPU.cpp
@@ -582,10 +582,10 @@ void CDVDDemuxSPU::FindSubtitleColor(int last_color, int stats[4], CDVDOverlaySp
else
{
// old code
- int i, i_inner = -1, i_shade = -1;
if (last_color >= 0 && last_color < 4)
{
+ int i, i_inner = -1, i_shade = -1;
// Set the border color, the last color is probably the border color
pSPU->color[last_color][0] = custom_subtitle_color[COLOR_BORDER][0];
pSPU->color[last_color][1] = custom_subtitle_color[COLOR_BORDER][1];
diff --git a/xbmc/cores/dvdplayer/DVDDemuxSPU.h b/xbmc/cores/dvdplayer/DVDDemuxSPU.h
index 8f56dd8742..0b9392523f 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxSPU.h
+++ b/xbmc/cores/dvdplayer/DVDDemuxSPU.h
@@ -46,8 +46,8 @@ public:
CDVDOverlaySpu* AddData(BYTE* data, int iSize, double pts); // returns a packet from ParsePacket if possible
CDVDOverlaySpu* ParseRLE(CDVDOverlaySpu* pSPU, BYTE* pUnparsedData);
- void FindSubtitleColor(int last_color, int stats[4], CDVDOverlaySpu* pSPU);
- bool CanDisplayWithAlphas(int a[4], int stats[4]);
+ static void FindSubtitleColor(int last_color, int stats[4], CDVDOverlaySpu* pSPU);
+ static bool CanDisplayWithAlphas(int a[4], int stats[4]);
void Reset();
void FlushCurrentPacket(); // flushes current unparsed data
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp
index 63b1e3d4c7..c437faf947 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp
@@ -102,7 +102,7 @@ bool CDVDDemuxHTSP::Open(CDVDInputStream* input)
m_Input = (CDVDInputStreamHTSP*)input;
m_StatusCount = 0;
- while(m_Streams.size() == 0 && m_StatusCount == 0)
+ while(m_Streams.empty() && m_StatusCount == 0)
{
DemuxPacket* pkg = Read();
if(!pkg)
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp
index c162553bc3..58742de328 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp
@@ -34,6 +34,7 @@ CDemuxStreamPVRInternal::CDemuxStreamPVRInternal(CDVDDemuxPVRClient *parent)
: m_parent(parent)
, m_parser(NULL)
, m_context(NULL)
+ , m_parser_split(false)
{
}
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxShoutcast.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxShoutcast.cpp
index 0d12315f91..df074df54f 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxShoutcast.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxShoutcast.cpp
@@ -118,8 +118,6 @@ void CDVDDemuxShoutcast::Flush()
DemuxPacket* CDVDDemuxShoutcast::Read()
{
- int iRead = 0;
-
// XXX
// if meta interval is greater than FileCurl's max read size (currently 64k)
// it will simply fail becuse the meta-interval will get incorrect
@@ -152,7 +150,7 @@ DemuxPacket* CDVDDemuxShoutcast::Read()
// we already have read m_iMetaStreamInterval bytes of streaming data
// metadata follows
BYTE l;
- iRead = m_pInput->Read(&l, 1);
+ int iRead = m_pInput->Read(&l, 1);
if (iRead > 0)
{
int iMetaLength = l * 16;
diff --git a/xbmc/cores/dvdplayer/DVDFileInfo.cpp b/xbmc/cores/dvdplayer/DVDFileInfo.cpp
index f1f4b17149..5f3850ffa7 100644
--- a/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+++ b/xbmc/cores/dvdplayer/DVDFileInfo.cpp
@@ -236,13 +236,13 @@ bool CDVDFileInfo::ExtractThumb(const CStdString &strPath, CTextureDetails &deta
BYTE *pOutBuf = new BYTE[nWidth * nHeight * 4];
struct SwsContext *context = dllSwScale.sws_getContext(picture.iWidth, picture.iHeight,
PIX_FMT_YUV420P, nWidth, nHeight, PIX_FMT_BGRA, SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
- uint8_t *src[] = { picture.data[0], picture.data[1], picture.data[2], 0 };
- int srcStride[] = { picture.iLineSize[0], picture.iLineSize[1], picture.iLineSize[2], 0 };
- uint8_t *dst[] = { pOutBuf, 0, 0, 0 };
- int dstStride[] = { (int)nWidth*4, 0, 0, 0 };
if (context)
{
+ uint8_t *src[] = { picture.data[0], picture.data[1], picture.data[2], 0 };
+ int srcStride[] = { picture.iLineSize[0], picture.iLineSize[1], picture.iLineSize[2], 0 };
+ uint8_t *dst[] = { pOutBuf, 0, 0, 0 };
+ int dstStride[] = { (int)nWidth*4, 0, 0, 0 };
int orientation = DegreeToOrientation(hint.orientation);
dllSwScale.sws_scale(context, src, srcStride, 0, picture.iHeight, dst, dstStride);
dllSwScale.sws_freeContext(context);
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
index ea5493e8ed..58b29688fd 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
@@ -693,7 +693,7 @@ void CDVDInputStreamBluray::OverlayClear(SPlane& plane, int x, int y, int w, int
/* if no overlap we are done */
if(rem.size() == 1 && !(rem[0] != old))
{
- it++;
+ ++it;
continue;
}
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
index 6837605e0c..6fc8548fbb 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
@@ -114,8 +114,8 @@ protected:
void OverlayFlush(int64_t pts);
void OverlayClose();
- void OverlayClear(SPlane& plane, int x, int y, int w, int h);
- void OverlayInit (SPlane& plane, int w, int h);
+ static void OverlayClear(SPlane& plane, int x, int y, int w, int h);
+ static void OverlayInit (SPlane& plane, int w, int h);
IDVDPlayer* m_player;
DllLibbluray *m_dll;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp
index 6c8fc7c0f4..91e86d1c56 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp
@@ -181,14 +181,14 @@ bool CDVDInputStreamHTSP::SetChannel(int channel)
bool CDVDInputStreamHTSP::GetChannels(SChannelV &channels, SChannelV::iterator &it)
{
- for(SChannels::iterator it2 = m_channels.begin(); it2 != m_channels.end(); it2++)
+ for(SChannels::iterator it2 = m_channels.begin(); it2 != m_channels.end(); ++it2)
{
if(m_tag == 0 || it2->second.MemberOf(m_tag))
channels.push_back(it2->second);
}
sort(channels.begin(), channels.end());
- for(it = channels.begin(); it != channels.end(); it++)
+ for(it = channels.begin(); it != channels.end(); ++it)
if(it->id == m_channel)
return true;
return false;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
index 2e760cbc09..67daf84767 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
@@ -261,11 +261,10 @@ int CDVDInputStreamNavigator::ProcessBlock(BYTE* dest_buffer, int* read)
int result;
int len = 2048;
- int iNavresult = NAVRESULT_NOP;
// m_tempbuffer will be used for anything that isn't a normal data block
uint8_t* buf = m_lastblock;
- iNavresult = -1;
+ int iNavresult = -1;
if(m_holdmode == HOLDMODE_HELD)
return NAVRESULT_HOLD;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.h
index 8da8a9bc6c..51d731d40c 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.h
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.h
@@ -56,7 +56,11 @@ struct DVDNavStreamInfo
class DVDNavResult
{
public:
- DVDNavResult(){};
+ DVDNavResult() :
+ pData (NULL ),
+ type (0 )
+ {
+ };
DVDNavResult(void* p, int t) { pData = p; type = t; };
void* pData;
int type;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
index adc2927c87..fe19a3de1f 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
@@ -387,7 +387,7 @@ bool CDVDInputStreamPVRManager::CloseAndOpen(const char* strFile)
return false;
}
-bool CDVDInputStreamPVRManager::SupportsChannelSwitch(void) const
+bool CDVDInputStreamPVRManager::SupportsChannelSwitch(void)
{
PVR_CLIENT client;
return g_PVRClients->GetPlayingClient(client) &&
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
index 3eea0c72e4..9a9580fe46 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
@@ -89,7 +89,7 @@ public:
void ResetScanTimeout(unsigned int iTimeoutMs);
protected:
bool CloseAndOpen(const char* strFile);
- bool SupportsChannelSwitch(void) const;
+ static bool SupportsChannelSwitch(void);
IDVDPlayer* m_pPlayer;
CDVDInputStream* m_pOtherStream;
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamStack.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamStack.cpp
index 9e9ec0f2d7..e053642ca1 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamStack.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamStack.cpp
@@ -88,7 +88,7 @@ bool CDVDInputStreamStack::Open(const char* path, const std::string& content)
m_files.push_back(segment);
}
- if(m_files.size() == 0)
+ if(m_files.empty())
return false;
m_file = m_files[0].file;
@@ -147,7 +147,7 @@ int64_t CDVDInputStreamStack::Seek(int64_t offset, int whence)
return -1;
len = 0;
- for(TSegVec::iterator it = m_files.begin(); it != m_files.end(); it++)
+ for(TSegVec::iterator it = m_files.begin(); it != m_files.end(); ++it)
{
if(len + it->length > pos)
{
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h
index 5f8145fcaf..33a9d3dac2 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h
@@ -54,7 +54,7 @@ public:
int GetTotalTime();
int GetTime();
- bool SeekTime(int iTimeInMsec);
+ static bool SeekTime(int iTimeInMsec);
bool CanRecord();
bool IsRecording();
diff --git a/xbmc/cores/dvdplayer/DVDMessage.h b/xbmc/cores/dvdplayer/DVDMessage.h
index 146befdc1d..0dac948512 100644
--- a/xbmc/cores/dvdplayer/DVDMessage.h
+++ b/xbmc/cores/dvdplayer/DVDMessage.h
@@ -211,7 +211,7 @@ private:
class CDVDMsgPlayerSetState : public CDVDMsg
{
public:
- CDVDMsgPlayerSetState(std::string& state) : CDVDMsg(PLAYER_SET_STATE) { m_state = state; }
+ CDVDMsgPlayerSetState(std::string& state) : CDVDMsg(PLAYER_SET_STATE), m_state(state) {}
std::string GetState() { return m_state; }
private:
std::string m_state;
diff --git a/xbmc/cores/dvdplayer/DVDMessageQueue.cpp b/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
index 7d02cd5fed..3bcf8d229f 100644
--- a/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
+++ b/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
@@ -27,9 +27,8 @@
using namespace std;
-CDVDMessageQueue::CDVDMessageQueue(const string &owner) : m_hEvent(true)
+CDVDMessageQueue::CDVDMessageQueue(const string &owner) : m_hEvent(true), m_owner(owner)
{
- m_owner = owner;
m_iDataSize = 0;
m_bAbortRequest = false;
m_bInitialized = false;
@@ -67,7 +66,7 @@ void CDVDMessageQueue::Flush(CDVDMsg::Message type)
if (it->message->IsType(type) || type == CDVDMsg::NONE)
it = m_list.erase(it);
else
- it++;
+ ++it;
}
if (type == CDVDMsg::DEMUXER_PACKET || type == CDVDMsg::NONE)
@@ -121,7 +120,7 @@ MsgQueueReturnCode CDVDMessageQueue::Put(CDVDMsg* pMsg, int priority)
{
if(priority <= it->priority)
break;
- it++;
+ ++it;
}
m_list.insert(it, DVDMessageListItem(pMsg, priority));
@@ -230,7 +229,7 @@ unsigned CDVDMessageQueue::GetPacketCount(CDVDMsg::Message type)
return 0;
unsigned count = 0;
- for(SList::iterator it = m_list.begin(); it != m_list.end();it++)
+ for(SList::iterator it = m_list.begin(); it != m_list.end();++it)
{
if(it->message->IsType(type))
count++;
diff --git a/xbmc/cores/dvdplayer/DVDMessageTracker.cpp b/xbmc/cores/dvdplayer/DVDMessageTracker.cpp
index 5741b941b3..32ad76c674 100644
--- a/xbmc/cores/dvdplayer/DVDMessageTracker.cpp
+++ b/xbmc/cores/dvdplayer/DVDMessageTracker.cpp
@@ -76,7 +76,7 @@ void CDVDMessageTracker::UnRegister(CDVDMsg* pMsg)
delete pItem;
break;
}
- iter++;
+ ++iter;
}
}
@@ -108,7 +108,7 @@ void CDVDMessageTracker::Process()
pItem->m_debug_logged = true;
}
}
- iter++;
+ ++iter;
}
}
diff --git a/xbmc/cores/dvdplayer/DVDOverlayContainer.cpp b/xbmc/cores/dvdplayer/DVDOverlayContainer.cpp
index 50c3e671a2..2a6abbb883 100644
--- a/xbmc/cores/dvdplayer/DVDOverlayContainer.cpp
+++ b/xbmc/cores/dvdplayer/DVDOverlayContainer.cpp
@@ -121,14 +121,14 @@ void CDVDOverlayContainer::CleanUp(double pts)
continue;
}
}
- it++;
+ ++it;
}
}
void CDVDOverlayContainer::Remove()
{
- if (m_overlays.size() > 0)
+ if (!m_overlays.empty())
{
CDVDOverlay* pOverlay;
@@ -144,7 +144,7 @@ void CDVDOverlayContainer::Remove()
void CDVDOverlayContainer::Clear()
{
- while (m_overlays.size() > 0) Remove();
+ while (!m_overlays.empty()) Remove();
}
int CDVDOverlayContainer::GetSize()
@@ -162,7 +162,7 @@ bool CDVDOverlayContainer::ContainsOverlayType(DVDOverlayType type)
while (!result && it != m_overlays.end())
{
if (((CDVDOverlay*)*it)->IsOverlayType(type)) result = true;
- it++;
+ ++it;
}
return result;
@@ -176,7 +176,7 @@ void CDVDOverlayContainer::UpdateOverlayInfo(CDVDInputStreamNavigator* pStream,
CSingleLock lock(*this);
//Update any forced overlays.
- for(VecOverlays::iterator it = m_overlays.begin(); it != m_overlays.end(); it++ )
+ for(VecOverlays::iterator it = m_overlays.begin(); it != m_overlays.end(); ++it )
{
if ((*it)->IsOverlayType(DVDOVERLAY_TYPE_SPU))
{
diff --git a/xbmc/cores/dvdplayer/DVDPerformanceCounter.h b/xbmc/cores/dvdplayer/DVDPerformanceCounter.h
index e96be4b759..86a1bb6cc0 100644
--- a/xbmc/cores/dvdplayer/DVDPerformanceCounter.h
+++ b/xbmc/cores/dvdplayer/DVDPerformanceCounter.h
@@ -42,7 +42,7 @@ public:
~CDVDPerformanceCounter();
bool Initialize();
- void DeInitialize();
+ static void DeInitialize();
void EnableAudioQueue(CDVDMessageQueue* pQueue) { CSingleLock lock(m_critSection); m_pAudioQueue = pQueue; }
void DisableAudioQueue() { CSingleLock lock(m_critSection); m_pAudioQueue = NULL; }
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index e075cd67ec..a48f5d6c26 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -63,7 +63,7 @@ double CPTSInputQueue::Get(int64_t bytes, bool consume)
CSingleLock lock(m_sync);
IT it = m_list.begin();
- for(; it != m_list.end(); it++)
+ for(; it != m_list.end(); ++it)
{
if(bytes <= it->first)
{
@@ -368,7 +368,7 @@ int CDVDPlayerAudio::DecodeFrame(DVDAudioFrame &audioframe, bool bDropPacket)
if (ret == MSGQ_TIMEOUT)
return DECODE_FLAG_TIMEOUT;
- if (MSGQ_IS_ERROR(ret) || ret == MSGQ_ABORT)
+ if (MSGQ_IS_ERROR(ret))
return DECODE_FLAG_ABORT;
if (pMsg->IsType(CDVDMsg::DEMUXER_PACKET))
@@ -780,12 +780,12 @@ bool CDVDPlayerAudio::OutputPacket(DVDAudioFrame &audioframe)
}
else if (m_synctype == SYNC_RESAMPLE)
{
- double proportional = 0.0, proportionaldiv;
+ double proportional = 0.0;
//on big errors use more proportional
if (fabs(m_error / DVD_TIME_BASE) > 0.0)
{
- proportionaldiv = PROPORTIONAL * (PROPREF / fabs(m_error / DVD_TIME_BASE));
+ double proportionaldiv = PROPORTIONAL * (PROPREF / fabs(m_error / DVD_TIME_BASE));
if (proportionaldiv < PROPDIVMIN) proportionaldiv = PROPDIVMIN;
else if (proportionaldiv > PROPDIVMAX) proportionaldiv = PROPDIVMAX;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudioResampler.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudioResampler.cpp
index 3f985dcde3..cfb1332c5e 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudioResampler.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudioResampler.cpp
@@ -142,10 +142,28 @@ void CDVDPlayerResampler::ResizeSampleBuffer(int nrframes)
{
if (m_buffersize < nrframes)
{
- m_buffersize = nrframes * 2;
- m_buffer = (float*)realloc(m_buffer, m_buffersize * m_nrchannels * sizeof(float));
- m_ptsbuffer = (double*)realloc(m_ptsbuffer, m_buffersize * sizeof(double));
- CLog::Log(LOGDEBUG, "CDVDPlayerResampler: resized buffers to hold %i frames", m_buffersize);
+ int newBufferSize = nrframes * 2;
+ float* newBuffer = (float*)realloc(m_buffer, newBufferSize * m_nrchannels * sizeof(float));
+ if (newBuffer)
+ {
+ m_buffer = newBuffer;
+ m_buffersize = newBufferSize;
+
+ double* newPtsBuffer = (double*)realloc(m_ptsbuffer, m_buffersize * sizeof(double));
+ if (newPtsBuffer)
+ {
+ m_ptsbuffer = newPtsBuffer;
+ CLog::Log(LOGDEBUG, "CDVDPlayerResampler: resized buffers to hold %i frames", m_buffersize);
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "ResizeSampleBuffer - %s - failed : could not realloc the buffer m_ptsbuffer", __FUNCTION__);
+ }
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "ResizeSampleBuffer - %s - failed : could not realloc the buffer m_buffer", __FUNCTION__);
+ }
}
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerSubtitle.cpp b/xbmc/cores/dvdplayer/DVDPlayerSubtitle.cpp
index 540d8906a6..6aeacff33d 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerSubtitle.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerSubtitle.cpp
@@ -246,7 +246,7 @@ void CDVDPlayerSubtitle::GetCurrentSubtitle(CStdString& strSubtitle, double pts)
VecOverlays* pOverlays = m_pOverlayContainer->GetOverlays();
if (pOverlays)
{
- for(vector<CDVDOverlay*>::iterator it = pOverlays->begin();it != pOverlays->end();it++)
+ for(vector<CDVDOverlay*>::iterator it = pOverlays->begin();it != pOverlays->end();++it)
{
CDVDOverlay* pOverlay = *it;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerTeletext.cpp b/xbmc/cores/dvdplayer/DVDPlayerTeletext.cpp
index 5e1d055a36..bfc91999a9 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerTeletext.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerTeletext.cpp
@@ -254,7 +254,7 @@ void CDVDTeletextData::Process()
continue;
}
- if (MSGQ_IS_ERROR(ret) || ret == MSGQ_ABORT)
+ if (MSGQ_IS_ERROR(ret))
{
CLog::Log(LOGERROR, "Got MSGQ_ABORT or MSGO_IS_ERROR return true (%i)", ret);
break;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index 9ee51c01ae..f1ebec2d4a 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -92,7 +92,7 @@ public:
bool enabled()
{
- return m_pattern.size() > 0;
+ return !m_pattern.empty();
}
private:
double m_duration;
@@ -337,7 +337,7 @@ void CDVDPlayerVideo::Process()
CDVDMsg* pMsg;
MsgQueueReturnCode ret = m_messageQueue.Get(&pMsg, iQueueTimeOut, iPriority);
- if (MSGQ_IS_ERROR(ret) || ret == MSGQ_ABORT)
+ if (MSGQ_IS_ERROR(ret))
{
CLog::Log(LOGERROR, "Got MSGQ_ABORT or MSGO_IS_ERROR return true");
break;
@@ -1297,19 +1297,19 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
if( m_speed != DVD_PLAYSPEED_NORMAL && limited )
{
+ m_droptime += iFrameDuration;
+#ifndef PROFILE
// calculate frame dropping pattern to render at this speed
// we do that by deciding if this or next frame is closest
// to the flip timestamp
double current = fabs(m_dropbase - m_droptime);
double next = fabs(m_dropbase - (m_droptime + iFrameDuration));
- double frametime = (double)DVD_TIME_BASE / maxfps;
- m_droptime += iFrameDuration;
-#ifndef PROFILE
if( next < current && !(pPicture->iFlags & DVP_FLAG_NOSKIP) )
return result | EOS_DROPPED;
#endif
-
+
+ double frametime = (double)DVD_TIME_BASE / maxfps;
while(!m_bStop && m_dropbase < m_droptime) m_dropbase += frametime;
while(!m_bStop && m_dropbase - frametime > m_droptime) m_dropbase -= frametime;
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
index 40a750c4b1..adba6a9fbf 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
@@ -155,6 +155,8 @@ void CDVDStreamInfo::Assign(const CDVDStreamInfo& right, bool withextradata)
forced_aspect = right.forced_aspect;
orientation = right.orientation;
bitsperpixel = right.bitsperpixel;
+ vfr = right.vfr;
+ software = right.software;
// AUDIO
channels = right.channels;
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.h b/xbmc/cores/dvdplayer/DVDStreamInfo.h
index 30700944b8..0b33d94104 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.h
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.h
@@ -96,6 +96,9 @@ public:
bool operator==(const CDVDStreamInfo& right) { return Equal(right, true);}
bool operator!=(const CDVDStreamInfo& right) { return !Equal(right, true);}
+
+ //'CDVDStreamInfo::operator=' should return 'CDVDStreamInfo &'.
+ // Is this intended? It looks more like a copy,cf. extradata, what happens if info = info?
void operator=(const CDVDStreamInfo& right) { Assign(right, true); }
bool operator==(const CDemuxStream& right) { return Equal( CDVDStreamInfo(right, true), true);}
diff --git a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParser.h b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParser.h
index 3cd1e9502a..c410ae5c2f 100644
--- a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParser.h
+++ b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParser.h
@@ -42,10 +42,7 @@ class CDVDSubtitleParserCollection
: public CDVDSubtitleParser
{
public:
- CDVDSubtitleParserCollection(const std::string& strFile)
- {
- m_filename = strFile;
- }
+ CDVDSubtitleParserCollection(const std::string& strFile) : m_filename(strFile) {}
virtual ~CDVDSubtitleParserCollection() { }
virtual CDVDOverlay* Parse(double iPts)
{
diff --git a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagMicroDVD.h b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagMicroDVD.h
index 81227d2d00..65f97dc4de 100644
--- a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagMicroDVD.h
+++ b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagMicroDVD.h
@@ -20,6 +20,7 @@
*
*/
#include <stdio.h>
+#include <string.h>
#define FLAG_BOLD 0
#define FLAG_ITALIC 1
@@ -33,6 +34,10 @@ class CDVDOverlayText;
class CDVDSubtitleTagMicroDVD
{
public:
+ CDVDSubtitleTagMicroDVD()
+ {
+ memset(&m_flag, 0, sizeof(m_flag));
+ }
void ConvertLine(CDVDOverlayText* pOverlay, const char* line, int len);
private:
diff --git a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagSami.cpp b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagSami.cpp
index 999bd075f8..cc3f89f8dd 100644
--- a/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagSami.cpp
+++ b/xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleTagSami.cpp
@@ -31,6 +31,8 @@ CDVDSubtitleTagSami::~CDVDSubtitleTagSami()
bool CDVDSubtitleTagSami::Init()
{
+ delete m_tags;
+ delete m_tagOptions;
m_tags = new CRegExp(true);
if (!m_tags->RegComp("(<[^>]*>|\\{[^\\}]*\\})"))
return false;
diff --git a/xbmc/cores/dvdplayer/DVDTSCorrection.cpp b/xbmc/cores/dvdplayer/DVDTSCorrection.cpp
index 1fdde1f7be..757ea0f9d8 100644
--- a/xbmc/cores/dvdplayer/DVDTSCorrection.cpp
+++ b/xbmc/cores/dvdplayer/DVDTSCorrection.cpp
@@ -176,7 +176,7 @@ void CPullupCorrection::GetPattern(std::vector<double>& pattern)
}
}
- bool checkexisting = m_pattern.size() > 0;
+ bool checkexisting = !m_pattern.empty();
//we check for patterns to the length of DIFFRINGSIZE / 2
for (int i = 1; i <= m_ringfill / 2; i++)
@@ -272,7 +272,7 @@ inline bool CPullupCorrection::MatchDifftype(int* diffs1, int* diffs2, int nrdif
bool CPullupCorrection::CheckPattern(std::vector<double>& pattern)
{
//if no pattern was detected or if the size of the patterns differ we don't have a match
- if (pattern.size() != m_pattern.size() || pattern.size() < 1)
+ if (pattern.empty() || pattern.size() != m_pattern.size())
return false;
if (pattern.size() == 1)
@@ -299,7 +299,7 @@ bool CPullupCorrection::CheckPattern(std::vector<double>& pattern)
//calculate how long each frame should last from the saved pattern
double CPullupCorrection::CalcFrameDuration()
{
- if (m_pattern.size() > 0)
+ if (!m_pattern.empty())
{
//take the average of all diffs in the pattern
double frameduration = 0.0;
diff --git a/xbmc/cores/dvdplayer/Edl.cpp b/xbmc/cores/dvdplayer/Edl.cpp
index 6ae8143359..47e0fb6c07 100644
--- a/xbmc/cores/dvdplayer/Edl.cpp
+++ b/xbmc/cores/dvdplayer/Edl.cpp
@@ -737,7 +737,7 @@ bool CEdl::AddCut(Cut& cut)
else
{
vector<Cut>::iterator pCurrentCut;
- for (pCurrentCut = m_vecCuts.begin(); pCurrentCut != m_vecCuts.end(); pCurrentCut++)
+ for (pCurrentCut = m_vecCuts.begin(); pCurrentCut != m_vecCuts.end(); ++pCurrentCut)
{
if (cut.start < pCurrentCut->start)
{
diff --git a/xbmc/cores/omxplayer/OMXAudio.cpp b/xbmc/cores/omxplayer/OMXAudio.cpp
index 10c332959f..7eb0679cd8 100644
--- a/xbmc/cores/omxplayer/OMXAudio.cpp
+++ b/xbmc/cores/omxplayer/OMXAudio.cpp
@@ -96,6 +96,7 @@ COMXAudio::COMXAudio() :
m_Pause (false ),
m_CanPause (false ),
m_CurrentVolume (0 ),
+ m_drc (0 ),
m_Passthrough (false ),
m_HWDecode (false ),
m_BytesPerSec (0 ),
@@ -111,6 +112,7 @@ COMXAudio::COMXAudio() :
m_eEncoding (OMX_AUDIO_CodingPCM),
m_extradata (NULL ),
m_extrasize (0 ),
+ m_vizBufferSamples(0 ),
m_last_pts (DVD_NOPTS_VALUE),
m_omx_render (NULL )
{
@@ -315,10 +317,7 @@ bool COMXAudio::Initialize(AEAudioFormat format, std::string& device, OMXClock *
m_pcm_input.nChannels = m_format.m_channelLayout.Count();
m_pcm_input.nSamplingRate = m_format.m_sampleRate;
- OMX_ERRORTYPE omx_err = OMX_ErrorNone;
- std::string componentName = "";
-
- componentName = "OMX.broadcom.audio_render";
+ std::string componentName = "OMX.broadcom.audio_render";
if(!m_omx_render)
m_omx_render = new COMXCoreComponent();
@@ -335,7 +334,7 @@ bool COMXAudio::Initialize(AEAudioFormat format, std::string& device, OMXClock *
OMX_INIT_STRUCTURE(audioDest);
strncpy((char *)audioDest.sName, device.c_str(), strlen(device.c_str()));
- omx_err = m_omx_render->SetConfig(OMX_IndexConfigBrcmAudioDestination, &audioDest);
+ OMX_ERRORTYPE omx_err = m_omx_render->SetConfig(OMX_IndexConfigBrcmAudioDestination, &audioDest);
if (omx_err != OMX_ErrorNone)
return false;
@@ -707,7 +706,6 @@ bool COMXAudio::SetCurrentVolume(float fVolume)
{
double r = fVolume;
const float* coeff = downmixing_coefficients_8;
- int input_channels = 0;
// normally we normalalise the levels, can be skipped (boosted) at risk of distortion
if(!g_guiSettings.GetBool("audiooutput.normalizelevels"))
diff --git a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
index 64cab780cb..afb509d92b 100644
--- a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
+++ b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
@@ -84,6 +84,7 @@ COMXAudioCodecOMX::COMXAudioCodecOMX()
m_layout = 0;
m_pFrame1 = NULL;
m_iSampleFormat = AV_SAMPLE_FMT_NONE;
+ m_iBufferSize1 = 0;
}
COMXAudioCodecOMX::~COMXAudioCodecOMX()
diff --git a/xbmc/cores/omxplayer/OMXAudioCodecOMX.h b/xbmc/cores/omxplayer/OMXAudioCodecOMX.h
index 35e9faee73..1497e07b7f 100644
--- a/xbmc/cores/omxplayer/OMXAudioCodecOMX.h
+++ b/xbmc/cores/omxplayer/OMXAudioCodecOMX.h
@@ -32,7 +32,7 @@
class COMXAudioCodecOMX
{
public:
- void Upmix(void *input, unsigned int channelsInput, void *output,
+ static void Upmix(void *input, unsigned int channelsInput, void *output,
unsigned int channelsOutput, unsigned int frames, AEDataFormat dataFormat);
COMXAudioCodecOMX();
virtual ~COMXAudioCodecOMX();
@@ -44,8 +44,8 @@ public:
int GetChannels();
virtual CAEChannelInfo GetChannelMap();
int GetSampleRate();
- int GetBitsPerSample();
- const char* GetName() { return "FFmpeg"; }
+ static int GetBitsPerSample();
+ static const char* GetName() { return "FFmpeg"; }
int GetBufferSize() { return m_iBuffered; }
int GetBitRate();
diff --git a/xbmc/cores/omxplayer/OMXImage.cpp b/xbmc/cores/omxplayer/OMXImage.cpp
index 5535f8ff37..13f0822e79 100644
--- a/xbmc/cores/omxplayer/OMXImage.cpp
+++ b/xbmc/cores/omxplayer/OMXImage.cpp
@@ -59,7 +59,6 @@ COMXImage::COMXImage()
m_width = 0;
m_height = 0;
- m_is_open = false;
m_decoded_buffer = NULL;
m_encoded_buffer = NULL;
@@ -320,12 +319,12 @@ OMX_IMAGE_CODINGTYPE COMXImage::GetCodingType()
else if(marker == M_APP1)
{
int readBits = 2;
- bool bMotorolla = false;
- bool bError = false;
// Exif header
if(CBitstreamConverter::read_bits(&br, 32) == 0x45786966)
{
+ bool bMotorolla = false;
+ bool bError = false;
CBitstreamConverter::skip_bits(&br, 8 * 2);
readBits += 2;
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp
index c09569bf19..0339323feb 100644
--- a/xbmc/cores/omxplayer/OMXPlayer.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayer.cpp
@@ -604,8 +604,8 @@ bool COMXPlayer::OpenInputStream()
return false;
}
- if (m_pInputStream && ( m_pInputStream->IsStreamType(DVDSTREAM_TYPE_DVD)
- || m_pInputStream->IsStreamType(DVDSTREAM_TYPE_BLURAY) ) )
+ if (m_pInputStream->IsStreamType(DVDSTREAM_TYPE_DVD)
+ || m_pInputStream->IsStreamType(DVDSTREAM_TYPE_BLURAY))
{
CLog::Log(LOGINFO, "COMXPlayer::OpenInputStream - DVD/BD not supported - Will try...");
}
diff --git a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp
index 04590c7cc2..1a5b362365 100644
--- a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp
@@ -85,6 +85,21 @@ OMXPlayerAudio::OMXPlayerAudio(OMXClock *av_clock, CDVDMessageQueue& parent)
m_messageQueue.SetMaxDataSize(3 * 1024 * 1024);
m_messageQueue.SetMaxTimeSize(8.0);
+ m_use_passthrough = false;
+ m_passthrough = false;
+ m_use_hw_decode = false;
+ m_hw_decode = false;
+ m_silence = false;
+ m_error = 0.0;
+ m_errorbuff = 0.0;
+ m_errorcount = 0;
+ m_syncclock = false;
+ m_integral = 0.0;
+ m_skipdupcount = 0;
+ m_prevskipped = false;
+ m_flush = false;
+ m_synctype = 0;
+
}
diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
index 05c23be9e8..2408166d81 100644
--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
@@ -69,6 +69,7 @@ OMXPlayerVideo::OMXPlayerVideo(OMXClock *av_clock,
CDVDMessageQueue& parent)
: CThread("COMXPlayerVideo")
, m_messageQueue("video")
+, m_codecname("")
, m_messageParent(parent)
{
m_av_clock = av_clock;
@@ -80,7 +81,6 @@ OMXPlayerVideo::OMXPlayerVideo(OMXClock *av_clock,
m_hdmi_clock_sync = false;
m_speed = DVD_PLAYSPEED_NORMAL;
m_stalled = false;
- m_codecname = "";
m_iSubtitleDelay = 0;
m_FlipTimeStamp = 0.0;
m_bRenderSubs = false;
@@ -97,6 +97,12 @@ OMXPlayerVideo::OMXPlayerVideo(OMXClock *av_clock,
m_messageQueue.SetMaxTimeSize(8.0);
m_dst_rect.SetRect(0, 0, 0, 0);
+ m_iSleepEndTime = 0.0;
+ m_Deinterlace = false;
+ m_audio_count = 0;
+ m_started = false;
+ m_flush = false;
+ m_view_mode = 0;
}
OMXPlayerVideo::~OMXPlayerVideo()
@@ -651,8 +657,7 @@ bool OMXPlayerVideo::OpenDecoder()
CLog::Log(LOGINFO, "OMXPlayerVideo::OpenDecoder fps: %f %s\n", m_fFrameRate, command);
m_DllBcmHost.vc_gencmd(response, sizeof response, command);
- if(m_av_clock)
- m_av_clock->SetRefreshRate(m_fFrameRate);
+ m_av_clock->SetRefreshRate(m_fFrameRate);
}
m_av_clock->OMXStateExecute(false);
diff --git a/xbmc/cores/omxplayer/OMXVideo.cpp b/xbmc/cores/omxplayer/OMXVideo.cpp
index 15bc8fafe2..a823c019f3 100644
--- a/xbmc/cores/omxplayer/OMXVideo.cpp
+++ b/xbmc/cores/omxplayer/OMXVideo.cpp
@@ -76,16 +76,22 @@
#define MAX_TEXT_LENGTH 1024
-COMXVideo::COMXVideo()
+COMXVideo::COMXVideo() : m_video_codec_name("")
{
m_is_open = false;
m_Pause = false;
m_extradata = NULL;
m_extrasize = 0;
m_video_convert = false;
- m_video_codec_name = "";
m_deinterlace = false;
m_hdmi_clock_sync = false;
+ m_drop_state = false;
+ m_decoded_width = 0;
+ m_decoded_height = 0;
+ m_omx_clock = NULL;
+ m_av_clock = NULL;
+ m_res_callback = NULL;
+ m_res_ctx = NULL;
}
COMXVideo::~COMXVideo()
@@ -310,9 +316,7 @@ bool COMXVideo::Open(CDVDStreamInfo &hints, OMXClock *clock, bool deinterlace, b
if(m_deinterlace)
CLog::Log(LOGDEBUG, "COMXVideo::Open : enable deinterlace\n");
- std::string componentName = "";
-
- componentName = decoder_name;
+ std::string componentName = decoder_name;
if(!m_omx_decoder.Initialize((const std::string)componentName, OMX_IndexParamVideoInit))
return false;
@@ -995,11 +999,11 @@ void COMXVideo::SetVideoRect(const CRect& SrcRect, const CRect& DestRect)
// doesn't like negative coordinates on dest_rect. So adjust by increasing src_rect
if (dx1 < 0.0f) {
sx1 -= dx1 * sw;
- dx1 -= dx1;
+ dx1 = 0;
}
if (dy1 < 0.0f) {
sy1 -= dy1 * sh;
- dy1 -= dy1;
+ dy1 = 0;
}
OMX_INIT_STRUCTURE(configDisplay);
diff --git a/xbmc/cores/paplayer/AudioDecoder.cpp b/xbmc/cores/paplayer/AudioDecoder.cpp
index 4009f17305..95440fa1b2 100644
--- a/xbmc/cores/paplayer/AudioDecoder.cpp
+++ b/xbmc/cores/paplayer/AudioDecoder.cpp
@@ -37,6 +37,12 @@ CAudioDecoder::CAudioDecoder()
m_status = STATUS_NO_FILE;
m_canPlay = false;
+
+ // output buffer (for transferring data from the Pcm Buffer to the rest of the audio chain)
+ memset(&m_outputBuffer, 0, OUTPUT_SAMPLES * sizeof(float));
+ memset(&m_pcmInputBuffer, 0, INPUT_SIZE * sizeof(BYTE));
+ memset(&m_inputBuffer, 0, INPUT_SAMPLES * sizeof(float));
+
}
CAudioDecoder::~CAudioDecoder()
diff --git a/xbmc/cores/paplayer/MP3codec.cpp b/xbmc/cores/paplayer/MP3codec.cpp
index d49b83ddb0..7820502fd6 100644
--- a/xbmc/cores/paplayer/MP3codec.cpp
+++ b/xbmc/cores/paplayer/MP3codec.cpp
@@ -276,8 +276,6 @@ int MP3Codec::Read(int size, bool init)
// Decode data if we have some to decode
if ( m_InputBufferPos || m_CallAgainWithSameBuffer || (m_eof && m_Decoding) )
{
- int result;
-
m_Decoding = true;
if ( size )
@@ -306,7 +304,7 @@ int MP3Codec::Read(int size, bool init)
}
// Now decode data into the vacant frame buffer.
- result = Decode(&outputsize);
+ int result = Decode(&outputsize);
if ( result != DECODING_ERROR)
{
if (init)
@@ -771,7 +769,7 @@ int MP3Codec::ReadDuration()
//find lame/xing info
int frequency = 0, bitrate = 0, bittable = 0;
int frame_count = 0;
- double tpf = 0.0, bpf = 0.0;
+ double tpf = 0.0;
for (int i = 0; i < iScanSize; i++)
{
unsigned long mpegheader = (unsigned long)(
@@ -886,23 +884,6 @@ int MP3Codec::ReadDuration()
int freqindex = (mpegheader & 0x0C00) >> 10;
bitrate = bitrate_table[bittable][layer][bitindex];
- /* Calculate bytes per frame, calculation depends on layer */
- switch (layer)
- {
- case 1:
- bpf = bitrate;
- bpf *= 48000;
- bpf /= freqtab[version][freqindex] << (version - 1);
- break;
- case 2:
- case 3:
- bpf = bitrate;
- bpf *= 144000;
- bpf /= freqtab[version][freqindex] << (version - 1);
- break;
- default:
- bpf = 1;
- }
double tpfbs[] = { 0, 384.0f, 1152.0f, 1152.0f };
frequency = freqtab[version][freqindex];
tpf = tpfbs[layer] / (double) frequency;
diff --git a/xbmc/cores/paplayer/MP3codec.h b/xbmc/cores/paplayer/MP3codec.h
index 37f041de5b..852757dd4e 100644
--- a/xbmc/cores/paplayer/MP3codec.h
+++ b/xbmc/cores/paplayer/MP3codec.h
@@ -68,7 +68,7 @@ private:
static unsigned int IsID3v2Header(unsigned char* pBuf, size_t bufLen);
virtual int ReadDuration();
bool ReadLAMETagInfo(unsigned char *p);
- int IsMp3FrameHeader(unsigned long head);
+ static int IsMp3FrameHeader(unsigned long head);
int64_t GetByteOffset(float fTime);
int64_t GetTimeOffset(int64_t iBytes);
void SetOffsets(int iSeekOffsets, const float *offsets);
diff --git a/xbmc/cores/paplayer/OggCallback.h b/xbmc/cores/paplayer/OggCallback.h
index fc5dc799ad..0fe3e8b986 100644
--- a/xbmc/cores/paplayer/OggCallback.h
+++ b/xbmc/cores/paplayer/OggCallback.h
@@ -28,7 +28,7 @@ class COggCallback
public:
COggCallback(XFILE::CFile& file);
- ov_callbacks Get(const CStdString& strFile);
+ static ov_callbacks Get(const CStdString& strFile);
static size_t ReadCallback(void *ptr, size_t size, size_t nmemb, void *datasource);
static int SeekCallback(void *datasource, ogg_int64_t offset, int whence);
diff --git a/xbmc/cores/paplayer/VGMCodec.cpp b/xbmc/cores/paplayer/VGMCodec.cpp
index 1d91f38367..904ab626c2 100644
--- a/xbmc/cores/paplayer/VGMCodec.cpp
+++ b/xbmc/cores/paplayer/VGMCodec.cpp
@@ -201,7 +201,6 @@ bool VGMCodec::IsSupportedFormat(const CStdString& strExt)
strExt == "rwsd" ||
strExt == "rwav" ||
strExt == "rws" ||
- strExt == "rwsd" ||
strExt == "rwx" ||
strExt == "rxw" ||
strExt == "sad" ||
diff --git a/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp b/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
index 87991f17a3..8775c17226 100644
--- a/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
+++ b/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
@@ -46,9 +46,9 @@ CPlayerCoreFactory::CPlayerCoreFactory()
CPlayerCoreFactory::~CPlayerCoreFactory()
{
- for(std::vector<CPlayerCoreConfig *>::iterator it = m_vecCoreConfigs.begin(); it != m_vecCoreConfigs.end(); it++)
+ for(std::vector<CPlayerCoreConfig *>::iterator it = m_vecCoreConfigs.begin(); it != m_vecCoreConfigs.end(); ++it)
delete *it;
- for(std::vector<CPlayerSelectionRule *>::iterator it = m_vecCoreSelectionRules.begin(); it != m_vecCoreSelectionRules.end(); it++)
+ for(std::vector<CPlayerSelectionRule *>::iterator it = m_vecCoreSelectionRules.begin(); it != m_vecCoreSelectionRules.end(); ++it)
delete *it;
}
@@ -86,7 +86,7 @@ IPlayer* CPlayerCoreFactory::CreatePlayer(const CStdString& strCore, IPlayerCall
IPlayer* CPlayerCoreFactory::CreatePlayer(const PLAYERCOREID eCore, IPlayerCallback& callback) const
{
CSingleLock lock(m_section);
- if (!m_vecCoreConfigs.size() || eCore-1 > m_vecCoreConfigs.size()-1)
+ if (m_vecCoreConfigs.empty() || eCore-1 > m_vecCoreConfigs.size()-1)
return NULL;
return m_vecCoreConfigs[eCore-1]->CreatePlayer(callback);
@@ -260,7 +260,7 @@ PLAYERCOREID CPlayerCoreFactory::GetDefaultPlayer( const CFileItem& item ) const
GetPlayers(item, vecCores);
//If we have any players return the first one
- if( vecCores.size() > 0 ) return vecCores.at(0);
+ if( !vecCores.empty() ) return vecCores.at(0);
return EPC_NONE;
}
@@ -321,7 +321,7 @@ bool CPlayerCoreFactory::LoadConfiguration(const std::string &file, bool clear)
if (clear)
{
- for(std::vector<CPlayerCoreConfig *>::iterator it = m_vecCoreConfigs.begin(); it != m_vecCoreConfigs.end(); it++)
+ for(std::vector<CPlayerCoreConfig *>::iterator it = m_vecCoreConfigs.begin(); it != m_vecCoreConfigs.end(); ++it)
delete *it;
m_vecCoreConfigs.clear();
// Builtin players; hard-coded because re-ordering them would break scripts
@@ -351,7 +351,7 @@ bool CPlayerCoreFactory::LoadConfiguration(const std::string &file, bool clear)
m_vecCoreConfigs.push_back(omxplayer);
#endif
- for(std::vector<CPlayerSelectionRule *>::iterator it = m_vecCoreSelectionRules.begin(); it != m_vecCoreSelectionRules.end(); it++)
+ for(std::vector<CPlayerSelectionRule *>::iterator it = m_vecCoreSelectionRules.begin(); it != m_vecCoreSelectionRules.end(); ++it)
delete *it;
m_vecCoreSelectionRules.clear();
}
@@ -427,7 +427,7 @@ void CPlayerCoreFactory::OnPlayerDiscovered(const CStdString& id, const CStdStri
std::vector<CPlayerCoreConfig *>::iterator it;
for(it = m_vecCoreConfigs.begin();
it != m_vecCoreConfigs.end();
- it++)
+ ++it)
{
if ((*it)->GetId() == id)
{
@@ -449,7 +449,7 @@ void CPlayerCoreFactory::OnPlayerRemoved(const CStdString& id)
std::vector<CPlayerCoreConfig *>::iterator it;
for(it = m_vecCoreConfigs.begin();
it != m_vecCoreConfigs.end();
- it++)
+ ++it)
{
if ((*it)->GetId() == id)
(*it)->m_eCore = EPC_NONE;
diff --git a/xbmc/cores/playercorefactory/PlayerCoreFactory.h b/xbmc/cores/playercorefactory/PlayerCoreFactory.h
index 0a60e0978e..559ee0fae1 100644
--- a/xbmc/cores/playercorefactory/PlayerCoreFactory.h
+++ b/xbmc/cores/playercorefactory/PlayerCoreFactory.h
@@ -98,7 +98,7 @@ public:
protected:
CPlayerCoreFactory();
CPlayerCoreFactory(const CPlayerCoreFactory&);
- CPlayerCoreFactory const& operator=(CPlayerCoreFactory const&);
+ CPlayerCoreFactory& operator=(CPlayerCoreFactory const&);
virtual ~CPlayerCoreFactory();
private:
diff --git a/xbmc/cores/playercorefactory/PlayerSelectionRule.cpp b/xbmc/cores/playercorefactory/PlayerSelectionRule.cpp
index a247d33464..2bef5e39bd 100644
--- a/xbmc/cores/playercorefactory/PlayerSelectionRule.cpp
+++ b/xbmc/cores/playercorefactory/PlayerSelectionRule.cpp
@@ -83,7 +83,7 @@ void CPlayerSelectionRule::Initialize(TiXmlElement* pRule)
}
}
-int CPlayerSelectionRule::GetTristate(const char* szValue) const
+int CPlayerSelectionRule::GetTristate(const char* szValue)
{
if (szValue)
{
@@ -93,12 +93,12 @@ int CPlayerSelectionRule::GetTristate(const char* szValue) const
return -1;
}
-bool CPlayerSelectionRule::CompileRegExp(const CStdString& str, CRegExp& regExp) const
+bool CPlayerSelectionRule::CompileRegExp(const CStdString& str, CRegExp& regExp)
{
return str.length() > 0 && regExp.RegComp(str.c_str());
}
-bool CPlayerSelectionRule::MatchesRegExp(const CStdString& str, CRegExp& regExp) const
+bool CPlayerSelectionRule::MatchesRegExp(const CStdString& str, CRegExp& regExp)
{
return regExp.RegFind(str, 0) == 0;
}
@@ -108,15 +108,15 @@ void CPlayerSelectionRule::GetPlayers(const CFileItem& item, VECPLAYERCORES &vec
CLog::Log(LOGDEBUG, "CPlayerSelectionRule::GetPlayers: considering rule: %s", m_name.c_str());
if (m_bStreamDetails && !item.HasVideoInfoTag()) return;
- if (m_tAudio >= 0 && (m_tAudio > 0) != item.IsAudio()) return;
- if (m_tVideo >= 0 && (m_tVideo > 0) != item.IsVideo()) return;
- if (m_tInternetStream >= 0 && (m_tInternetStream > 0) != item.IsInternetStream()) return;
- if (m_tRemote >= 0 && (m_tRemote > 0) != item.IsRemote()) return;
-
- if (m_tBD >= 0 && (m_tBD > 0) != (item.IsBDFile() && item.IsOnDVD())) return;
- if (m_tDVD >= 0 && (m_tDVD > 0) != item.IsDVD()) return;
- if (m_tDVDFile >= 0 && (m_tDVDFile > 0) != item.IsDVDFile()) return;
- if (m_tDVDImage >= 0 && (m_tDVDImage > 0) != item.IsDVDImage()) return;
+ if ((m_tAudio > 0) != item.IsAudio()) return;
+ if ((m_tVideo > 0) != item.IsVideo()) return;
+ if ((m_tInternetStream > 0) != item.IsInternetStream()) return;
+ if ((m_tRemote > 0) != item.IsRemote()) return;
+
+ if ((m_tBD > 0) != (item.IsBDFile() && item.IsOnDVD())) return;
+ if ((m_tDVD > 0) != item.IsDVD()) return;
+ if ((m_tDVDFile > 0) != item.IsDVDFile()) return;
+ if ((m_tDVDImage > 0) != item.IsDVDImage()) return;
CRegExp regExp;
diff --git a/xbmc/cores/playercorefactory/PlayerSelectionRule.h b/xbmc/cores/playercorefactory/PlayerSelectionRule.h
index 91543d45f8..3078f9a89e 100644
--- a/xbmc/cores/playercorefactory/PlayerSelectionRule.h
+++ b/xbmc/cores/playercorefactory/PlayerSelectionRule.h
@@ -36,9 +36,9 @@ public:
void GetPlayers(const CFileItem& item, VECPLAYERCORES &vecCores);
private:
- int GetTristate(const char* szValue) const;
- bool CompileRegExp(const CStdString& str, CRegExp& regExp) const;
- bool MatchesRegExp(const CStdString& str, CRegExp& regExp) const;
+ static int GetTristate(const char* szValue);
+ static bool CompileRegExp(const CStdString& str, CRegExp& regExp);
+ static bool MatchesRegExp(const CStdString& str, CRegExp& regExp);
void Initialize(TiXmlElement* pRule);
PLAYERCOREID GetPlayerCore();