summaryrefslogtreecommitdiff
path: root/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-14 08:24:17 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-14 08:24:17 -0300
commitd3cd983c26240b0f796c3ea2a3ae079439931a48 (patch)
tree9bb91f25135586c5ea65adc58a3465ed3c18ee4b /libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
parent94d526b03cc73944c521f28b5fb4e8d3f2b81e96 (diff)
xbmc-libre-13.0-3: cleaned up dependencies
FIXES: FS#40257 (https://bugs.archlinux.org/task/40257) - [xbmc] java is not a runtime dependency FS#40264 (https://bugs.archlinux.org/task/40264) - [xbmc] polkit rules should be in /usr/share/polkit-1/rules.d/ FS#40265 (https://bugs.archlinux.org/task/40265) - [xbmc] Internet Streams bring xbmc to crash
Diffstat (limited to 'libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch')
-rw-r--r--libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
new file mode 100644
index 000000000..20d8e0250
--- /dev/null
+++ b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
@@ -0,0 +1,75 @@
+From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001
+From: Jonathan Marshall <jmarshall@xbmc.org>
+Date: Tue, 6 May 2014 19:40:17 +1200
+Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with
+ missing librtmp
+
+---
+ .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+index b02792a..93fc6f0 100644
+--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP()
+ m_sStreamPlaying = NULL;
+
+ Close();
+- m_libRTMP.Free(m_rtmp);
++ if (m_rtmp)
++ m_libRTMP.Free(m_rtmp);
+ m_rtmp = NULL;
+ m_bPaused = false;
+ }
+@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content)
+ m_sStreamPlaying = NULL;
+ }
+
+- if (!CDVDInputStream::Open(strFile, "video/x-flv"))
++ if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv"))
+ return false;
+
+ CSingleLock lock(m_RTMPSection);
+@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close()
+ CSingleLock lock(m_RTMPSection);
+ CDVDInputStream::Close();
+
+- m_libRTMP.Close(m_rtmp);
++ if (m_rtmp)
++ m_libRTMP.Close(m_rtmp);
+
+ m_optionvalues.clear();
+ m_eof = true;
+@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close()
+
+ int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size)
+ {
++ if (!m_rtmp)
++ return -1;
++
+ int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size);
+ if (i < 0)
+ m_eof = true;
+@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec)
+ CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec);
+ CSingleLock lock(m_RTMPSection);
+
+- if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
++ if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
+ return true;
+
+ return false;
+@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime)
+
+ CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE");
+
+- m_libRTMP.Pause(m_rtmp, m_bPaused);
++ if (m_rtmp)
++ m_libRTMP.Pause(m_rtmp, m_bPaused);
+
+ return true;
+ }
+--
+1.9.1
+