aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp10
-rw-r--r--xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
index 6a7d4dc313..3326f29bd0 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp
@@ -485,9 +485,13 @@ void CDVDInputStreamBluray::ProcessEvent() {
CLog::Log(LOGDEBUG, "CDVDInputStreamBluray - BD_EVENT_ANGLE %d",
m_event.param);
m_angle = m_event.param;
- if (m_title)
- m_dll->bd_free_title_info(m_title);
- m_title = m_dll->bd_get_playlist_info(m_bd, m_playlist, m_angle);
+
+ if (m_playlist <= MAX_PLAYLIST_ID)
+ {
+ if(m_title)
+ m_dll->bd_free_title_info(m_title);
+ m_title = m_dll->bd_get_playlist_info(m_bd, m_playlist, m_angle);
+ }
break;
case BD_EVENT_END_OF_TITLE:
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
index 262c7b8800..01fff00f6d 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h
@@ -32,6 +32,8 @@ extern "C"
#include <libbluray/overlay.h>
}
+#define MAX_PLAYLIST_ID 99999
+
class CDVDOverlayImage;
class DllLibbluray;
class IDVDPlayer;