diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index 646db65d53..86787094a0 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -21,7 +21,7 @@ PKG_NAME="xbmc-theme-Confluence" PKG_VERSION="12.2-18397e1" if [ "$XBMC" = "master" ]; then - PKG_VERSION="13.alpha-0efa87e" + PKG_VERSION="13.alpha-2435cf3" elif [ "$XBMC" = "xbmc-aml" ]; then PKG_VERSION="aml-frodo-d9119f2" fi diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 02956393ce..9960bf0993 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -21,7 +21,7 @@ PKG_NAME="xbmc" PKG_VERSION="12.2-18397e1" if [ "$XBMC" = "master" ]; then - PKG_VERSION="13.alpha-0efa87e" + PKG_VERSION="13.alpha-2435cf3" elif [ "$XBMC" = "xbmc-aml" ]; then PKG_VERSION="aml-frodo-d9119f2" fi diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-321-texturepacker-hostflags-and-rework.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-321-texturepacker-hostflags-and-rework.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-453-add_openelec.tv_RSS_news-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-453-add_openelec.tv_RSS_news-0.1.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-453-add_openelec.tv_RSS_news-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-602-add_as.xml_busy_dialog_delay_control.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-602-add_as.xml_busy_dialog_delay_control.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-602-add_as.xml_busy_dialog_delay_control.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-602-add_as.xml_busy_dialog_delay_control.patch diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-990.15-depends-mark_our_wrapped_functions_as_used.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-990.15-depends-mark_our_wrapped_functions_as_used.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-990.15-depends-mark_our_wrapped_functions_as_used.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-990.15-depends-mark_our_wrapped_functions_as_used.patch diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-995.01-xvba_support-e70c101.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-995.01-xvba_support-4083650.patch similarity index 91% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-995.01-xvba_support-e70c101.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-995.01-xvba_support-4083650.patch index ba73315ef1..e37593c5eb 100644 --- a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-995.01-xvba_support-e70c101.patch +++ b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-995.01-xvba_support-4083650.patch @@ -1,1226 +1,7 @@ -From eb767f12f803f34a841f490e58bd11629c2e7f84 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Sun, 11 Aug 2013 18:10:05 +0200 -Subject: [PATCH 001/111] AE: add planar formats to end of enum, some other - code relies on the order - ---- - xbmc/cores/AudioEngine/AEAudioFormat.h | 22 +++++++------ - xbmc/cores/AudioEngine/Utils/AEUtil.cpp | 57 +++++++++++++++++---------------- - 2 files changed, 42 insertions(+), 37 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/AEAudioFormat.h b/xbmc/cores/AudioEngine/AEAudioFormat.h -index 64be36f..5664e6e 100644 ---- a/xbmc/cores/AudioEngine/AEAudioFormat.h -+++ b/xbmc/cores/AudioEngine/AEAudioFormat.h -@@ -31,33 +31,26 @@ enum AEDataFormat - AE_FMT_INVALID = -1, - - AE_FMT_U8, -- AE_FMT_U8P, - AE_FMT_S8, - - AE_FMT_S16BE, - AE_FMT_S16LE, - AE_FMT_S16NE, -- AE_FMT_S16NEP, - - AE_FMT_S32BE, - AE_FMT_S32LE, - AE_FMT_S32NE, -- AE_FMT_S32NEP, -- -+ - AE_FMT_S24BE4, - AE_FMT_S24LE4, - AE_FMT_S24NE4, /* S24 in 4 bytes */ -- AE_FMT_S24NE4P, - - AE_FMT_S24BE3, - AE_FMT_S24LE3, - AE_FMT_S24NE3, /* S24 in 3 bytes */ -- AE_FMT_S24NE3P, - - AE_FMT_DOUBLE, -- AE_FMT_DOUBLEP, - AE_FMT_FLOAT, -- AE_FMT_FLOATP, - - /* Bitstream formats */ - AE_FMT_AAC, -@@ -68,11 +61,20 @@ enum AEDataFormat - AE_FMT_DTSHD, - AE_FMT_LPCM, - -+ /* planar formats */ -+ AE_FMT_U8P, -+ AE_FMT_S16NEP, -+ AE_FMT_S32NEP, -+ AE_FMT_S24NE4P, -+ AE_FMT_S24NE3P, -+ AE_FMT_DOUBLEP, -+ AE_FMT_FLOATP, -+ - AE_FMT_MAX - }; - --#define AE_IS_RAW(x) ((x) >= AE_FMT_AAC && (x) < AE_FMT_MAX) --#define AE_IS_RAW_HD(x) ((x) >= AE_FMT_EAC3 && (x) < AE_FMT_MAX) -+#define AE_IS_RAW(x) ((x) >= AE_FMT_AAC && (x) < AE_FMT_U8P) -+#define AE_IS_RAW_HD(x) ((x) >= AE_FMT_EAC3 && (x) < AE_FMT_U8P) - - /** - * The audio format structure that fully defines a stream's audio information -diff --git a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp -index 3a5c78f..1ff44f8 100644 ---- a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp -+++ b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp -@@ -82,42 +82,43 @@ const unsigned int CAEUtil::DataFormatToBits(const enum AEDataFormat dataFormat) - static const unsigned int formats[AE_FMT_MAX] = - { - 8, /* U8 */ -- 8, /* U8P */ - 8, /* S8 */ - - 16, /* S16BE */ - 16, /* S16LE */ - 16, /* S16NE */ -- 16, /* S16NEP */ -- -+ - 32, /* S32BE */ - 32, /* S32LE */ - 32, /* S32NE */ -- 32, /* S32NEP */ -- -+ - 32, /* S24BE */ - 32, /* S24LE */ - 32, /* S24NE */ -- 32, /* S24NEP */ -- -+ - 24, /* S24BE3 */ - 24, /* S24LE3 */ - 24, /* S24NE3 */ -- 24, /* S24NE3P*/ -- -+ - sizeof(double) << 3, /* DOUBLE */ -- sizeof(double) << 3, /* DOUBLEP */ - sizeof(float ) << 3, /* FLOAT */ -- sizeof(float ) << 3, /* FLOATP */ -- -+ - 16, /* AAC */ - 16, /* AC3 */ - 16, /* DTS */ - 16, /* EAC3 */ - 16, /* TRUEHD */ - 16, /* DTS-HD */ -- 32 /* LPCM */ -- }; -+ 32, /* LPCM */ -+ -+ 8, /* U8P */ -+ 16, /* S16NEP */ -+ 32, /* S32NEP */ -+ 32, /* S24NEP */ -+ 24, /* S24NE3P*/ -+ sizeof(double) << 3, /* DOUBLEP */ -+ sizeof(float ) << 3 /* FLOATP */ -+ }; - - return formats[dataFormat]; - } -@@ -130,34 +131,27 @@ const char* CAEUtil::DataFormatToStr(const enum AEDataFormat dataFormat) - static const char *formats[AE_FMT_MAX] = - { - "AE_FMT_U8", -- "AE_FMT_U8P", - "AE_FMT_S8", - - "AE_FMT_S16BE", - "AE_FMT_S16LE", - "AE_FMT_S16NE", -- "AE_FMT_S16NEP", -- -+ - "AE_FMT_S32BE", - "AE_FMT_S32LE", - "AE_FMT_S32NE", -- "AE_FMT_S32NEP", -- -+ - "AE_FMT_S24BE4", - "AE_FMT_S24LE4", - "AE_FMT_S24NE4", /* S24 in 4 bytes */ -- "AE_FMT_S24NE4P", -- -+ - "AE_FMT_S24BE3", - "AE_FMT_S24LE3", - "AE_FMT_S24NE3", /* S24 in 3 bytes */ -- "AE_FMT_S24NE3P", -- -+ - "AE_FMT_DOUBLE", -- "AE_FMT_DOUBLEP", - "AE_FMT_FLOAT", -- "AE_FMT_FLOATP", -- -+ - /* for passthrough streams and the like */ - "AE_FMT_AAC", - "AE_FMT_AC3", -@@ -165,7 +159,16 @@ const char* CAEUtil::DataFormatToStr(const enum AEDataFormat dataFormat) - "AE_FMT_EAC3", - "AE_FMT_TRUEHD", - "AE_FMT_DTSHD", -- "AE_FMT_LPCM" -+ "AE_FMT_LPCM", -+ -+ /* planar formats */ -+ "AE_FMT_U8P", -+ "AE_FMT_S16NEP", -+ "AE_FMT_S32NEP", -+ "AE_FMT_S24NE4P", -+ "AE_FMT_S24NE3P", -+ "AE_FMT_DOUBLEP", -+ "AE_FMT_FLOATP" - }; - - return formats[dataFormat]; --- -1.8.1.6 - - -From a2ab55a82288080ef0fbb92f9cf5a7d4c34c8ff9 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Sun, 11 Aug 2013 19:35:57 +0200 -Subject: [PATCH 002/111] AudioEngine: Add AE_IS_PLANAR(x) macro - ---- - xbmc/cores/AudioEngine/AEAudioFormat.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/cores/AudioEngine/AEAudioFormat.h b/xbmc/cores/AudioEngine/AEAudioFormat.h -index 5664e6e..5774132 100644 ---- a/xbmc/cores/AudioEngine/AEAudioFormat.h -+++ b/xbmc/cores/AudioEngine/AEAudioFormat.h -@@ -75,6 +75,7 @@ enum AEDataFormat - - #define AE_IS_RAW(x) ((x) >= AE_FMT_AAC && (x) < AE_FMT_U8P) - #define AE_IS_RAW_HD(x) ((x) >= AE_FMT_EAC3 && (x) < AE_FMT_U8P) -+#define AE_IS_PLANAR(x) ((x) >= AE_FMT_U8P && (x) <= AE_FMT_FLOATP) - - /** - * The audio format structure that fully defines a stream's audio information --- -1.8.1.6 - - -From 6fe6e6009ffb0ccafc270a5cacf8b3bc0c7a7ff7 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 09:08:34 +0200 -Subject: [PATCH 003/111] AE: WASAPI - fix AddPackets for the case of provided - frames are less than buffer size - ---- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index ef43428..8a7001b 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -466,7 +466,7 @@ unsigned int CAESinkWASAPI::AddPackets(uint8_t *data, unsigned int frames, bool - { - memcpy(m_pBuffer+m_bufferPtr*m_format.m_frameSize, data, FramesToCopy*m_format.m_frameSize); - m_bufferPtr += FramesToCopy; -- if (frames != m_format.m_frames) -+ if (m_bufferPtr != m_format.m_frames) - return frames; - } - --- -1.8.1.6 - - -From beb6b84b7694a5ed50b981eab59405bf5f6ec4c0 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 09:40:38 +0200 -Subject: [PATCH 004/111] ActiveAE: engage transcode for stereo if upmix is - selected - ---- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index bc861ae..4326729 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -1172,7 +1172,7 @@ void CActiveAE::ApplySettingsToFormat(AEAudioFormat &format, AudioSettings &sett - settings.ac3passthrough && - (!settings.multichannellpcm || (m_settings.mode != AUDIO_HDMI)) && - !m_streams.empty() && -- format.m_channelLayout.Count() > 2) -+ (format.m_channelLayout.Count() > 2 || settings.stereoupmix)) - { - format.m_dataFormat = AE_FMT_AC3; - format.m_sampleRate = 48000; --- -1.8.1.6 - - -From 18f24beff89d8c872962967698cd21dce715373d Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 14:59:38 +0200 -Subject: [PATCH 005/111] ActiveAE: flush engine on flush stream if only one - stream is active - ---- - .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 27 ++++++++++++++++++++++ - .../AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 5 ++++ - .../AudioEngine/Engines/ActiveAE/ActiveAESink.h | 1 + - 3 files changed, 33 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 4326729..30af6e8 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -1077,6 +1077,33 @@ void CActiveAE::SFlushStream(CActiveAEStream *stream) - stream->m_streamPort->Purge(); - stream->m_bufferedTime = 0.0; - stream->m_paused = true; -+ -+ // flsuh the engine if we only have a single stream -+ if (m_streams.size() == 1) -+ { -+ m_sinkBuffers->Flush(); -+ m_vizBuffers->Flush(); -+ -+ // send message to sink -+ Message *reply; -+ if (m_sink.m_controlPort.SendOutMessageSync(CSinkControlProtocol::FLUSH, -+ &reply, 2000)) -+ { -+ bool success = reply->signal == CSinkControlProtocol::ACC ? true : false; -+ if (!success) -+ { -+ CLog::Log(LOGERROR, "ActiveAE::%s - returned error on flush", __FUNCTION__); -+ m_extError = true; -+ } -+ reply->Release(); -+ } -+ else -+ { -+ CLog::Log(LOGERROR, "ActiveAE::%s - failed to flush", __FUNCTION__); -+ m_extError = true; -+ } -+ m_stats.Reset(m_sinkFormat.m_sampleRate); -+ } - } - - void CActiveAE::ClearDiscardedBuffers() -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp -index 82854c2..4785c76 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp -@@ -167,6 +167,11 @@ void CActiveAESink::StateMachine(int signal, Protocol *port, Message *msg) - msg->Reply(CSinkControlProtocol::ACC); - return; - -+ case CSinkControlProtocol::FLUSH: -+ ReturnBuffers(); -+ msg->Reply(CSinkControlProtocol::ACC); -+ return; -+ - default: - break; - } -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h -index 559179c..e241b03 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h -@@ -50,6 +50,7 @@ class CSinkControlProtocol : public Protocol - UNCONFIGURE, - SILENCEMODE, - VOLUME, -+ FLUSH, - TIMEOUT, - }; - enum InSignal --- -1.8.1.6 - - -From 25616c11a7f18e7d159d149f98df94c35692e203 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 15:01:09 +0200 -Subject: [PATCH 006/111] ActiveAE: check for error during playback - ---- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 30af6e8..5f068a1 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -649,6 +649,12 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) - switch (signal) - { - case CActiveAEControlProtocol::TIMEOUT: -+ if (m_extError) -+ { -+ m_state = AE_TOP_ERROR; -+ m_extTimeout = 100; -+ return; -+ } - if (RunStages()) - { - m_extTimeout = 0; --- -1.8.1.6 - - -From 49e6399b73ad242133f8f75e48d8830eef00d788 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 15:32:50 +0200 -Subject: [PATCH 007/111] dvdplayer: flush audio on close stream in case of - nowait - ---- - xbmc/cores/dvdplayer/DVDPlayerAudio.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp -index 3c1e553..583a7f8 100644 ---- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp -+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp -@@ -231,6 +231,11 @@ void CDVDPlayerAudio::CloseStream(bool bWaitForBuffers) - m_dvdAudio.Drain(); - m_bStop = true; - } -+ else -+ { -+ m_dvdAudio.Flush(); -+ } -+ - m_dvdAudio.Destroy(); - - // uninit queue --- -1.8.1.6 - - -From 049909912598dcca3dc5e4113bf1da9c7dc856fd Mon Sep 17 00:00:00 2001 -From: unknown -Date: Mon, 12 Aug 2013 15:33:49 +0200 -Subject: [PATCH 008/111] ActiveAE: faster flushing of stream - ---- - .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 22 ++++++++++++---------- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h | 2 +- - .../Engines/ActiveAE/ActiveAEStream.cpp | 10 +--------- - 3 files changed, 14 insertions(+), 20 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 5f068a1..3ae6d9c 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -424,6 +424,11 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) - m_state = AE_TOP_CONFIGURED_PLAY; - m_extTimeout = 0; - return; -+ case CActiveAEControlProtocol::FLUSHSTREAM: -+ stream = *(CActiveAEStream**)msg->data; -+ SFlushStream(stream); -+ msg->Reply(CActiveAEControlProtocol::ACC); -+ return; - case CActiveAEControlProtocol::STREAMAMP: - MsgStreamParameter *par; - par = (MsgStreamParameter*)msg->data; -@@ -541,11 +546,6 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) - m_state = AE_TOP_CONFIGURED_PLAY; - msg->Reply(CActiveAEDataProtocol::ACC); - return; -- case CActiveAEDataProtocol::FLUSHSTREAM: -- stream = *(CActiveAEStream**)msg->data; -- SFlushStream(stream); -- msg->Reply(CActiveAEDataProtocol::ACC); -- return; - default: - break; - } -@@ -1084,11 +1084,13 @@ void CActiveAE::SFlushStream(CActiveAEStream *stream) - stream->m_bufferedTime = 0.0; - stream->m_paused = true; - -- // flsuh the engine if we only have a single stream -+ // flush the engine if we only have a single stream - if (m_streams.size() == 1) - { -- m_sinkBuffers->Flush(); -- m_vizBuffers->Flush(); -+ if (m_sinkBuffers) -+ m_sinkBuffers->Flush(); -+ if (m_vizBuffers) -+ m_vizBuffers->Flush(); - - // send message to sink - Message *reply; -@@ -2263,11 +2265,11 @@ IAEStream *CActiveAE::FreeStream(IAEStream *stream) - void CActiveAE::FlushStream(CActiveAEStream *stream) - { - Message *reply; -- if (m_dataPort.SendOutMessageSync(CActiveAEDataProtocol::FLUSHSTREAM, -+ if (m_controlPort.SendOutMessageSync(CActiveAEControlProtocol::FLUSHSTREAM, - &reply,1000, - &stream, sizeof(CActiveAEStream*))) - { -- bool success = reply->signal == CActiveAEDataProtocol::ACC ? true : false; -+ bool success = reply->signal == CActiveAEControlProtocol::ACC ? true : false; - reply->Release(); - if (!success) - { -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -index 90c7f14..e5a3e9d 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -@@ -73,6 +73,7 @@ class CActiveAEControlProtocol : public Protocol - VOLUME, - PAUSESTREAM, - RESUMESTREAM, -+ FLUSHSTREAM, - STREAMRGAIN, - STREAMVOLUME, - STREAMAMP, -@@ -106,7 +107,6 @@ class CActiveAEDataProtocol : public Protocol - FREESTREAM, - STREAMSAMPLE, - DRAINSTREAM, -- FLUSHSTREAM, - }; - enum InSignal - { -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -index 3ef5d1f..ab2b10a 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -@@ -247,15 +247,7 @@ bool CActiveAEStream::IsDrained() - - void CActiveAEStream::Flush() - { -- if (m_currentBuffer) -- { -- MsgStreamSample msgData; -- m_currentBuffer->pkt->nb_samples = 0; -- msgData.buffer = m_currentBuffer; -- msgData.stream = this; -- m_streamPort->SendOutMessage(CActiveAEDataProtocol::STREAMSAMPLE, &msgData, sizeof(MsgStreamSample)); -- m_currentBuffer = NULL; -- } -+ m_currentBuffer = NULL; - AE.FlushStream(this); - ResetFreeBuffers(); - } --- -1.8.1.6 - - -From 2d51194c3ca1c4a62be4ca48d8edd85c7922c9b3 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Tue, 13 Aug 2013 10:55:39 +0200 -Subject: [PATCH 009/111] AE: WASAPI - fix GetDelay - ---- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 15 ++++++++++++++- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h | 1 + - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index 8a7001b..a49e86d 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -418,7 +418,19 @@ double CAESinkWASAPI::GetDelay() - if (!m_initialized) - return 0.0; - -- return m_sinkLatency; -+ double time_played = 0.0; -+ if (m_running) -+ { -+ unsigned int now = XbmcThreads::SystemClockMillis(); -+ time_played = (double)(now-m_lastWriteToBuffer) / 1000; -+ } -+ -+ double delay = m_sinkLatency - time_played + (double)m_bufferPtr / (double)m_format.m_sampleRate; -+ -+ if (delay < 0) -+ delay = 0.0; -+ -+ return delay; - } - - double CAESinkWASAPI::GetCacheTime() -@@ -579,6 +591,7 @@ unsigned int CAESinkWASAPI::AddPackets(uint8_t *data, unsigned int frames, bool - #endif - return INT_MAX; - } -+ m_lastWriteToBuffer = XbmcThreads::SystemClockMillis(); - - if (FramesToCopy != frames) - { -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -index d9619c4..8b29f50 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -@@ -79,6 +79,7 @@ class CAESinkWASAPI : public IAESink - unsigned int m_uiBufferLen; /* wasapi endpoint buffer size, in frames */ - double m_avgTimeWaiting; /* time between next buffer of data from SoftAE and driver call for data */ - double m_sinkLatency; /* time in seconds of total duration of the two WASAPI buffers */ -+ unsigned int m_lastWriteToBuffer; - - uint8_t *m_pBuffer; - int m_bufferPtr; --- -1.8.1.6 - - -From c04bd2950634488381ed17897fd20347b517a889 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Tue, 13 Aug 2013 13:19:48 +0200 -Subject: [PATCH 010/111] ActiveAE: do not pause stream when flushing it - ---- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 3ae6d9c..9b3ff00 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -428,6 +428,8 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) - stream = *(CActiveAEStream**)msg->data; - SFlushStream(stream); - msg->Reply(CActiveAEControlProtocol::ACC); -+ m_state = AE_TOP_CONFIGURED_PLAY; -+ m_extTimeout = 0; - return; - case CActiveAEControlProtocol::STREAMAMP: - MsgStreamParameter *par; -@@ -1082,7 +1084,7 @@ void CActiveAE::SFlushStream(CActiveAEStream *stream) - stream->m_resampleBuffers->Flush(); - stream->m_streamPort->Purge(); - stream->m_bufferedTime = 0.0; -- stream->m_paused = true; -+ stream->m_paused = false; - - // flush the engine if we only have a single stream - if (m_streams.size() == 1) --- -1.8.1.6 - - -From 6188a2c1d3b5613eaba8338fba32b6e1f9544c68 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Wed, 14 Aug 2013 08:11:05 +0200 -Subject: [PATCH 011/111] AE: adapt limiter to planar formats - ---- - xbmc/cores/AudioEngine/Utils/AELimiter.cpp | 9 ++++++--- - xbmc/cores/AudioEngine/Utils/AELimiter.h | 2 +- - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Utils/AELimiter.cpp b/xbmc/cores/AudioEngine/Utils/AELimiter.cpp -index 77af320..5ea0884 100644 ---- a/xbmc/cores/AudioEngine/Utils/AELimiter.cpp -+++ b/xbmc/cores/AudioEngine/Utils/AELimiter.cpp -@@ -34,12 +34,15 @@ - m_increase = 0.0f; - } - --float CAELimiter::Run(float* frame, int channels) -+float CAELimiter::Run(float* frame, int channels, int stride /*= 1*/) - { -- float* end = frame + channels; -+ float* end = frame + channels*stride; - float highest = 0.0f; - while (frame != end) -- highest = std::max(highest, fabsf(*(frame++))); -+ { -+ highest = std::max(highest, fabsf(*(frame))); -+ frame += stride; -+ } - - float sample = highest * m_amplify; - if (sample * m_attenuation > 1.0f) -diff --git a/xbmc/cores/AudioEngine/Utils/AELimiter.h b/xbmc/cores/AudioEngine/Utils/AELimiter.h -index ef46d0c..9507e71 100644 ---- a/xbmc/cores/AudioEngine/Utils/AELimiter.h -+++ b/xbmc/cores/AudioEngine/Utils/AELimiter.h -@@ -48,5 +48,5 @@ class CAELimiter - m_samplerate = (float)samplerate; - } - -- float Run(float* frame, int channels); -+ float Run(float* frame, int channels, int stride = 1); - }; --- -1.8.1.6 - - -From 8b77985e390eeb90a17ef4198b0177d03a910406 Mon Sep 17 00:00:00 2001 -From: unknown -Date: Wed, 14 Aug 2013 08:11:42 +0200 -Subject: [PATCH 012/111] ActiveAE: fix volume amplification - ---- - .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 36 +++++++++------------- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h | 1 - - 2 files changed, 15 insertions(+), 22 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 9b3ff00..db331dc 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -972,6 +972,9 @@ void CActiveAE::Configure(AEAudioFormat *desiredFmt) - } - if (m_mode == MODE_TRANSCODE || m_streams.size() > 1) - (*it)->m_resampleBuffers->m_fillPackets = true; -+ -+ // amplification -+ (*it)->m_limiter.SetSamplerate(outputFormat.m_sampleRate); - } - - // buffers for viz -@@ -1165,19 +1168,6 @@ void CActiveAE::DiscardSound(CActiveAESound *sound) - } - } - --float CActiveAE::CalcStreamAmplification(CActiveAEStream *stream, CSampleBuffer *buf) --{ -- float amp = 1.0f; -- int nb_floats = buf->pkt->nb_samples * buf->pkt->config.channels / buf->pkt->planes; -- float tamp; -- for(int i=0; ipkt->planes; i++) -- { -- tamp = stream->m_limiter.Run((float*)buf->pkt->data[i], nb_floats); -- amp = std::min(amp, tamp); -- } -- return amp; --} -- - void CActiveAE::ChangeResampleQuality() - { - std::list::iterator it; -@@ -1488,12 +1478,10 @@ bool CActiveAE::RunStages() - out = (*it)->m_resampleBuffers->m_outputSamples.front(); - (*it)->m_resampleBuffers->m_outputSamples.pop_front(); - -- // volume for stream -- float amp = (*it)->m_rgain * CalcStreamAmplification((*it), out); -- - int nb_floats = out->pkt->nb_samples * out->pkt->config.channels / out->pkt->planes; - int nb_loops = 1; - float fadingStep = 0.0f; -+ int stride = 1; - - // fading - if ((*it)->m_fadingSamples == -1) -@@ -1508,6 +1496,7 @@ bool CActiveAE::RunStages() - float delta = (*it)->m_fadingTarget - (*it)->m_fadingBase; - int samples = m_internalFormat.m_sampleRate * (float)(*it)->m_fadingTime / 1000.0f; - fadingStep = delta / samples; -+ stride = out->pkt->planes > 1 ? out->pkt->linesize : 1; - } - for(int i=0; im_streamFading = false; - } - } -- float volume = (*it)->m_volume * amp; -+ -+ // volume for stream -+ float volume = (*it)->m_volume * (*it)->m_rgain * -+ (*it)->m_limiter.Run((float*)out->pkt->data[0]+i*nb_floats, out->pkt->config.channels, stride); - - for(int j=0; jpkt->planes; j++) - { -@@ -1543,12 +1535,10 @@ bool CActiveAE::RunStages() - mix = (*it)->m_resampleBuffers->m_outputSamples.front(); - (*it)->m_resampleBuffers->m_outputSamples.pop_front(); - -- // volume for stream -- float amp = (*it)->m_volume * (*it)->m_rgain * CalcStreamAmplification((*it), mix); -- - int nb_floats = mix->pkt->nb_samples * mix->pkt->config.channels / mix->pkt->planes; - int nb_loops = 1; - float fadingStep = 0.0f; -+ int stride = 1; - - // fading - if ((*it)->m_fadingSamples == -1) -@@ -1563,6 +1553,7 @@ bool CActiveAE::RunStages() - float delta = (*it)->m_fadingTarget - (*it)->m_fadingBase; - int samples = m_internalFormat.m_sampleRate * (float)(*it)->m_fadingTime / 1000.0f; - fadingStep = delta / samples; -+ stride = out->pkt->planes > 1 ? out->pkt->linesize : 1; - } - for(int i=0; im_streamFading = false; - } - } -- float volume = (*it)->m_volume * amp; -+ -+ // volume for stream -+ float volume = (*it)->m_volume * (*it)->m_rgain * -+ (*it)->m_limiter.Run((float*)out->pkt->data[0]+i*nb_floats, out->pkt->config.channels, stride); - - for(int j=0; jpkt->planes && jpkt->planes; j++) - { -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -index e5a3e9d..9b4c243 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -@@ -258,7 +258,6 @@ class CActiveAE : public IAE, private CThread - void ClearDiscardedBuffers(); - void SStopSound(CActiveAESound *sound); - void DiscardSound(CActiveAESound *sound); -- float CalcStreamAmplification(CActiveAEStream *stream, CSampleBuffer *buf); - void ChangeResampleQuality(); - - bool RunStages(); --- -1.8.1.6 - - -From 2f9784b5419e70e3c19271a071ffc17c968922b1 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Wed, 14 Aug 2013 08:22:03 +0200 -Subject: [PATCH 013/111] AESinkOSS: Implement Drain() - ---- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -index 7986c60..6612dc2 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -435,7 +435,10 @@ void CAESinkOSS::Drain() - if (m_fd == -1) - return; - -- // ??? -+ if(ioctl(m_fd, SNDCTL_DSP_SYNC, NULL) == -1) -+ { -+ CLog::Log(LOGERROR, "CAESinkOSS::Drain - Draining the Sink failed"); -+ } - } - - void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) --- -1.8.1.6 - - -From 908abe4c4b5a9470168b0f8b71dfe042243349eb Mon Sep 17 00:00:00 2001 -From: unknown -Date: Wed, 14 Aug 2013 09:14:36 +0200 -Subject: [PATCH 014/111] ActiveAE: make sure GetDalay returns no negative - values - ---- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index db331dc..2a3e49c 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -83,6 +83,9 @@ float CEngineStats::GetDelay() - float delay = m_sinkDelay - (double)(now-m_sinkUpdate) / 1000; - delay += (float)m_bufferedSamples / m_sinkSampleRate; - -+ if (delay < 0) -+ delay = 0.0; -+ - return delay; - } - --- -1.8.1.6 - - -From f77b9d7d24aba628e9a2a13045ec7d1712c493c3 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Wed, 14 Aug 2013 09:16:25 +0200 -Subject: [PATCH 015/111] AESinkOSS: Make sink usable in blocking mode - ---- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 22 +++++++++++++++------- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.h | 1 + - 2 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -index 6612dc2..60df54d 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -66,6 +66,7 @@ - CAESinkOSS::CAESinkOSS() - { - m_fd = 0; -+ m_blockingNeedsUpdate = true; - } - - CAESinkOSS::~CAESinkOSS() -@@ -321,13 +322,6 @@ bool CAESinkOSS::Initialize(AEAudioFormat &format, std::string &device) - return false; - } - -- if (fcntl(m_fd, F_SETFL, fcntl(m_fd, F_GETFL, 0) | O_NONBLOCK) == -1) -- { -- close(m_fd); -- CLog::Log(LOGERROR, "CAESinkOSS::Initialize - Failed to set non blocking writes"); -- return false; -- } -- - format.m_sampleRate = oss_sr; - format.m_frameSize = (CAEUtil::DataFormatToBits(format.m_dataFormat) >> 3) * format.m_channelLayout.Count(); - format.m_frames = bi.fragsize / format.m_frameSize; -@@ -344,6 +338,8 @@ void CAESinkOSS::Deinitialize() - - if (m_fd != -1) - close(m_fd); -+ -+ m_blockingNeedsUpdate = true; - } - - inline CAEChannelInfo CAESinkOSS::GetChannelLayout(AEAudioFormat format) -@@ -417,6 +413,18 @@ unsigned int CAESinkOSS::AddPackets(uint8_t *data, unsigned int frames, bool has - return INT_MAX; - } - -+ if(m_blockingNeedsUpdate) -+ { -+ if(!blocking) -+ { -+ if (fcntl(m_fd, F_SETFL, fcntl(m_fd, F_GETFL, 0) | O_NONBLOCK) == -1) -+ { -+ CLog::Log(LOGERROR, "CAESinkOSS::Initialize - Failed to set non blocking writes"); -+ } -+ } -+ m_blockingNeedsUpdate = false; -+ } -+ - int wrote = write(m_fd, data, size); - if (wrote < 0) - { -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -index 1131dc7..2f9a1ee 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -@@ -46,6 +46,7 @@ class CAESinkOSS : public IAESink - static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); - private: - int m_fd; -+ bool m_blockingNeedsUpdate; - std::string m_device; - AEAudioFormat m_initFormat; - AEAudioFormat m_format; --- -1.8.1.6 - - -From ff9570ce226025fd8c2b40d27893d90c692406a7 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Wed, 14 Aug 2013 15:19:45 +0200 -Subject: [PATCH 016/111] AESinkOSS: Set required format for passthrough - ---- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -index 60df54d..d9524f7 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -150,7 +150,10 @@ bool CAESinkOSS::Initialize(AEAudioFormat &format, std::string &device) - else if ((format.m_dataFormat == AE_FMT_U8 ) && (format_mask & AFMT_U8 )) - oss_fmt = AFMT_U8; - else if ((AE_IS_RAW(format.m_dataFormat) ) && (format_mask & AFMT_AC3 )) -+ { - oss_fmt = AFMT_AC3; -+ format.m_dataFormat = AE_FMT_S16NE; -+ } - else if (AE_IS_RAW(format.m_dataFormat)) - { - close(m_fd); --- -1.8.1.6 - - -From 7454c2ef78b76825b99d5c99d7cee9d253b4bdcc Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Wed, 14 Aug 2013 16:46:42 +0200 -Subject: [PATCH 017/111] AESinkOSS: Missed one reuse of format.m_dataFormat in - 4c536e960dfa5610bd62968feff1eebaada17c6d - ---- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -index d9524f7..1f88326 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -262,7 +262,7 @@ bool CAESinkOSS::Initialize(AEAudioFormat &format, std::string &device) - - #if defined(TARGET_FREEBSD) - /* fix hdmi 8 channels order */ -- if (!AE_IS_RAW(format.m_dataFormat) && 8 == oss_ch) -+ if ((oss_fmt != AFMT_AC3) && 8 == oss_ch) - { - unsigned long long order = 0x0000000087346521ULL; - --- -1.8.1.6 - - -From b762c57174277e73ae0e562b3a679810b1761d79 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Thu, 15 Aug 2013 16:06:49 +0200 -Subject: [PATCH 018/111] ActiveAE: Fix refcounting with viz - ---- - .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 25 +++++++++++++--------- - 1 file changed, 15 insertions(+), 10 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 2a3e49c..43fc085 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -1596,6 +1596,7 @@ bool CActiveAE::RunStages() - } - - // process output buffer, gui sounds, encode, viz -+ CSampleBuffer *viz = NULL; - if (out) - { - // mix gui sounds -@@ -1603,21 +1604,17 @@ bool CActiveAE::RunStages() - if (!m_sinkHasVolume) - Deamplify(*(out->pkt)); - -- // encode -+ // encode and backup out buffer for viz -+ viz = out; - if (m_mode == MODE_TRANSCODE && m_encoder) - { - CSampleBuffer *buf = m_encoderBuffers->GetFreeBuffer(); - m_encoder->Encode(out->pkt->data[0], out->pkt->planes*out->pkt->linesize, - buf->pkt->data[0], buf->pkt->planes*buf->pkt->linesize); - buf->pkt->nb_samples = buf->pkt->max_nb_samples; -- out->Return(); - out = buf; - } - -- // update stats -- m_stats.AddSamples(out->pkt->nb_samples, m_streams); -- m_sinkBuffers->m_inputSamples.push_back(out); -- - busy = true; - } - -@@ -1632,13 +1629,13 @@ bool CActiveAE::RunStages() - m_vizInitialized = true; - } - -- // if viz has no free buffer, it won't return current buffer "out" -+ // if viz has no free buffer, it won't return current buffer "viz" - if (!m_vizBuffers->m_freeSamples.empty()) - { -- if (out) -+ if (viz) - { -- out->Acquire(); -- m_vizBuffers->m_inputSamples.push_back(out); -+ viz->Acquire(); -+ m_vizBuffers->m_inputSamples.push_back(viz); - } - } - else -@@ -1669,6 +1666,14 @@ bool CActiveAE::RunStages() - else if (m_vizBuffers) - m_vizBuffers->Flush(); - } -+ // update stats -+ if(out) -+ { -+ m_stats.AddSamples(out->pkt->nb_samples, m_streams); -+ m_sinkBuffers->m_inputSamples.push_back(out); -+ if(viz && (viz != out)) -+ viz->Return(); -+ } - } - // pass through - else --- -1.8.1.6 - - -From e2242bc9bb34f5b9b1ad6570d448bbb8cbc98162 Mon Sep 17 00:00:00 2001 -From: wsoltys -Date: Thu, 15 Aug 2013 19:41:12 +0200 -Subject: [PATCH 019/111] [WASAPI] fixed: return the right channel layout - ---- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index a49e86d..e4022e3 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -1150,6 +1150,7 @@ bool CAESinkWASAPI::InitializeExclusive(AEAudioFormat &format) - initialize: - - AEChannelsFromSpeakerMask(wfxex.dwChannelMask); -+ format.m_channelLayout = m_channelLayout; - - /* When the stream is raw, the values in the format structure are set to the link */ - /* parameters, so store the encoded stream values here for the IsCompatible function */ --- -1.8.1.6 - - -From 1f7c7f5848cbd6b63c4bf8b33fae9d09545263ee Mon Sep 17 00:00:00 2001 -From: wsoltys -Date: Thu, 15 Aug 2013 20:00:22 +0200 -Subject: [PATCH 020/111] [WASAPI] fixed: use the more accurate GetDelay() for - Drain(). - ---- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 7 ++----- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h | 1 - - 2 files changed, 2 insertions(+), 6 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index e4022e3..dbfc071 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -193,8 +193,7 @@ CStdStringA localWideToUtf(LPCWSTR wstr) - m_avgTimeWaiting(50), - m_sinkLatency(0.0), - m_pBuffer(NULL), -- m_bufferPtr(0), -- m_hnsRequestedDuration(0) -+ m_bufferPtr(0) - { - m_channelLayout.Reset(); - } -@@ -1196,8 +1195,6 @@ bool CAESinkWASAPI::InitializeExclusive(AEAudioFormat &format) - hr = m_pAudioClient->Initialize(AUDCLNT_SHAREMODE_EXCLUSIVE, AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST, - audioSinkBufferDurationMsec, audioSinkBufferDurationMsec, &wfxex.Format, NULL); - -- m_hnsRequestedDuration = audioSinkBufferDurationMsec; -- - if (hr == AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED) - { - /* WASAPI requires aligned buffer */ -@@ -1333,7 +1330,7 @@ void CAESinkWASAPI::Drain() - if(!m_pAudioClient) - return; - -- Sleep( (DWORD)(m_hnsRequestedDuration / 10000)); -+ Sleep( (DWORD)(GetDelay()*50) ); - - if (m_running) - { -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -index 8b29f50..144bad3 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -@@ -83,5 +83,4 @@ class CAESinkWASAPI : public IAESink - - uint8_t *m_pBuffer; - int m_bufferPtr; -- REFERENCE_TIME m_hnsRequestedDuration; - }; --- -1.8.1.6 - - -From ac99b47888fdd232351ff48482eae66aa3473ce9 Mon Sep 17 00:00:00 2001 -From: wsoltys -Date: Fri, 16 Aug 2013 23:35:39 +0200 -Subject: [PATCH 021/111] [WASAPI] fixed: wrong multiplicator (thanks - Voyager1). - ---- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index dbfc071..2aa7362 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -1330,7 +1330,7 @@ void CAESinkWASAPI::Drain() - if(!m_pAudioClient) - return; - -- Sleep( (DWORD)(GetDelay()*50) ); -+ Sleep( (DWORD)(GetDelay()*500) ); - - if (m_running) - { --- -1.8.1.6 - - -From 729154f830f60aabd3bc85ebacacda444b52b27b Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Sun, 18 Aug 2013 22:32:12 +0200 -Subject: [PATCH 022/111] ActiveAE: check for valid ac3 sampling rates, fixes - no sound for flac 96khz when transcoding - ---- - xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 43fc085..78f9eee 100644 ---- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -893,6 +893,14 @@ void CActiveAE::Configure(AEAudioFormat *desiredFmt) - CLog::Log(LOGINFO, "CActiveAE::Configure - Forcing samplerate to %d", inputFormat.m_sampleRate); - } - -+ // check for valid sampling rates -+ if (inputFormat.m_sampleRate != 48000 || -+ inputFormat.m_sampleRate != 41000 || -+ inputFormat.m_sampleRate != 32000) -+ { -+ outputFormat.m_sampleRate = 48000; -+ } -+ - // setup encoder - if (!m_encoder) - { --- -1.8.1.6 - - -From e3655dd63f7a324c92acac376a5f8cd8b25426a9 Mon Sep 17 00:00:00 2001 +From 433613010a5e6bbe4edc983026f07942876347aa Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 2 Aug 2013 18:55:56 +0200 -Subject: [PATCH 023/111] linuxrenderer: do not render if upload texture fails +Subject: [PATCH 01/90] linuxrenderer: do not render if upload texture fails --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 39 ++++++++++++++++----------- @@ -1464,13 +245,13 @@ index b986d93..b5c4dec 100644 void ToRGBFields(YV12Image* im, unsigned flipIndexPlaneTop, unsigned flipIndexPlaneBot, unsigned flipIndexBuf); void SetupRGBBuffer(); -- -1.8.1.6 +1.8.4 -From 50714278e46ea4565c68eadc40c94f7544b63d6f Mon Sep 17 00:00:00 2001 +From 23a0432899735b822ac868608c885dd601e52346 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 7 Apr 2012 09:19:00 +0200 -Subject: [PATCH 024/111] vdpau: redesign +Subject: [PATCH 02/90] vdpau: redesign --- language/English/strings.po | 21 +- @@ -1485,14 +266,14 @@ Subject: [PATCH 024/111] vdpau: redesign .../dvdplayer/DVDCodecs/Video/DVDVideoCodec.h | 4 +- .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 6 +- .../DVDCodecs/Video/DVDVideoCodecFFmpeg.h | 1 - - xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 3917 +++++++++++++++----- + xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 3926 +++++++++++++++----- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h | 681 +++- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 1 + xbmc/settings/AdvancedSettings.cpp | 8 +- xbmc/settings/AdvancedSettings.h | 4 +- xbmc/video/dialogs/GUIDialogVideoSettings.cpp | 2 +- xbmc/windowing/X11/WinSystemX11.h | 1 + - 19 files changed, 3670 insertions(+), 1236 deletions(-) + 19 files changed, 3679 insertions(+), 1236 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po index 0042682..4a10f5d 100644 @@ -1541,7 +322,7 @@ index 0042682..4a10f5d 100644 #: system/settings/settings.xml diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 2bad9bb..04c521d 100644 +index 3da9550..183c91c 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -375,6 +375,16 @@ @@ -2075,7 +856,7 @@ index c509339..2287031 100644 class CDVDVideoCodecFFmpeg : public CDVDVideoCodec diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index f830f61..1e4b0b7 100644 +index f830f61..c10c7ea 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp @@ -33,11 +33,16 @@ @@ -3127,7 +1908,7 @@ index f830f61..1e4b0b7 100644 default: vdp_decoder_profile = 0; vdp_chroma_type = 0; -@@ -966,170 +556,78 @@ void CVDPAU::ReadFormatOf( AVCodecID codec +@@ -966,170 +556,87 @@ void CVDPAU::ReadFormatOf( AVCodecID codec } } @@ -3245,6 +2026,15 @@ index f830f61..1e4b0b7 100644 + sizeof(m_vdpauConfig))) + { + bool success = reply->signal == COutputControlProtocol::ACC ? true : false; ++ if (success) ++ { ++ CVdpauConfig *data; ++ data = (CVdpauConfig*)reply->data; ++ if (data) ++ { ++ m_vdpauConfig.usePixmaps = data->usePixmaps; ++ } ++ } + reply->Release(); + if (!success) + { @@ -3346,7 +2136,7 @@ index f830f61..1e4b0b7 100644 { VdpStatus rv; CLog::Log(LOGNOTICE,"VDPAU Decoder capabilities:"); -@@ -1139,7 +637,7 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L +@@ -1139,7 +646,7 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L { VdpBool is_supported = false; uint32_t max_level, max_macroblocks, max_width, max_height; @@ -3355,7 +2145,7 @@ index f830f61..1e4b0b7 100644 &is_supported, &max_level, &max_macroblocks, &max_width, &max_height); if(rv == VDP_STATUS_OK && is_supported) { -@@ -1148,13 +646,13 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L +@@ -1148,13 +655,13 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L } } CLog::Log(LOGNOTICE,"------------------------------------"); @@ -3372,7 +2162,7 @@ index f830f61..1e4b0b7 100644 } \ } while(false) -@@ -1178,7 +676,7 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L +@@ -1178,7 +685,7 @@ void CVDPAU::SpewHardwareAvailable() //Copyright (c) 2008 Wladimir J. van der L } @@ -3381,7 +2171,7 @@ index f830f61..1e4b0b7 100644 { // find render state in queue bool found(false); -@@ -1205,34 +703,33 @@ bool CVDPAU::IsSurfaceValid(vdpau_render_state *render) +@@ -1205,34 +712,33 @@ bool CVDPAU::IsSurfaceValid(vdpau_render_state *render) return true; } @@ -3431,7 +2221,7 @@ index f830f61..1e4b0b7 100644 } } -@@ -1241,21 +738,22 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) +@@ -1241,21 +747,22 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) { // create a new surface VdpDecoderProfile profile; @@ -3457,7 +2247,7 @@ index f830f61..1e4b0b7 100644 avctx->coded_width, avctx->coded_height, &render->surface); -@@ -1274,18 +772,6 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) +@@ -1274,18 +781,6 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) pic->linesize[0] = pic->linesize[1] = pic->linesize[2] = 0; @@ -3476,7 +2266,7 @@ index f830f61..1e4b0b7 100644 pic->type= FF_BUFFER_TYPE_USER; render->state |= FF_VDPAU_STATE_USED_FOR_REFERENCE; -@@ -1293,15 +779,16 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) +@@ -1293,15 +788,16 @@ int CVDPAU::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic) return 0; } @@ -3496,7 +2286,7 @@ index f830f61..1e4b0b7 100644 render=(vdpau_render_state*)pic->data[0]; if(!render) -@@ -1310,6 +797,8 @@ void CVDPAU::FFReleaseBuffer(AVCodecContext *avctx, AVFrame *pic) +@@ -1310,6 +806,8 @@ void CVDPAU::FFReleaseBuffer(AVCodecContext *avctx, AVFrame *pic) return; } @@ -3505,7 +2295,7 @@ index f830f61..1e4b0b7 100644 for(i=0; i<4; i++) pic->data[i]= NULL; -@@ -1323,29 +812,26 @@ void CVDPAU::FFReleaseBuffer(AVCodecContext *avctx, AVFrame *pic) +@@ -1323,29 +821,26 @@ void CVDPAU::FFReleaseBuffer(AVCodecContext *avctx, AVFrame *pic) render->state &= ~FF_VDPAU_STATE_USED_FOR_REFERENCE; } @@ -3544,7 +2334,7 @@ index f830f61..1e4b0b7 100644 if(src->linesize[0] || src->linesize[1] || src->linesize[2] || offset[0] || offset[1] || offset[2]) -@@ -1375,67 +861,50 @@ void CVDPAU::FFDrawSlice(struct AVCodecContext *s, +@@ -1375,67 +870,50 @@ void CVDPAU::FFDrawSlice(struct AVCodecContext *s, if(s->codec_id == AV_CODEC_ID_H264) max_refs = vdp->m_hwContext.info.h264.num_ref_frames; @@ -3631,7 +2421,7 @@ index f830f61..1e4b0b7 100644 // ffmpeg vc-1 decoder does not flush, make sure the data buffer is still valid if (!IsSurfaceValid(render)) -@@ -1444,258 +913,166 @@ int CVDPAU::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -1444,258 +922,166 @@ int CVDPAU::Decode(AVCodecContext *avctx, AVFrame *pFrame) return VC_BUFFER; } @@ -4000,7 +2790,7 @@ index f830f61..1e4b0b7 100644 if(m_DisplayState == VDPAU_OPEN) { -@@ -1713,4 +1090,2508 @@ bool CVDPAU::CheckStatus(VdpStatus vdp_st, int line) +@@ -1713,4 +1099,2508 @@ bool CVDPAU::CheckStatus(VdpStatus vdp_st, int line) return false; } @@ -5445,7 +4235,7 @@ index f830f61..1e4b0b7 100644 + if (!m_vdpError) + { + m_state = O_TOP_CONFIGURED_IDLE; -+ msg->Reply(COutputControlProtocol::ACC); ++ msg->Reply(COutputControlProtocol::ACC, &m_config, sizeof(m_config)); + } + else + { @@ -7361,13 +6151,13 @@ index a0f7bba..b6b6ec4 100644 protected: bool RefreshGlxContext(); -- -1.8.1.6 +1.8.4 -From 3c0d159b590e6489fac9a47955b18cbad1826484 Mon Sep 17 00:00:00 2001 +From 6dd9410662f8ac0dfc02dcb49763f61536ffd331 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 12 Dec 2012 09:52:17 +0100 -Subject: [PATCH 025/111] vdpau: make interop gl default and remove setting, +Subject: [PATCH 03/90] vdpau: make interop gl default and remove setting, rename and intvert interop yuv --- @@ -7398,7 +6188,7 @@ index 4a10f5d..0e900ad 100644 #: system/settings/settings.xml msgctxt "#13500" diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index 1e4b0b7..c3af67a 100644 +index c10c7ea..41defb6 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp @@ -374,12 +374,15 @@ bool CDecoder::Supports(EINTERLACEMETHOD method) @@ -7418,7 +6208,7 @@ index 1e4b0b7..c3af67a 100644 for(SInterlaceMapping* p = g_interlace_mapping; p->method != VS_INTERLACEMETHOD_NONE; p++) { if(p->method == method) -@@ -1860,7 +1863,7 @@ void CMixer::SetDeinterlacing() +@@ -1869,7 +1872,7 @@ void CMixer::SetDeinterlacing() SetDeintSkipChroma(); @@ -7427,7 +6217,7 @@ index 1e4b0b7..c3af67a 100644 } void CMixer::SetDeintSkipChroma() -@@ -2052,7 +2055,7 @@ void CMixer::Init() +@@ -2061,7 +2064,7 @@ void CMixer::Init() m_vdpError = false; m_config.upscale = g_advancedSettings.m_videoVDPAUScaling; @@ -7436,7 +6226,7 @@ index 1e4b0b7..c3af67a 100644 CreateVdpauMixer(); } -@@ -2162,11 +2165,12 @@ void CMixer::InitCycle() +@@ -2171,11 +2174,12 @@ void CMixer::InitCycle() DVP_FLAG_INTERLACED); m_config.useInteropYuv = false; } @@ -7450,7 +6240,7 @@ index 1e4b0b7..c3af67a 100644 } else { -@@ -3279,7 +3283,7 @@ bool COutput::GLInit() +@@ -3288,7 +3292,7 @@ bool COutput::GLInit() glVDPAUGetSurfaceivNV = NULL; #endif @@ -7459,7 +6249,7 @@ index 1e4b0b7..c3af67a 100644 #ifdef GL_NV_vdpau_interop if (glewIsSupported("GL_NV_vdpau_interop")) -@@ -3311,8 +3315,7 @@ bool COutput::GLInit() +@@ -3320,8 +3324,7 @@ bool COutput::GLInit() #endif { m_config.usePixmaps = true; @@ -7470,13 +6260,13 @@ index 1e4b0b7..c3af67a 100644 if (!glXBindTexImageEXT) glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC)glXGetProcAddress((GLubyte *) "glXBindTexImageEXT"); -- -1.8.1.6 +1.8.4 -From 81a040e60363479ee026aa33d19da1ea4b235425 Mon Sep 17 00:00:00 2001 +From 1651196ec68ebb5f596881a1e2dfb8617c877cc0 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 12 Dec 2012 20:28:49 +0100 -Subject: [PATCH 026/111] vdpau: observe ffmpeg tags for color space +Subject: [PATCH 04/90] vdpau: observe ffmpeg tags for color space --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 38 ++++++++++++++++++-------- @@ -7484,10 +6274,10 @@ Subject: [PATCH 026/111] vdpau: observe ffmpeg tags for color space 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index c3af67a..2d8b8e2 100644 +index 41defb6..8a31cd1 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -925,6 +925,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -934,6 +934,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) memset(&pic.DVDPic, 0, sizeof(pic.DVDPic)); ((CDVDVideoCodecFFmpeg*)avctx->opaque)->GetPictureCommon(&pic.DVDPic); pic.render = render; @@ -7495,7 +6285,7 @@ index c3af67a..2d8b8e2 100644 m_bufferStats.IncDecoded(); m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic)); -@@ -1535,10 +1536,6 @@ void CMixer::InitCSCMatrix(int Width) +@@ -1544,10 +1545,6 @@ void CMixer::InitCSCMatrix(int Width) m_Procamp.contrast = 1.0; m_Procamp.saturation = 1.0; m_Procamp.hue = 0; @@ -7506,7 +6296,7 @@ index c3af67a..2d8b8e2 100644 } void CMixer::CheckFeatures() -@@ -1549,11 +1546,13 @@ void CMixer::CheckFeatures() +@@ -1558,11 +1555,13 @@ void CMixer::CheckFeatures() m_Upscale = m_config.upscale; } if (m_Brightness != CMediaSettings::Get().GetCurrentVideoSettings().m_Brightness || @@ -7521,7 +6311,7 @@ index c3af67a..2d8b8e2 100644 } if (m_NoiseReduction != CMediaSettings::Get().GetCurrentVideoSettings().m_NoiseReduction) { -@@ -1704,13 +1703,27 @@ void CMixer::SetColor() +@@ -1713,13 +1712,27 @@ void CMixer::SetColor() m_Procamp.contrast = (float)((CMediaSettings::Get().GetCurrentVideoSettings().m_Contrast)+50) / 100; VdpColorStandard colorStandard; @@ -7556,7 +6346,7 @@ index c3af67a..2d8b8e2 100644 VdpVideoMixerAttribute attributes[] = { VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX }; if (CSettings::Get().GetBool("videoscreen.limitedrange")) -@@ -2051,6 +2064,7 @@ void CMixer::Init() +@@ -2060,6 +2073,7 @@ void CMixer::Init() m_Sharpness = 0.0; m_DeintMode = 0; m_Deint = 0; @@ -7577,23 +6367,23 @@ index aae4173..8845a16 100644 VdpVideoMixerPictureStructure m_mixerfield; int m_mixerstep; -- -1.8.1.6 +1.8.4 -From 550eb77b91beb31fcb70a480451da977755e1d8d Mon Sep 17 00:00:00 2001 +From 33bec9436d37732f910caaac7d5a8b4adf43b3b0 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 27 Jan 2013 12:10:19 +0100 -Subject: [PATCH 027/111] vdpau: switch off de-interlacing on ff +Subject: [PATCH 05/90] vdpau: switch off de-interlacing on ff --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index 2d8b8e2..7a9dfc9 100644 +index 8a31cd1..6d982a7 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -2142,8 +2142,9 @@ void CMixer::InitCycle() +@@ -2151,8 +2151,9 @@ void CMixer::InitCycle() EINTERLACEMETHOD method = GetDeinterlacingMethod(); bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED; @@ -7606,13 +6396,13 @@ index 2d8b8e2..7a9dfc9 100644 if((method == VS_INTERLACEMETHOD_AUTO && interlaced) || method == VS_INTERLACEMETHOD_VDPAU_BOB -- -1.8.1.6 +1.8.4 -From 760abbbfdd0f77c63adb22d4ea3cf2950cf4ce2c Mon Sep 17 00:00:00 2001 +From 8d9512c7db32ec4a9f19937e656c25eb8e86c054 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 25 Sep 2012 12:14:15 +0200 -Subject: [PATCH 028/111] linuxrenderer: drop method RenderMultiPass +Subject: [PATCH 06/90] linuxrenderer: drop method RenderMultiPass --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 9 ++------- @@ -7659,13 +6449,13 @@ index 8daf72c..b086bae 100644 void RenderFromFBO(); void RenderSinglePass(int renderBuffer, int field); // single pass glsl renderer -- -1.8.1.6 +1.8.4 -From 81ca23124841b2f9c0be794f71449f6d7ed60e7a Mon Sep 17 00:00:00 2001 +From dc876ab1b8930bd0d35c5d42af52c06acad6b2c5 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 25 Sep 2012 13:20:47 +0200 -Subject: [PATCH 029/111] linuxrenderer: implement progressive weave for vdpau +Subject: [PATCH 07/90] linuxrenderer: implement progressive weave for vdpau --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 56 +++++++++++++++++++-------- @@ -7791,13 +6581,13 @@ index b086bae..966733e 100644 struct -- -1.8.1.6 +1.8.4 -From d02fb09931eb70af6b1f7ee4ecd18af7420af1e1 Mon Sep 17 00:00:00 2001 +From 1d66197939f9eceede2e264cd56f2c419f1b265e Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 6 Mar 2013 07:35:10 +0100 -Subject: [PATCH 030/111] vdpau: set deinterlacing method to auto, if default +Subject: [PATCH 08/90] vdpau: set deinterlacing method to auto, if default method not supported --- @@ -7805,10 +6595,10 @@ Subject: [PATCH 030/111] vdpau: set deinterlacing method to auto, if default 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index 7a9dfc9..a2e2ab9 100644 +index 6d982a7..9ac8186 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -2189,13 +2189,15 @@ void CMixer::InitCycle() +@@ -2198,13 +2198,15 @@ void CMixer::InitCycle() } else { @@ -7826,52 +6616,58 @@ index 7a9dfc9..a2e2ab9 100644 } else -- -1.8.1.6 +1.8.4 -From 4d3cf498b807eb38f21e2a4907a5f82ea7f8e21a Mon Sep 17 00:00:00 2001 +From 6e2c93cf2db0f51bf75e8cbb08167ad2cdeeef61 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 14 Jun 2013 09:23:22 +0200 -Subject: [PATCH 031/111] vdpau: calculate timestamp of second field when doing +Subject: [PATCH 09/90] vdpau: calculate timestamp of second field when doing deinterlacing --- - xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) + xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index a2e2ab9..3dd6343 100644 +index 9ac8186..369a19e 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -2312,7 +2312,9 @@ void CMixer::ProcessPicture() +@@ -2321,7 +2321,15 @@ void CMixer::ProcessPicture() futu_surfaces[0] = m_mixerInput[1].render->surface; futu_surfaces[1] = m_mixerInput[1].render->surface; - m_processPicture.DVDPic.pts = DVD_NOPTS_VALUE; -+ m_processPicture.DVDPic.pts = m_mixerInput[1].DVDPic.pts + -+ (m_mixerInput[0].DVDPic.pts - -+ m_mixerInput[1].DVDPic.pts) / 2; ++ if (m_mixerInput[0].DVDPic.pts != DVD_NOPTS_VALUE && ++ m_mixerInput[1].DVDPic.pts != DVD_NOPTS_VALUE) ++ { ++ m_processPicture.DVDPic.pts = m_mixerInput[1].DVDPic.pts + ++ (m_mixerInput[0].DVDPic.pts - ++ m_mixerInput[1].DVDPic.pts) / 2; ++ } ++ else ++ m_processPicture.DVDPic.pts = DVD_NOPTS_VALUE; m_processPicture.DVDPic.dts = DVD_NOPTS_VALUE; } m_processPicture.DVDPic.iRepeatPicture = 0.0; -- -1.8.1.6 +1.8.4 -From ca6eb6900dca7e7d1ae074847b8f2c33460f844e Mon Sep 17 00:00:00 2001 +From 5f154eebc9a6ab3296b50ecda17b577cc025ddc1 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 2 Aug 2013 13:57:47 +0200 -Subject: [PATCH 032/111] vdpau: comment some features that will be added later +Subject: [PATCH 10/90] vdpau: comment some features that will be added later --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index 3dd6343..e73b059 100644 +index 369a19e..ae7cce7 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -929,7 +929,8 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -938,7 +938,8 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) m_bufferStats.IncDecoded(); m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic)); @@ -7881,7 +6677,7 @@ index 3dd6343..e73b059 100644 } int retval = 0; -@@ -984,7 +985,8 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -993,7 +994,8 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) msg->Release(); } @@ -7891,7 +6687,7 @@ index 3dd6343..e73b059 100644 { if (decoded + processed + render < 4) { -@@ -2131,7 +2133,8 @@ void CMixer::InitCycle() +@@ -2140,7 +2142,8 @@ void CMixer::InitCycle() int flags; m_config.stats->GetParams(latency, flags); latency = (latency*1000)/CurrentHostFrequency(); @@ -7901,7 +6697,7 @@ index 3dd6343..e73b059 100644 SetPostProcFeatures(false); else SetPostProcFeatures(true); -@@ -2142,7 +2145,8 @@ void CMixer::InitCycle() +@@ -2151,7 +2154,8 @@ void CMixer::InitCycle() EINTERLACEMETHOD method = GetDeinterlacingMethod(); bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED; @@ -7911,7 +6707,7 @@ index 3dd6343..e73b059 100644 (mode == VS_DEINTERLACEMODE_FORCE || (mode == VS_DEINTERLACEMODE_AUTO && interlaced))) { -@@ -2164,7 +2168,8 @@ void CMixer::InitCycle() +@@ -2173,7 +2177,8 @@ void CMixer::InitCycle() m_config.stats->SetCanSkipDeint(true); } @@ -7922,13 +6718,13 @@ index 3dd6343..e73b059 100644 m_mixersteps = 1; } -- -1.8.1.6 +1.8.4 -From 035e6b2965408d1bed9decb1c4883d2b6c52d3c3 Mon Sep 17 00:00:00 2001 +From 872505796df263932988f2a442a702b94e490d12 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 6 Aug 2013 10:37:37 +0200 -Subject: [PATCH 033/111] renderer: protect against div by zero +Subject: [PATCH 11/90] renderer: protect against div by zero --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 7 +++++++ @@ -7953,13 +6749,13 @@ index 1dbb670..fb065ea 100644 p.rect.y1 /= p.pixpertex_y; p.rect.y2 /= p.pixpertex_y; -- -1.8.1.6 +1.8.4 -From 1b6c3ea6e6a258598bb3594266b2a50b008f9367 Mon Sep 17 00:00:00 2001 +From 496734a6cbd75173bbc84870fe2cf2bb660f985f Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 9 Aug 2013 09:52:46 +0200 -Subject: [PATCH 034/111] vdpau: add fence for detecting when a buffer can be +Subject: [PATCH 12/90] vdpau: add fence for detecting when a buffer can be reused --- @@ -7991,10 +6787,10 @@ index fb065ea..7bfd892 100644 void CLinuxRendererGL::RenderSinglePass(int index, int field) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index e73b059..7f0fbd0 100644 +index ae7cce7..43316c1 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -1135,6 +1135,23 @@ void CVdpauRenderPicture::ReturnUnused() +@@ -1144,6 +1144,23 @@ void CVdpauRenderPicture::ReturnUnused() if (vdpau) vdpau->ReturnRenderPicture(this); } @@ -8018,7 +6814,7 @@ index e73b059..7f0fbd0 100644 //----------------------------------------------------------------------------- // Mixer //----------------------------------------------------------------------------- -@@ -2516,7 +2533,7 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) +@@ -2531,7 +2548,7 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) case COutputDataProtocol::RETURNPIC: CVdpauRenderPicture *pic; pic = *((CVdpauRenderPicture**)msg->data); @@ -8027,7 +6823,7 @@ index e73b059..7f0fbd0 100644 return; default: break; -@@ -2607,7 +2624,7 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) +@@ -2622,7 +2639,7 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) case COutputDataProtocol::RETURNPIC: CVdpauRenderPicture *pic; pic = *((CVdpauRenderPicture**)msg->data); @@ -8036,7 +6832,7 @@ index e73b059..7f0fbd0 100644 m_controlPort.SendInMessage(COutputControlProtocol::STATS); m_state = O_TOP_CONFIGURED_WORK; m_extTimeout = 0; -@@ -2639,6 +2656,10 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) +@@ -2654,6 +2671,10 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) switch (signal) { case COutputControlProtocol::TIMEOUT: @@ -8047,7 +6843,7 @@ index e73b059..7f0fbd0 100644 return; default: break; -@@ -2830,7 +2851,7 @@ void COutput::Flush() +@@ -2845,7 +2866,7 @@ void COutput::Flush() { CVdpauRenderPicture *pic; pic = *((CVdpauRenderPicture**)msg->data); @@ -8056,7 +6852,7 @@ index e73b059..7f0fbd0 100644 } msg->Release(); } -@@ -2841,7 +2862,7 @@ void COutput::Flush() +@@ -2856,7 +2877,7 @@ void COutput::Flush() { CVdpauRenderPicture *pic; pic = *((CVdpauRenderPicture**)msg->data); @@ -8065,7 +6861,7 @@ index e73b059..7f0fbd0 100644 } } -@@ -2969,7 +2990,7 @@ CVdpauRenderPicture* COutput::ProcessMixerPicture() +@@ -2984,7 +3005,7 @@ CVdpauRenderPicture* COutput::ProcessMixerPicture() return retPic; } @@ -8074,7 +6870,7 @@ index e73b059..7f0fbd0 100644 { std::deque::iterator it; for (it = m_bufferPool.usedRenderPics.begin(); it != m_bufferPool.usedRenderPics.end(); ++it) -@@ -2982,17 +3003,84 @@ void COutput::ProcessReturnPicture(CVdpauRenderPicture *pic) +@@ -2997,17 +3018,84 @@ void COutput::ProcessReturnPicture(CVdpauRenderPicture *pic) if (it == m_bufferPool.usedRenderPics.end()) { @@ -8165,7 +6961,7 @@ index e73b059..7f0fbd0 100644 if (m_config.usePixmaps) { m_bufferPool.pixmaps[pic->sourceIdx].used = false; -@@ -3141,10 +3229,43 @@ void COutput::ReleaseBufferPool() +@@ -3156,10 +3244,43 @@ void COutput::ReleaseBufferPool() } m_bufferPool.outputSurfaces.clear(); @@ -8210,7 +7006,7 @@ index e73b059..7f0fbd0 100644 } } -@@ -3154,6 +3275,7 @@ void COutput::PreCleanup() +@@ -3169,6 +3290,7 @@ void COutput::PreCleanup() VdpStatus vdp_st; m_mixer.Dispose(); @@ -8218,7 +7014,7 @@ index e73b059..7f0fbd0 100644 CSingleLock lock(m_bufferPool.renderPicSec); for (unsigned int i = 0; i < m_bufferPool.outputSurfaces.size(); ++i) -@@ -3360,6 +3482,15 @@ bool COutput::GLInit() +@@ -3375,6 +3497,15 @@ bool COutput::GLInit() CLog::Log(LOGNOTICE, "VDPAU::COutput: vdpau gl interop initialized"); } #endif @@ -8276,13 +7072,13 @@ index 8845a16..c555d2d 100644 bool Init(); bool Uninit(); -- -1.8.1.6 +1.8.4 -From 522296f5fccdd7297e30a97dbb9ebe83f05a8236 Mon Sep 17 00:00:00 2001 +From a27560a554241c7a80d198291f960409daf6ef26 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:34:39 +0200 -Subject: [PATCH 035/111] videoplayer: adapt lateness detection and dropping to +Subject: [PATCH 13/90] videoplayer: adapt lateness detection and dropping to buffering --- @@ -8860,14 +7656,14 @@ index f8ad541..186e271 100644 }; -- -1.8.1.6 +1.8.4 -From 76318b7f4bc0202f545a39563f1f72dc1eeaf5f4 Mon Sep 17 00:00:00 2001 +From 545f80e1587482d93639ef386b4acb0d4b941d82 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Sep 2012 16:05:21 +0200 -Subject: [PATCH 036/111] video player: present correct pts to user for a/v - sync (after buffering in renderer) +Subject: [PATCH 14/90] video player: present correct pts to user for a/v sync + (after buffering in renderer) --- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 25 +++++++++++++++++++++++++ @@ -8931,13 +7727,13 @@ index 186e271..59c7f09 100644 double GetOutputDelay(); /* returns the expected delay, from that a packet is put in queue */ -- -1.8.1.6 +1.8.4 -From 2c978a3390d2cfcd0b728efcb977485b329b6568 Mon Sep 17 00:00:00 2001 +From e4ef3a35e8e54e3c0610c50970a4d936a1d9fb1f Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 16 Feb 2013 18:25:53 +0100 -Subject: [PATCH 037/111] videoplayer: some rework and documentation +Subject: [PATCH 15/90] videoplayer: some rework and documentation --- .../dvdplayer/DVDCodecs/Video/DVDVideoCodec.h | 29 ++++++++++++++++++++-- @@ -9045,13 +7841,13 @@ index 99c8b3c..be3d511 100644 if (iDecoderPts == DVD_NOPTS_VALUE) iDecoderPts = pts; -- -1.8.1.6 +1.8.4 -From d2886a5d3e6a639e828eadc44bcf84f3fd09325b Mon Sep 17 00:00:00 2001 +From 784f41358ea98a2759234c7a600ed4cf99a525be Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 1 Jun 2013 11:21:19 +0200 -Subject: [PATCH 038/111] renderer: bump buffers to 5 +Subject: [PATCH 16/90] renderer: bump buffers to 5 --- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +- @@ -9071,13 +7867,13 @@ index a61d3cf..df5fe0e 100644 class CSetting; -- -1.8.1.6 +1.8.4 -From 5d2b6497e63d417e2547ca9e32a7dcc639c9911c Mon Sep 17 00:00:00 2001 +From 6aae029ba3acd1130db39200e38beca2902af1a4 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:41:31 +0200 -Subject: [PATCH 039/111] videoplayer: update frametime, it might change due to +Subject: [PATCH 17/90] videoplayer: update frametime, it might change due to fps detection --- @@ -9098,14 +7894,14 @@ index be3d511..dbbd11b 100644 { m_codecname = m_pVideoCodec->GetName(); -- -1.8.1.6 +1.8.4 -From 7a7479ea9632e37579d09511cdafb936d326b2f0 Mon Sep 17 00:00:00 2001 +From 39480d2298cb424dd73628f6a6b7e9f76a2ae04d Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:43:06 +0200 -Subject: [PATCH 040/111] videoplayer: give streams with invalid fps a chance - for fps detection +Subject: [PATCH 18/90] videoplayer: give streams with invalid fps a chance for + fps detection --- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 2 +- @@ -9125,14 +7921,14 @@ index dbbd11b..eb443af 100644 //reset the stored framerates if no good framerate was detected m_fStableFrameRate = 0.0; -- -1.8.1.6 +1.8.4 -From 9ba3949b7c7d86ae5d16587d36d954b628a0db24 Mon Sep 17 00:00:00 2001 +From 587ed875534f6500d9277ca9624ec85a0af77cba Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:49:05 +0200 -Subject: [PATCH 041/111] dvdplayer: allow rewinding at end of stream, do a - seek after rewind +Subject: [PATCH 19/90] dvdplayer: allow rewinding at end of stream, do a seek + after rewind --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 8 +++++++- @@ -9165,13 +7961,13 @@ index d12121f..06c9439 100644 // audioplayer, stops outputing audio to audiorendere, but still tries to // sleep an correct amount for each packet -- -1.8.1.6 +1.8.4 -From cc9082cea16fe56f6ef2a09349784f0070ca14bc Mon Sep 17 00:00:00 2001 +From dc4518580ba32618f1099a942c0a440aeb881a8d Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:22:05 +0200 -Subject: [PATCH 042/111] X11: ditch SDL for video and window events +Subject: [PATCH 20/90] X11: ditch SDL for video and window events --- xbmc/Application.cpp | 2 +- @@ -9187,7 +7983,7 @@ Subject: [PATCH 042/111] X11: ditch SDL for video and window events create mode 100644 xbmc/windowing/WinEventsX11.h diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 57aa100..92e467d 100644 +index 534e55f..becf35d 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -855,7 +855,7 @@ bool CApplication::CreateGUI() @@ -10652,13 +9448,13 @@ index b6b6ec4..448a1bb 100644 CCriticalSection m_resourceSection; std::vector m_resources; -- -1.8.1.6 +1.8.4 -From 00e253a6d5ac1702d59f5c1616fbc38972e2f68a Mon Sep 17 00:00:00 2001 +From 0709ff85262eb4cd21480b04b067fda62d253ee4 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:24:22 +0200 -Subject: [PATCH 043/111] X11: Add xbmc icon +Subject: [PATCH 21/90] X11: Add xbmc icon --- xbmc/windowing/X11/WinSystemX11.cpp | 126 +++++++++++++++++++++++++++++++++++- @@ -10844,13 +9640,13 @@ index 448a1bb..e618268 100644 CStopWatch m_screensaverReset; }; -- -1.8.1.6 +1.8.4 -From dff100069b17cc5d595d542da1b0fe69f9ede738 Mon Sep 17 00:00:00 2001 +From 647cea31241e1fed7d54568e01eee7052bbd7ed6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 14:11:26 +0200 -Subject: [PATCH 044/111] X11: add SDL joystick until we have a better solution +Subject: [PATCH 22/90] X11: add SDL joystick until we have a better solution --- xbmc/windowing/WinEventsX11.cpp | 26 ++++++++++++++++++++++++++ @@ -10901,14 +9697,13 @@ index 5a8bbb8..5bc1de0 100644 } -- -1.8.1.6 +1.8.4 -From e57226830ca3639cde456f782c3eeaeb89042cf0 Mon Sep 17 00:00:00 2001 +From 9b80f5d960654627e7a46c74593a3e4a86d6e3f6 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 12:35:55 +0200 -Subject: [PATCH 045/111] X11: factor out code handling device reset - notification +Subject: [PATCH 23/90] X11: factor out code handling device reset notification --- xbmc/windowing/X11/WinSystemX11.cpp | 22 ++++++++++++++-------- @@ -10968,13 +9763,13 @@ index e618268..c4d4b76 100644 protected: bool RefreshGlxContext(); -- -1.8.1.6 +1.8.4 -From c63da366bbbbb77484758d20b4d1008d5b2de2a8 Mon Sep 17 00:00:00 2001 +From f05926af6b37b7f81c92d24136aa40e29add9c80 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:02:00 +0200 -Subject: [PATCH 046/111] X11: move xrandr events to WinEventsX11 +Subject: [PATCH 24/90] X11: move xrandr events to WinEventsX11 --- xbmc/windowing/WinEventsX11.cpp | 42 +++++++++++++++++++++++++++++++++++++ @@ -11115,13 +9910,13 @@ index c5938af..9f74dd5 100644 void CWinSystemX11::Register(IDispResource *resource) -- -1.8.1.6 +1.8.4 -From 78313aa1729974e0e3306213ff71b8671b2d4b3b Mon Sep 17 00:00:00 2001 +From 64357da870600d360349cdb21ea561ad2da730dc Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 12 Apr 2012 15:43:56 +0200 -Subject: [PATCH 047/111] xrandr: remove method RestoreState +Subject: [PATCH 25/90] xrandr: remove method RestoreState --- xbmc/windowing/X11/WinSystemX11.cpp | 13 +++++++++++-- @@ -11197,13 +9992,13 @@ index 0aec487..00b49dc 100644 //bool Has1080p(); //bool Has720p(); -- -1.8.1.6 +1.8.4 -From d7d3e323aedad05c8f318a4b3dc429175a70873a Mon Sep 17 00:00:00 2001 +From 8e78796297a9899c11ffa46759eaf24ee2016eb9 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 13:17:10 +0200 -Subject: [PATCH 048/111] xrandr: observe orientation +Subject: [PATCH 26/90] xrandr: observe orientation --- xbmc/windowing/X11/WinSystemX11.cpp | 89 ++++++++++++++++++++++++++++++------- @@ -11415,13 +10210,13 @@ index 00b49dc..508604d 100644 class CXRandR -- -1.8.1.6 +1.8.4 -From bc51bb36ca7fbe2626f244767cfd58dc5b22c235 Mon Sep 17 00:00:00 2001 +From 84941e78c58de9127c9c3b9b474481ba9e090927 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:54:15 +0200 -Subject: [PATCH 049/111] xrandr: allow getting info for multiple screen's +Subject: [PATCH 27/90] xrandr: allow getting info for multiple screen's Refactored by: Joakim Plate --- @@ -11593,13 +10388,13 @@ index 508604d..d37838a 100644 extern CXRandR g_xrandr; -- -1.8.1.6 +1.8.4 -From 11a6b3ebd99e492bcac8072e2daf114fea33d2c1 Mon Sep 17 00:00:00 2001 +From 7621f9a351c5c0698e1e389137675c43c71a83e9 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:44:00 +0200 -Subject: [PATCH 050/111] X11: fix multi-head setups +Subject: [PATCH 28/90] X11: fix multi-head setups --- language/English/strings.po | 4 +- @@ -11629,10 +10424,10 @@ index 0e900ad..90fb3fd 100644 msgctxt "#247" msgid "Scripts" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 04c521d..a0a1a5b 100644 +index 183c91c..9bbcc77 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -1870,6 +1870,15 @@ +@@ -1865,6 +1865,15 @@
@@ -11648,7 +10443,7 @@ index 04c521d..a0a1a5b 100644 0 0 -@@ -1891,6 +1900,7 @@ +@@ -1886,6 +1895,7 @@ -1 @@ -11656,7 +10451,7 @@ index 04c521d..a0a1a5b 100644 -@@ -1908,6 +1918,7 @@ +@@ -1903,6 +1913,7 @@ -1 @@ -12365,13 +11160,13 @@ index 0727bb9..b1eb278 100644 private: bool IsSuitableVisual(XVisualInfo *vInfo); -- -1.8.1.6 +1.8.4 -From 79782dac98b48a16bc5f6c7eb1c1a98bba798a56 Mon Sep 17 00:00:00 2001 +From aa2b8b2638d2b69295b2e41ebbc2d7f1aa0f93fb Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:36:32 +0200 -Subject: [PATCH 051/111] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 29/90] X11: remove all DefaultScreen and RootWindow macros --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -12436,13 +11231,13 @@ index 095012f..60a6878 100644 CLog::Log(LOGDEBUG, "GLX_EXTENSIONS:%s", m_glxext.c_str()); -- -1.8.1.6 +1.8.4 -From a54ab5a3cfb1203bf5923bbedc62eb7f17bcd973 Mon Sep 17 00:00:00 2001 +From 3446cb12a64d0fa3a5bcc90a0b2f19efc862c841 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:45:22 +0200 -Subject: [PATCH 052/111] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 30/90] X11: remove all DefaultScreen and RootWindow macros (VideoRefClock) Note this is on a separate display connection. @@ -12511,13 +11306,13 @@ index 5bf3656..0b9e7b3 100644 XRRFreeScreenConfigInfo(CurrInfo); -- -1.8.1.6 +1.8.4 -From 695958ee7db334a3e28b54ed210be4e6944a4311 Mon Sep 17 00:00:00 2001 +From 89db4450489d1aa1ef216f6cbefff729870f4f4b Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 20 Jun 2012 17:37:11 +0200 -Subject: [PATCH 053/111] X11: recreate gl context after output has changed +Subject: [PATCH 31/90] X11: recreate gl context after output has changed --- xbmc/windowing/X11/WinSystemX11.cpp | 24 ++++++++++++++---------- @@ -12665,13 +11460,13 @@ index 60a6878..d6ba80a 100644 } -- -1.8.1.6 +1.8.4 -From dd3b14222b04dbf9fd6021ff87334decc7c63d30 Mon Sep 17 00:00:00 2001 +From 5943f65feb3d4b961c272e0cdbc54de06e2d5d28 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:06:25 +0200 -Subject: [PATCH 054/111] X11: hook video reference clock in windowing +Subject: [PATCH 32/90] X11: hook video reference clock in windowing --- xbmc/video/VideoReferenceClock.cpp | 71 +++++++++++++++++++++++++++----------- @@ -12873,13 +11668,13 @@ index dd65a1b..afd71fc 100644 bool m_UseNvSettings; bool m_bIsATI; -- -1.8.1.6 +1.8.4 -From bc4b5f595c21c8037c584a24de4361d37c7c0cf4 Mon Sep 17 00:00:00 2001 +From 428f6a7eccb2a96850050fd38f088c5a6bec649e Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 21 Jun 2012 17:26:51 +0200 -Subject: [PATCH 055/111] X11: fix video calibrations +Subject: [PATCH 33/90] X11: fix video calibrations --- xbmc/windowing/WinSystem.h | 1 + @@ -12968,13 +11763,13 @@ index 05aa60e..95672d1 100644 // Local to WinSystemX11 only Display* GetDisplay() { return m_dpy; } -- -1.8.1.6 +1.8.4 -From a61e1e7b866ae6799725a3cee7055947fd2b7b02 Mon Sep 17 00:00:00 2001 +From 880e3e53ce9fea9252b45467cdda323837a96157 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:00:26 +0200 -Subject: [PATCH 056/111] X11: deactivate screen saver on startup +Subject: [PATCH 34/90] X11: deactivate screen saver on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 29 +++++++++++++++++++++++++++++ @@ -13041,13 +11836,13 @@ index 95672d1..51ac314 100644 virtual void NotifyAppActiveChange(bool bActivated); virtual void NotifyAppFocusChange(bool bGaining); -- -1.8.1.6 +1.8.4 -From 7b5eeda44e844f39d026abc306fb530dc74410db Mon Sep 17 00:00:00 2001 +From 6f22cefb4c18613bb1a0a3ab539112485d5c5da3 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:10:09 +0200 -Subject: [PATCH 057/111] X11: change method of going full-screen +Subject: [PATCH 35/90] X11: change method of going full-screen --- xbmc/windowing/X11/WinSystemX11.cpp | 9 ++++++++- @@ -13088,13 +11883,13 @@ index 14a4307..66b91fd 100644 Pixmap bitmapNoData; XColor black; -- -1.8.1.6 +1.8.4 -From c9966a2bc75891d7f2962424946957cd3840a46f Mon Sep 17 00:00:00 2001 +From 7d494c5ab536c72f17a2ce1f519a85a3e86b52cb Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Jun 2012 19:12:39 +0200 -Subject: [PATCH 058/111] X11: reset key repeat and key modifier on focus lost +Subject: [PATCH 36/90] X11: reset key repeat and key modifier on focus lost and gain --- @@ -13123,13 +11918,13 @@ index c58067b..c9f8a20 100644 serial = xevent.xfocus.serial; break; -- -1.8.1.6 +1.8.4 -From 0f1c51b14d98a525cddfe80122e15837fd4739ae Mon Sep 17 00:00:00 2001 +From c78a22d009ab004b008cac4657e75cb4d9e6aec9 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:18:46 +0200 -Subject: [PATCH 059/111] X11: replace custom utf8 to unicode with charset +Subject: [PATCH 37/90] X11: replace custom utf8 to unicode with charset convertor (squash to x11 events) --- @@ -13343,13 +12138,13 @@ index 6100933..72955ad 100644 XIC m_xic; XBMC_Event m_lastKey; -- -1.8.1.6 +1.8.4 -From 02972d370ad7e5cd498690bf26d176d34c0bc70e Mon Sep 17 00:00:00 2001 +From dbdcd1398b9596edd368bc11ba33f5f234c6f807 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:23:54 +0200 -Subject: [PATCH 060/111] X11: fixed invalid usage of sizeof() (squash into x11 +Subject: [PATCH 38/90] X11: fixed invalid usage of sizeof() (squash into x11 changes) --- @@ -13410,13 +12205,13 @@ index 72955ad..102a076 100644 XIC m_xic; XBMC_Event m_lastKey; -- -1.8.1.6 +1.8.4 -From 262f4b16ae84bce0348da566c3760d111e908acc Mon Sep 17 00:00:00 2001 +From 7174edd30e64400b3aeb027b86bf1fa88aed04a5 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 9 Jun 2012 18:23:53 +0200 -Subject: [PATCH 061/111] add missing keys to xbmc keytable +Subject: [PATCH 39/90] add missing keys to xbmc keytable --- xbmc/input/XBMC_keytable.cpp | 2 ++ @@ -13436,13 +12231,13 @@ index b430f55..246164b 100644 // Function keys , { XBMCK_F1, 0, 0, XBMCVK_F1, "f1"} -- -1.8.1.6 +1.8.4 -From d63ae68338fc4da0e774e016698f7fb62a04d9a0 Mon Sep 17 00:00:00 2001 +From 0f4f3b56b38bbc5893bd7d0ba25563980c8fb0b8 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 16 Mar 2012 15:57:51 +0100 -Subject: [PATCH 062/111] videorefclock: temp deactivate of nv settings +Subject: [PATCH 40/90] videorefclock: temp deactivate of nv settings --- xbmc/video/VideoReferenceClock.cpp | 2 +- @@ -13462,13 +12257,13 @@ index 3bd8133..59f924c 100644 #endif } -- -1.8.1.6 +1.8.4 -From 1b502562a8a1e00a0be4d6ccb0f39be9c2c77511 Mon Sep 17 00:00:00 2001 +From fefe0d5855abb1eed3f7dea5a995d52ac9a7eaca Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 09:09:09 +0200 -Subject: [PATCH 063/111] videorefclock: ask graphics context for refresh rate +Subject: [PATCH 41/90] videorefclock: ask graphics context for refresh rate --- xbmc/video/VideoReferenceClock.cpp | 3 ++- @@ -13496,13 +12291,13 @@ index 59f924c..2f8bc69 100644 CLog::Log(LOGDEBUG, "CVideoReferenceClock: Detected refreshrate: %i hertz", (int)m_RefreshRate); -- -1.8.1.6 +1.8.4 -From eb42185640059d34fd1fc3e77f65e1743f760d5f Mon Sep 17 00:00:00 2001 +From e6075ceb421bd2c5617a2fc814ebbd5583922820 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 9 Jul 2012 14:00:18 +0200 -Subject: [PATCH 064/111] X11: fix icon texture after +Subject: [PATCH 42/90] X11: fix icon texture after cc5ed3c2474084ebc0373a3046410e6f766e03f4 --- @@ -13607,13 +12402,13 @@ index 66b91fd..b00eddc 100644 } -- -1.8.1.6 +1.8.4 -From c4b8d1cd002ca52a18a1f871157ccd598f62475c Mon Sep 17 00:00:00 2001 +From ce07b488bf7bd6984eb27f405d917189bd1bf601 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 10 Jul 2012 11:14:12 +0200 -Subject: [PATCH 065/111] X11: check for window manager +Subject: [PATCH 43/90] X11: check for window manager --- xbmc/windowing/X11/WinSystemX11.cpp | 74 ++++++++++++++++++++++++++++++++++++- @@ -13731,13 +12526,13 @@ index 51ac314..ce3c289 100644 CStopWatch m_screensaverReset; }; -- -1.8.1.6 +1.8.4 -From a9dc1666ab76cc5fc46fa07e8b2d8a6278530128 Mon Sep 17 00:00:00 2001 +From d9814394d56246c6877cfd01010e9186d8ee686f Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 12 Jul 2012 11:11:47 +0200 -Subject: [PATCH 066/111] X11: dont set window on xrandr if no mode available +Subject: [PATCH 44/90] X11: dont set window on xrandr if no mode available --- xbmc/windowing/X11/WinSystemX11.cpp | 11 ++++++----- @@ -13771,13 +12566,13 @@ index 05279ad..9697cbb 100644 CStdString currentOutput = CSettings::Get().GetString("videoscreen.monitor"); -- -1.8.1.6 +1.8.4 -From 657ef9713d20db3fed7787bc1b933c40d2528b0c Mon Sep 17 00:00:00 2001 +From 87d9381f4dd3f79f6ceed1e43d28e3f8c38483be Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 26 Jul 2012 09:34:28 +0200 -Subject: [PATCH 067/111] X11: fix crash after a resolution change on startup +Subject: [PATCH 45/90] X11: fix crash after a resolution change on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 3 ++- @@ -13798,13 +12593,13 @@ index 9697cbb..868071c 100644 #endif -- -1.8.1.6 +1.8.4 -From 33480af67d2e02f415a8bc967573b22b894d5fad Mon Sep 17 00:00:00 2001 +From 8bcd5f0e0e77b9ebcc590e120c6bc8bce387f598 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 15 Sep 2012 18:27:29 +0200 -Subject: [PATCH 068/111] X11: lock graphics context in NotifyXRREvent +Subject: [PATCH 46/90] X11: lock graphics context in NotifyXRREvent --- xbmc/windowing/X11/WinSystemX11.cpp | 2 ++ @@ -13824,13 +12619,13 @@ index 868071c..9ff947c 100644 { CLog::Log(LOGERROR, "WinSystemX11::RefreshWindow - failed to query xrandr"); -- -1.8.1.6 +1.8.4 -From 5f9c99545002127cd03b8e66b2fbacb05c80aac1 Mon Sep 17 00:00:00 2001 +From a5d48e1814d392c6a2bd3ac54d5fc4e8b03464f7 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 8 Oct 2011 16:45:13 +0200 -Subject: [PATCH 069/111] ffmpeg: add xvba hwaccel, co-author @fritsch +Subject: [PATCH 47/90] ffmpeg: add xvba hwaccel, co-author @fritsch --- lib/ffmpeg/configure | 11 ++ @@ -14734,13 +13529,13 @@ index 1c00ac4..6437e29 100644 AV_PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian AV_PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian -- -1.8.1.6 +1.8.4 -From 598d3e850b950f2f47352047e2ff70f5e51525cb Mon Sep 17 00:00:00 2001 +From da33e5cad8c7b2988a62a949241ac5b5b1fcef4f Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 12 Apr 2012 12:09:31 +0200 -Subject: [PATCH 070/111] xvba: add decoder, co-author @fritsch +Subject: [PATCH 48/90] xvba: add decoder, co-author @fritsch --- configure.in | 47 + @@ -14765,10 +13560,10 @@ Subject: [PATCH 070/111] xvba: add decoder, co-author @fritsch create mode 100644 xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.h diff --git a/configure.in b/configure.in -index 66e679f..558126f 100644 +index 86dc876..25c189b 100644 --- a/configure.in +++ b/configure.in -@@ -144,6 +144,8 @@ vaapi_not_found="== Could not find libva. VAAPI support disabled. ==" +@@ -148,6 +148,8 @@ vaapi_not_found="== Could not find libva. VAAPI support disabled. ==" vaapi_disabled="== VAAPI support manually disabled. ==" crystalhd_not_found="== Could not find libcrystalhd. CrystalHD support disabled. ==" crystalhd_disabled="== CrystalHD support manually disabled. ==" @@ -14777,7 +13572,7 @@ index 66e679f..558126f 100644 vtbdecoder_enabled="== VTBDecoder support enabled. ==" vtbdecoder_disabled="== VTBDecoder support manually disabled. ==" openmax_disabled="== OpenMax support manually disabled. ==" -@@ -263,6 +265,12 @@ AC_ARG_ENABLE([crystalhd], +@@ -267,6 +269,12 @@ AC_ARG_ENABLE([crystalhd], [enable CrystalHD decoding (default is auto)])], [use_crystalhd=$enableval], [use_crystalhd=auto]) @@ -14790,7 +13585,7 @@ index 66e679f..558126f 100644 AC_ARG_ENABLE([vtbdecoder], [AS_HELP_STRING([--enable-vtbdecoder], -@@ -1776,6 +1784,37 @@ else +@@ -1810,6 +1818,37 @@ else USE_CRYSTALHD=0 fi @@ -14828,7 +13623,7 @@ index 66e679f..558126f 100644 # VTBDecoder if test "x$use_vtbdecoder" != "xno"; then if test "$host_vendor" = "apple" ; then -@@ -1978,6 +2017,12 @@ else +@@ -2012,6 +2051,12 @@ else final_message="$final_message\n CrystalHD:\tNo" fi @@ -14841,7 +13636,7 @@ index 66e679f..558126f 100644 if test "x$use_vtbdecoder" != "xno"; then final_message="$final_message\n VTBDecoder:\tYes" else -@@ -2450,6 +2495,7 @@ AC_SUBST(USE_OPENGLES) +@@ -2498,6 +2543,7 @@ AC_SUBST(USE_OPENGLES) AC_SUBST(USE_VDPAU) AC_SUBST(USE_VAAPI) AC_SUBST(USE_CRYSTALHD) @@ -14849,7 +13644,7 @@ index 66e679f..558126f 100644 AC_SUBST(USE_LIBSMBCLIENT) AC_SUBST(USE_LIBNFS) AC_SUBST(USE_LIBAFPCLIENT) -@@ -2634,6 +2680,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ +@@ -2682,6 +2728,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \ `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \ `if test "$use_optimizations" != "no"; then echo --enable-optimizations; else echo --disable-optimizations; fi` \ @@ -14889,7 +13684,7 @@ index 90fb3fd..6e87bc7 100644 msgctxt "#16400" msgid "Post-processing" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index a0a1a5b..a1c7833 100644 +index 9bbcc77..00a0b1f 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -410,6 +410,11 @@ @@ -14901,9 +13696,9 @@ index a0a1a5b..a1c7833 100644 + 2 + true + - - HAVE_LIBSTAGEFRIGHTDECODER - 2 + + HAS_GL + 4 diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp index 7bfd892..696c3f1 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp @@ -15337,10 +14132,10 @@ index ae610ca..08d6230 100644 return index; diff --git a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp -index 514a5e1..614afdd 100644 +index 3ff3993..c95fd33 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp -@@ -183,6 +183,11 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne +@@ -184,6 +184,11 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne #elif defined(TARGET_POSIX) && !defined(TARGET_DARWIN) hwSupport += "VAAPI:no "; #endif @@ -15409,7 +14204,7 @@ index 9f1fc03..7e01ef0 100644 // mpeg4 vaapi decoding is disabled if(*cur == PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi") diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in -index 86b0a89..7bc4065 100644 +index 043f570..8754625 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in @@ -34,6 +34,10 @@ INCLUDES += -I${prefix}/opt/android-source/system/core/include @@ -18245,13 +17040,13 @@ index 8f30248..db58075 100644 /* remove unsupported methods */ for(vector >::iterator it = entries.begin(); it != entries.end();) -- -1.8.1.6 +1.8.4 -From c8f44c6aeca2d7b420a576cada451931c1e8ce71 Mon Sep 17 00:00:00 2001 +From 9848f8007c61217b884ae1ff4737d60bc75a6ca2 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 16 Jun 2012 12:46:30 +0200 -Subject: [PATCH 071/111] xvba: do not use vaapi if xvba is present +Subject: [PATCH 49/90] xvba: do not use vaapi if xvba is present --- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 9 +++++++++ @@ -18278,13 +17073,13 @@ index 2d59b09..aa83875 100644 VAProfile profile; -- -1.8.1.6 +1.8.4 -From 62a049ada0e780211a53cf5e0a315a0cc5f9f824 Mon Sep 17 00:00:00 2001 +From 7aad86e6fd4ff45fcda435d32a3cc926e3547261 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 23 Aug 2012 19:39:49 +0200 -Subject: [PATCH 072/111] ffmpeg: add av_find_default_stream_index to interface +Subject: [PATCH 50/90] ffmpeg: add av_find_default_stream_index to interface --- lib/DllAvFormat.h | 4 ++++ @@ -18327,13 +17122,13 @@ index 0016c0b..3514856 100644 /* dependencies of libavformat */ -- -1.8.1.6 +1.8.4 -From 345117b7bb8287000dc771151d1a34f14b465c19 Mon Sep 17 00:00:00 2001 +From 678d601433801d7ec12455353e7aec83e198f156 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 16:06:39 +0200 -Subject: [PATCH 073/111] dvdplayer: observe pts counter overflow +Subject: [PATCH 51/90] dvdplayer: observe pts counter overflow --- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 198 ++++++++++++++++++++- @@ -18617,13 +17412,13 @@ index aef5ab1..35abbdf 100644 }; -- -1.8.1.6 +1.8.4 -From c9faeb54dec08b3ff07c8064dcf3310248455005 Mon Sep 17 00:00:00 2001 +From 018dbad87adb89f8deae6f55fd95b756220d1227 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 13:02:10 +0200 -Subject: [PATCH 074/111] dvdplayer: avoid short screen flicker caused by +Subject: [PATCH 52/90] dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer --- @@ -18653,13 +17448,13 @@ index c2808c3..5d487f4 100644 m_output.extended_format = pPicture->extended_format; m_output.color_matrix = pPicture->color_matrix; -- -1.8.1.6 +1.8.4 -From c38283b4394ce4dcaea0421b29a1491a6c715ccb Mon Sep 17 00:00:00 2001 +From 76092b0eb617ce0222ffe1b733e9905e56de78ab Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 12:05:50 +0200 -Subject: [PATCH 075/111] vdpau: advanced settings for auto deinterlacing +Subject: [PATCH 53/90] vdpau: advanced settings for auto deinterlacing --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- @@ -18668,10 +17463,10 @@ Subject: [PATCH 075/111] vdpau: advanced settings for auto deinterlacing 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index 7f0fbd0..b6f3b83 100644 +index 43316c1..cbaf985 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -1818,10 +1818,10 @@ EINTERLACEMETHOD CMixer::GetDeinterlacingMethod(bool log /* = false */) +@@ -1827,10 +1827,10 @@ EINTERLACEMETHOD CMixer::GetDeinterlacingMethod(bool log /* = false */) if (method == VS_INTERLACEMETHOD_AUTO) { int deint = -1; @@ -18722,13 +17517,13 @@ index df5b028..82057bf 100644 bool m_videoVDPAUdeintSkipChromaHD; bool m_musicUseTimeSeeking; -- -1.8.1.6 +1.8.4 -From 695161587d0744b427548511fe7b0ed631741bf5 Mon Sep 17 00:00:00 2001 +From 3131970bd9cb75bc3e565ee6120239496bb9d093 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 2 Nov 2012 13:20:03 +0100 -Subject: [PATCH 076/111] player: fix rewind +Subject: [PATCH 54/90] player: fix rewind --- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- @@ -18940,13 +17735,13 @@ index 59c7f09..65dea76 100644 unsigned int m_dropRequests; }; -- -1.8.1.6 +1.8.4 -From ad0e6973d2a300143c701de14bdbe8b08f26d1a3 Mon Sep 17 00:00:00 2001 +From 6ef45bf7f53cc1a51206418727d1bd8bb5bc2fa6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 23 Nov 2012 17:41:12 +0100 -Subject: [PATCH 077/111] xrandr: fix query for multiple screens +Subject: [PATCH 55/90] xrandr: fix query for multiple screens --- xbmc/windowing/X11/XRandR.cpp | 10 ++++++---- @@ -18984,14 +17779,13 @@ index 9e181f2..ce0a02b 100644 FILE* file = popen(cmd.c_str(),"r"); if (!file) -- -1.8.1.6 +1.8.4 -From 746c5a49798137e3c4b209b9e9f0ca0b7bd66d9e Mon Sep 17 00:00:00 2001 +From 7ab27d6889178da26d24e6ccfb5eb8c6a7bd3863 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Dec 2012 15:46:55 +0100 -Subject: [PATCH 078/111] X11: add debug log to print out refresh after xrr - event +Subject: [PATCH 56/90] X11: add debug log to print out refresh after xrr event --- xbmc/windowing/X11/WinSystemX11.cpp | 6 ++++++ @@ -19015,13 +17809,13 @@ index 9ff947c..a3394e6 100644 unsigned int i; bool found(false); -- -1.8.1.6 +1.8.4 -From b7bfc1df08a3713d8b7d97f33d09bd8bfc447616 Mon Sep 17 00:00:00 2001 +From b42267ed0b252916b62f35294c62b4a951bf5d6e Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 11 Dec 2012 11:08:13 +0100 -Subject: [PATCH 079/111] X11: dont call XCloseDisplay on shutdown, it crashes +Subject: [PATCH 57/90] X11: dont call XCloseDisplay on shutdown, it crashes when powered doen by cec on ATI --- @@ -19043,13 +17837,13 @@ index a3394e6..b941c14 100644 // m_SDLSurface is free()'d by SDL_Quit(). -- -1.8.1.6 +1.8.4 -From 029656493f159d1ff6c300a2e7cad40e05d90c2a Mon Sep 17 00:00:00 2001 +From 11917b49dc814e4a3912951b121edca6fce4ab3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Coutant?= Date: Wed, 12 Dec 2012 19:49:47 +0100 -Subject: [PATCH 080/111] x11: support for multiple x screens +Subject: [PATCH 58/90] x11: support for multiple x screens --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -19069,13 +17863,13 @@ index ce0a02b..aa27d2b 100644 // TODO ERROR return false; -- -1.8.1.6 +1.8.4 -From 452fade6666016d2932a6b2eb6ad560bcddfc77f Mon Sep 17 00:00:00 2001 +From 4aa0e9e73a0dfde18bd7e6b245f2e437a3cd353c Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 24 Dec 2012 16:02:42 +0100 -Subject: [PATCH 081/111] pvr: increase changes counter of stream on stream +Subject: [PATCH 59/90] pvr: increase changes counter of stream on stream change, cosmetics after dd307930d39d92f145a01a16600cd00e01ec39be --- @@ -19106,13 +17900,13 @@ index 62fbb41..a80c789 100644 else if (props.stream[i].iCodecType == XBMC_CODEC_TYPE_VIDEO) { -- -1.8.1.6 +1.8.4 -From 047d50ff03dc0e13b386edda99d5d185f449037c Mon Sep 17 00:00:00 2001 +From efadfccd9e6ae4601a6560a035663ae524bfbbf3 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 17 Jan 2013 16:03:22 +0100 -Subject: [PATCH 082/111] X11: add keymapping for XF86XK_Sleep +Subject: [PATCH 60/90] X11: add keymapping for XF86XK_Sleep --- xbmc/windowing/WinEventsX11.cpp | 1 + @@ -19131,13 +17925,13 @@ index 4a5aab4..da5d412 100644 , {XK_Undo, XBMCK_UNDO} /* Media keys */ -- -1.8.1.6 +1.8.4 -From b1a2fc5e223085fb9f465ba1ce73a583579402ec Mon Sep 17 00:00:00 2001 +From b1c759fe6ef7480e6c12cc266fc9fd7a4df4bf60 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 21 Jan 2013 09:00:19 +0100 -Subject: [PATCH 083/111] X11: remove toggle full screen after resume +Subject: [PATCH 61/90] X11: remove toggle full screen after resume --- xbmc/powermanagement/PowerManager.cpp | 5 ----- @@ -19160,13 +17954,13 @@ index 2033574..c79bbc1 100644 } g_application.ResetScreenSaver(); -- -1.8.1.6 +1.8.4 -From 21c12b87da8a2eef346b6249b2980d7d316d8ae5 Mon Sep 17 00:00:00 2001 +From 9da38850f2d3316c648dfd9d2c280486aaed86d1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:02 +0100 -Subject: [PATCH 084/111] xrandr: set screen on mode change command +Subject: [PATCH 62/90] xrandr: set screen on mode change command --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -19186,13 +17980,13 @@ index aa27d2b..67bf6ca 100644 return false; CLog::Log(LOGINFO, "XRANDR: %s", cmd); -- -1.8.1.6 +1.8.4 -From 4385222d8becf806704305ae839f1b70160b33da Mon Sep 17 00:00:00 2001 +From b4fb02f6ea5cea93a5a9fa8ffe318d7eedef051c Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:39 +0100 -Subject: [PATCH 085/111] X11: recreate glx context when output changes +Subject: [PATCH 63/90] X11: recreate glx context when output changes --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -19240,13 +18034,13 @@ index ce3c289..311e4cc 100644 void OnLostDevice(); bool SetWindow(int width, int height, bool fullscreen, const CStdString &output); -- -1.8.1.6 +1.8.4 -From 3e971e46fa6e016c76e807c8d00af449d258f719 Mon Sep 17 00:00:00 2001 +From d1cf19fac6d8dec1e896562564da9682b9331c20 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 14 Dec 2012 14:19:15 +0100 -Subject: [PATCH 086/111] pvr: do not show selection dialog for a single menu +Subject: [PATCH 64/90] pvr: do not show selection dialog for a single menu hook --- @@ -19281,13 +18075,13 @@ index aab6345..a880778 100644 client->CallMenuHook(hooks->at(hookIDs.at(selection)), item); } -- -1.8.1.6 +1.8.4 -From 933978ae6ca200d2739d36c417fa3459c3ea392f Mon Sep 17 00:00:00 2001 +From 5e49f860cf5fde967eeab65d38c7917100d872b2 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 3 Feb 2013 08:17:16 +0100 -Subject: [PATCH 087/111] X11: use default screen parameters if no output +Subject: [PATCH 65/90] X11: use default screen parameters if no output connected --- @@ -19388,13 +18182,13 @@ index c84e793..5215f4d 100644 mask, &swa); -- -1.8.1.6 +1.8.4 -From 635080d09a9552a4900ffa2fd504946879851af6 Mon Sep 17 00:00:00 2001 +From 176e1edd97dda5b927403ebc28f143b8f9d60549 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 23 Mar 2013 15:13:32 +0100 -Subject: [PATCH 088/111] X11: create parent window +Subject: [PATCH 66/90] X11: create parent window --- xbmc/windowing/X11/WinSystemX11.cpp | 69 +++++++++++++++++++++++-------------- @@ -19657,13 +18451,13 @@ index 311e4cc..49365a8 100644 Display* m_dpy; Cursor m_invisibleCursor; -- -1.8.1.6 +1.8.4 -From cc5af656ee061060547df565c9d7fd62b3153a2d Mon Sep 17 00:00:00 2001 +From 5c69c27d3ca7b30ce128993a93505fd5e2cc7be6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 24 Mar 2013 12:30:12 +0100 -Subject: [PATCH 089/111] X11: use system key repeat rate instead of hardcoded +Subject: [PATCH 67/90] X11: use system key repeat rate instead of hardcoded one, taken from 58fd64b194e38b73b5f3132744bab35e994e7441 --- @@ -19862,13 +18656,13 @@ index 102a076..5b1f3fa 100644 int m_keymodState; bool m_structureChanged; -- -1.8.1.6 +1.8.4 -From 5bf17c84b9dd8e2e03b90e2a418ad2a1f018856a Mon Sep 17 00:00:00 2001 +From 31dfd5d58bd7e8a092eb59e1a35f265cde604761 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 24 Mar 2013 16:04:48 +0100 -Subject: [PATCH 090/111] linux: use CLOCK_MONOTONIC_RAW as this is not subject +Subject: [PATCH 68/90] linux: use CLOCK_MONOTONIC_RAW as this is not subject to NTP --- @@ -19903,13 +18697,13 @@ index c06b8c5..4390d2e 100644 #endif } -- -1.8.1.6 +1.8.4 -From 52392e8e6b9b2359de01f0a6708a121196641622 Mon Sep 17 00:00:00 2001 +From 670ece8bdbc1b052e91df86be1ef133ed262baa5 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 15:18:53 +0100 -Subject: [PATCH 091/111] OMXPlayer: some caching fixes for pvr +Subject: [PATCH 69/90] OMXPlayer: some caching fixes for pvr --- xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++- @@ -19930,23 +18724,23 @@ index 1bfbdaf..11dd1cc 100644 m_av_clock.OMXSetSpeed(speed); m_av_clock.OMXPause(); -- -1.8.1.6 +1.8.4 -From 49bae3f230d681d6890d2ee706ef68ce72f504bf Mon Sep 17 00:00:00 2001 +From 202c5ecb3114faf5403e0f0a1e6f66df7096b3e6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 20:50:59 +0100 -Subject: [PATCH 092/111] fix incorrect display of fps when dr kicks in +Subject: [PATCH 70/90] fix incorrect display of fps when dr kicks in --- xbmc/Application.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 92e467d..525402c 100644 +index becf35d..dd9d1e1 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2184,10 +2184,11 @@ void CApplication::Render() +@@ -2193,10 +2193,11 @@ void CApplication::Render() if (frameTime < singleFrameTime) Sleep(singleFrameTime - frameTime); } @@ -19960,13 +18754,13 @@ index 92e467d..525402c 100644 g_renderManager.UpdateResolution(); -- -1.8.1.6 +1.8.4 -From 25be31f0e6ffc174c415f0a9bdcd9c38f48bdf01 Mon Sep 17 00:00:00 2001 +From e05b98e99b195b2d157bbd3f31d862f7abe606b4 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 13 Apr 2013 08:32:06 +0200 -Subject: [PATCH 093/111] X11: fix mouse coverage +Subject: [PATCH 71/90] X11: fix mouse coverage --- xbmc/windowing/X11/WinSystemX11.cpp | 11 ++++++++--- @@ -20029,13 +18823,13 @@ index 49365a8..924af1d 100644 CCriticalSection m_resourceSection; std::vector m_resources; -- -1.8.1.6 +1.8.4 -From 7a1d8137b3ed2e7a2ddfe7be1963615b462926b6 Mon Sep 17 00:00:00 2001 +From b71b1b554293c5f7714628ea450a1397efbed3c8 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 8 May 2013 13:14:58 +0200 -Subject: [PATCH 094/111] X11: fix incorrectly used screen num in desktop +Subject: [PATCH 72/90] X11: fix incorrectly used screen num in desktop resolution --- @@ -20067,13 +18861,13 @@ index 186a28e..66955b8 100644 res.iHeight = mode.h; res.iScreenWidth = mode.w; -- -1.8.1.6 +1.8.4 -From b13292942c269723de9d5ad1c1a346cd660ae9e1 Mon Sep 17 00:00:00 2001 +From bc4c72a6709137731b70c2ddb436622ef1ae54df Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 9 May 2013 12:07:09 +0200 -Subject: [PATCH 095/111] X11: do not overwrite user selected monitor with +Subject: [PATCH 73/90] X11: do not overwrite user selected monitor with fallback --- @@ -20195,13 +18989,13 @@ index 924af1d..2fb9e0f 100644 bool m_bIsInternalXrr; bool m_newGlContext; -- -1.8.1.6 +1.8.4 -From 4e2bee476f5ff41e71c8841e4d37c162e84f309c Mon Sep 17 00:00:00 2001 +From 847dae2fcf7bc923afb7bbab21e1255ccb432bf9 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 12 May 2013 10:50:30 +0200 -Subject: [PATCH 096/111] xrandr: add turn on/off to wrapper +Subject: [PATCH 74/90] xrandr: add turn on/off to wrapper --- xbmc/windowing/X11/XRandR.cpp | 78 +++++++++++++++++++++++++++++++++++++++---- @@ -20364,13 +19158,13 @@ index d37838a..059062f 100644 //bool Has1080p(); //bool Has720p(); -- -1.8.1.6 +1.8.4 -From fc2f08443b4e7dbaeb97ecfe3ef86ecf0c0540ac Mon Sep 17 00:00:00 2001 +From 84ca055b225c28e8650046027f26326045893eef Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 19 May 2013 12:55:35 +0200 -Subject: [PATCH 097/111] xrandr: add GetPreferredMode to wrapper +Subject: [PATCH 75/90] xrandr: add GetPreferredMode to wrapper --- xbmc/windowing/X11/XRandR.cpp | 23 +++++++++++++++++++++++ @@ -20424,13 +19218,13 @@ index 059062f..ab7cc63 100644 bool SetMode(XOutput output, XMode mode); void LoadCustomModeLinesToAllOutputs(void); -- -1.8.1.6 +1.8.4 -From 31a16ec843d58847c3e1e3418f1a13481555b950 Mon Sep 17 00:00:00 2001 +From 755d86ea8f38056c093b9de3b2ff363f850184c7 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 11 May 2013 17:12:12 +0200 -Subject: [PATCH 098/111] X11: multi-head improvement - poll for desired output +Subject: [PATCH 76/90] X11: multi-head improvement - poll for desired output if we do not get an xrr event --- @@ -20472,10 +19266,10 @@ index 6e87bc7..b9aefe3 100644 #: xbmc/dialogs/GUIDialogFavourites.cpp msgctxt "#15015" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index a1c7833..a737dc2 100644 +index 00a0b1f..ed3c982 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -1884,6 +1884,11 @@ +@@ -1879,6 +1879,11 @@ @@ -20487,7 +19281,7 @@ index a1c7833..a737dc2 100644 0 0 -@@ -1935,6 +1940,7 @@ +@@ -1930,6 +1935,7 @@ @@ -20708,13 +19502,13 @@ index 4809821..1ad26b2 100644 int status = system(cmd.c_str()); if (status == -1) -- -1.8.1.6 +1.8.4 -From b32ea3e1cb503ac97ecdf361a238b74ab436ea4c Mon Sep 17 00:00:00 2001 +From f9ee70d207b85bd4196af681b7e1863c97f7911a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 15 May 2013 09:14:34 +0200 -Subject: [PATCH 099/111] X11: ignore mouse move event form other windows +Subject: [PATCH 77/90] X11: ignore mouse move event form other windows --- xbmc/windowing/WinEventsX11.cpp | 4 +++- @@ -20743,13 +19537,13 @@ index 6ddaead..e4451fe 100644 memset(&newEvent, 0, sizeof(newEvent)); newEvent.type = XBMC_MOUSEMOTION; -- -1.8.1.6 +1.8.4 -From 31dc0a9d086769a0e920c0ddf926b876f6ed7015 Mon Sep 17 00:00:00 2001 +From 47da713a623b5327fc365ed96122e664f4ef9088 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 11 Jun 2013 16:20:29 +0200 -Subject: [PATCH 100/111] renderer: allow some lateness within vblank interval +Subject: [PATCH 78/90] renderer: allow some lateness within vblank interval --- xbmc/cores/VideoRenderers/RenderManager.cpp | 12 ++++++++++-- @@ -20806,13 +19600,13 @@ index befd851..27283ec 100644 OVERLAY::CRenderer m_overlays; -- -1.8.1.6 +1.8.4 -From 2cb5380ec3bffaaa968462afbe09484581355889 Mon Sep 17 00:00:00 2001 +From f3f060802ffa5ca698755f91c9f67e407810986e Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 16 Jun 2013 13:22:58 +0200 -Subject: [PATCH 101/111] X11: another fix for mouse coverage +Subject: [PATCH 79/90] X11: another fix for mouse coverage --- xbmc/windowing/WinEventsX11.cpp | 6 ++++-- @@ -20842,13 +19636,13 @@ index e4451fe..582b9f5 100644 break; } -- -1.8.1.6 +1.8.4 -From 57726ab8ccb995463bbb76a566638aa8fd751751 Mon Sep 17 00:00:00 2001 +From 344c3ad759793fb684ceee73f65f1864abf93e30 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 5 Jul 2013 12:14:00 +0200 -Subject: [PATCH 102/111] X11: set windows class name +Subject: [PATCH 80/90] X11: set windows class name --- xbmc/windowing/X11/WinSystemX11.cpp | 9 ++++++++- @@ -20887,21 +19681,21 @@ index 7e4b637..44e40a3 100644 // register interest in the delete window message -- -1.8.1.6 +1.8.4 -From 002808de57386d6f7edf2e352d1d86199db3545d Mon Sep 17 00:00:00 2001 +From c6d410d4aebb063b200823c450c7474290ac83fb Mon Sep 17 00:00:00 2001 From: fritsch Date: Sun, 14 Jul 2013 14:21:52 +0200 -Subject: [PATCH 103/111] ActiveAE: Make ActiveAE default Audio Engine to get - it tested via ppa +Subject: [PATCH 81/90] ActiveAE: Make ActiveAE default Audio Engine to get it + tested via ppa --- xbmc/cores/AudioEngine/AEFactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/cores/AudioEngine/AEFactory.cpp b/xbmc/cores/AudioEngine/AEFactory.cpp -index 6a5808c..fc38090 100644 +index e4a6cd3..2fbcecf 100644 --- a/xbmc/cores/AudioEngine/AEFactory.cpp +++ b/xbmc/cores/AudioEngine/AEFactory.cpp @@ -97,7 +97,7 @@ bool CAEFactory::LoadEngine() @@ -20914,13 +19708,13 @@ index 6a5808c..fc38090 100644 return loaded; -- -1.8.1.6 +1.8.4 -From 6659a6c0436b4f00494612e1d96c8b9d842160a9 Mon Sep 17 00:00:00 2001 +From 9b0b7cf83f4102b450bfc49416f7b93202651d4a Mon Sep 17 00:00:00 2001 From: spiff Date: Tue, 16 Jul 2013 14:34:04 +0200 -Subject: [PATCH 104/111] fixed: typo +Subject: [PATCH 82/90] fixed: typo --- language/English/strings.po | 2 +- @@ -20940,20 +19734,20 @@ index b9aefe3..0c5a8dd 100644 #empty strings from id 14102 to 15014 -- -1.8.1.6 +1.8.4 -From 9b0b4c425a6d1f547565226b3815c3709048b5f9 Mon Sep 17 00:00:00 2001 +From 57af4044ed57779b68f39ebbf6b0ef3f0bec380e Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 25 Jul 2013 17:18:13 +0200 -Subject: [PATCH 105/111] ActiveAE: slightly reduce buffer size +Subject: [PATCH 83/90] ActiveAE: slightly reduce buffer size --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 78f9eee..961adc8 100644 +index d203fb7..88d280b 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp @@ -30,8 +30,8 @@ @@ -20968,14 +19762,14 @@ index 78f9eee..961adc8 100644 void CEngineStats::Reset(unsigned int sampleRate) { -- -1.8.1.6 +1.8.4 -From bda6c8230b4740b032553eabd3f4309d57b668c1 Mon Sep 17 00:00:00 2001 +From b5d8863507c637224600fd8d847735e926ae4807 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 4 Aug 2013 10:11:16 +0200 -Subject: [PATCH 106/111] Revert "vdpau: comment some features that will be - added later" +Subject: [PATCH 84/90] Revert "vdpau: comment some features that will be added + later" This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. --- @@ -20983,10 +19777,10 @@ This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -index b6f3b83..5f62189 100644 +index cbaf985..c28f353 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp -@@ -929,8 +929,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -938,8 +938,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) m_bufferStats.IncDecoded(); m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic)); @@ -20996,7 +19790,7 @@ index b6f3b83..5f62189 100644 } int retval = 0; -@@ -985,8 +984,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) +@@ -994,8 +993,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame) msg->Release(); } @@ -21006,7 +19800,7 @@ index b6f3b83..5f62189 100644 { if (decoded + processed + render < 4) { -@@ -2150,8 +2148,7 @@ void CMixer::InitCycle() +@@ -2159,8 +2157,7 @@ void CMixer::InitCycle() int flags; m_config.stats->GetParams(latency, flags); latency = (latency*1000)/CurrentHostFrequency(); @@ -21016,7 +19810,7 @@ index b6f3b83..5f62189 100644 SetPostProcFeatures(false); else SetPostProcFeatures(true); -@@ -2162,8 +2159,7 @@ void CMixer::InitCycle() +@@ -2171,8 +2168,7 @@ void CMixer::InitCycle() EINTERLACEMETHOD method = GetDeinterlacingMethod(); bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED; @@ -21026,7 +19820,7 @@ index b6f3b83..5f62189 100644 (mode == VS_DEINTERLACEMODE_FORCE || (mode == VS_DEINTERLACEMODE_AUTO && interlaced))) { -@@ -2185,8 +2181,7 @@ void CMixer::InitCycle() +@@ -2194,8 +2190,7 @@ void CMixer::InitCycle() m_config.stats->SetCanSkipDeint(true); } @@ -21037,13 +19831,13 @@ index b6f3b83..5f62189 100644 m_mixersteps = 1; } -- -1.8.1.6 +1.8.4 -From 85c36804624f9fbceae85c5e82e757b066d21cb7 Mon Sep 17 00:00:00 2001 +From 768e191416afbac708c78e88deebba1c9d29ec2b Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 9 Aug 2013 18:01:40 +0200 -Subject: [PATCH 107/111] X11: fix keysyms +Subject: [PATCH 85/90] X11: fix keysyms --- xbmc/windowing/WinEventsX11.cpp | 2 +- @@ -21063,13 +19857,13 @@ index 582b9f5..ca31278 100644 newEvent.key.keysym.unicode = keys[keys.length() - 1]; newEvent.key.state = xevent.xkey.state; -- -1.8.1.6 +1.8.4 -From cc051edca6fd3bf6430a0503aab29d564f2e77af Mon Sep 17 00:00:00 2001 +From 0a7539073df21555e55387a42b685e63ceb4f25f Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 9 Aug 2013 18:42:36 +0200 -Subject: [PATCH 108/111] X11: fix keysym for non-IM +Subject: [PATCH 86/90] X11: fix keysym for non-IM --- xbmc/windowing/WinEventsX11.cpp | 2 +- @@ -21089,13 +19883,13 @@ index ca31278..db50d3c 100644 newEvent.key.keysym.scancode = xevent.xkey.keycode; newEvent.key.state = xevent.xkey.state; -- -1.8.1.6 +1.8.4 -From 6b45549f6174112896c51108315a68d410579cbe Mon Sep 17 00:00:00 2001 +From 8d0449fc972132bd371e04a4057fb0f99566185e Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 10 Aug 2013 11:18:16 +0200 -Subject: [PATCH 109/111] add some missing multi media keys +Subject: [PATCH 87/90] add some missing multi media keys --- system/keymaps/keyboard.xml | 3 +++ @@ -21147,13 +19941,13 @@ index ee6bb69..364b45a 100644 XBMCVK_LCONTROL = 0xD0, XBMCVK_RCONTROL = 0xD1, -- -1.8.1.6 +1.8.4 -From 6b9ecbb8956eb6bdc59eeae79f628bf511be52b8 Mon Sep 17 00:00:00 2001 +From 63bf84f43a79b7432f6a95b14fef019b975b3b9c Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 10 Aug 2013 15:32:06 +0200 -Subject: [PATCH 110/111] CWinSystemBase: keep RES_DESKTOP untouched at pos 0, +Subject: [PATCH 88/90] CWinSystemBase: keep RES_DESKTOP untouched at pos 0, fixes toggle fullscreen --- @@ -21185,13 +19979,13 @@ index b3add75..6294965 100644 return resolutions; } -- -1.8.1.6 +1.8.4 -From e70c101a28981a2e5e238654bdbc05e7ee5132fe Mon Sep 17 00:00:00 2001 +From 502da5f74ccc5fd483e9bde6b5d28914d5c86399 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 10 Aug 2013 15:53:45 +0200 -Subject: [PATCH 111/111] X11: squash multi +Subject: [PATCH 89/90] X11: squash multi --- xbmc/windowing/X11/WinSystemX11.cpp | 2 +- @@ -21211,5 +20005,5 @@ index 44e40a3..a00481e 100644 bool CWinSystemX11::IsSuitableVisual(XVisualInfo *vInfo) -- -1.8.1.6 +1.8.4 diff --git a/packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-995.10-disable-alt-tab.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-995.10-disable-alt-tab.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/13.alpha-0efa87e/xbmc-995.10-disable-alt-tab.patch rename to packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-995.10-disable-alt-tab.patch