diff options
-rw-r--r-- | xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp | 10 | ||||
-rw-r--r-- | xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.h | 2 |
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; |