aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoakim Plate <elupus@ecce.se>2014-04-29 21:52:56 +0200
committerJoakim Plate <elupus@ecce.se>2014-06-01 15:47:35 +0200
commit2360b408dca8ccdb8cd81861957094612fb8da69 (patch)
tree374e3fccb16897c05174a937fa27c922aa3ececd
parent47158b56987717765b81b757c4fbe1efe7688c44 (diff)
dvdplayer: factor better stream checks
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayer.cpp14
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayer.h1
2 files changed, 11 insertions, 4 deletions
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index 71cfa86302..2786d282c2 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -995,6 +995,12 @@ bool CDVDPlayer::IsBetterStream(CCurrentStream& current, CDemuxStream* stream)
return false;
}
+void CDVDPlayer::CheckBetterStream(CCurrentStream& current, CDemuxStream* stream)
+{
+ if (IsBetterStream(current, stream))
+ OpenStream(current, stream->iId, stream->source);
+}
+
void CDVDPlayer::Process()
{
if (!OpenInputStream())
@@ -1290,10 +1296,10 @@ void CDVDPlayer::Process()
if (!IsValidStream(m_CurrentTeletext)) CloseTeletextStream(true);
// see if we can find something better to play
- if (IsBetterStream(m_CurrentAudio, pStream)) OpenStream(m_CurrentAudio, pStream->iId, pStream->source);
- if (IsBetterStream(m_CurrentVideo, pStream)) OpenStream(m_CurrentVideo, pStream->iId, pStream->source);
- if (IsBetterStream(m_CurrentSubtitle, pStream)) OpenStream(m_CurrentSubtitle, pStream->iId, pStream->source);
- if (IsBetterStream(m_CurrentTeletext, pStream)) OpenStream(m_CurrentTeletext, pStream->iId, pStream->source);
+ CheckBetterStream(m_CurrentAudio, pStream);
+ CheckBetterStream(m_CurrentVideo, pStream);
+ CheckBetterStream(m_CurrentSubtitle, pStream);
+ CheckBetterStream(m_CurrentTeletext, pStream);
// process the packet
ProcessPacket(pStream, pPacket);
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.h b/xbmc/cores/dvdplayer/DVDPlayer.h
index 76672764a9..29acdd48d6 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.h
+++ b/xbmc/cores/dvdplayer/DVDPlayer.h
@@ -324,6 +324,7 @@ protected:
bool ReadPacket(DemuxPacket*& packet, CDemuxStream*& stream);
bool IsValidStream(CCurrentStream& stream);
bool IsBetterStream(CCurrentStream& current, CDemuxStream* stream);
+ void CheckBetterStream(CCurrentStream& current, CDemuxStream* stream);
bool CheckDelayedChannelEntry(void);
bool OpenInputStream();