#endif
Create();
- if(!m_ready.WaitMSec(g_advancedSettings.m_videoBusyDialogDelay_ms))
- {
- CGUIDialogBusy* dialog = (CGUIDialogBusy*)g_windowManager.GetWindow(WINDOW_DIALOG_BUSY);
- if(dialog)
- {
- dialog->Show();
- while(!m_ready.WaitMSec(1))
- g_windowManager.ProcessRenderLoop(false);
- dialog->Close();
- }
- }
+
+ // wait for the ready event
+ CGUIDialogBusy::WaitOnEvent(m_ready, g_advancedSettings.m_videoBusyDialogDelay_ms, false);
// Playback might have been stopped due to some error
if (m_bStop || m_bAbortRequest)
if (CDVDInputStream::IMenus* ptr = dynamic_cast<CDVDInputStream::IMenus*>(m_pInputStream))
{
CLog::Log(LOGNOTICE, "OMXPlayer: playing a file with menu's");
- if(CDVDInputStreamNavigator* nav = dynamic_cast<CDVDInputStreamNavigator*>(m_pInputStream))
+ if(dynamic_cast<CDVDInputStreamNavigator*>(m_pInputStream))
m_PlayerOptions.starttime = 0;
if(m_PlayerOptions.state.size() > 0)
if(m_CurrentVideo.id < 0
|| m_CurrentVideo.hint != hint)
{
- if (!m_omxPlayerVideo.OpenStream(hint))
+ // discard if it's a picture attachment (e.g. album art embedded in MP3 or AAC)
+ if ((pStream->flags & AV_DISPOSITION_ATTACHED_PIC) || !m_omxPlayerVideo.OpenStream(hint))
{
/* mark stream as disabled, to disallaw further attempts */
CLog::Log(LOGWARNING, "%s - Unsupported stream %d. Stream disabled.", __FUNCTION__, iStream);
m_dvd.iDVDStillTime, time / 1000);
}
}
+ else if (iMessage == 6)
+ {
+ m_dvd.state = DVDSTATE_NORMAL;
+ CLog::Log(LOGDEBUG, "COMXPlayer::OnDVDNavResult - libbluray read error (DVDSTATE_NORMAL)");
+ CGUIDialogKaiToast::QueueNotification(g_localizeStrings.Get(25008), g_localizeStrings.Get(25009));
+ }
return 0;
}
{
CLog::Log(LOGDEBUG, "DVDNAV_STOP");
m_dvd.state = DVDSTATE_NORMAL;
+ CGUIDialogKaiToast::QueueNotification(g_localizeStrings.Get(16026), g_localizeStrings.Get(16029));
}
break;
default:
pt.y *= rs.Height() / rd.Height();
pt += CPoint(rs.x1, rs.y1);
if (action.GetID() == ACTION_MOUSE_LEFT_CLICK)
- return pMenus->OnMouseClick(pt);
+ {
+ if (pMenus->OnMouseClick(pt))
+ return true;
+ else
+ {
+ CApplicationMessenger::Get().SendAction(CAction(ACTION_TRIGGER_OSD), WINDOW_INVALID, false); // Trigger the osd
+ return false;
+ }
+ }
return pMenus->OnMouseMove(pt);
}
break;
{
CDVDInputStream::IMenus* pStream = dynamic_cast<CDVDInputStream::IMenus*>(m_pInputStream);
if (pStream)
- return true;
+ return pStream->HasMenu();
else
return false;
}
state.dts = m_CurrentVideo.dts;
else if(m_CurrentAudio.dts != DVD_NOPTS_VALUE)
state.dts = m_CurrentAudio.dts;
+ else if(m_CurrentVideo.startpts != DVD_NOPTS_VALUE)
+ state.dts = m_CurrentVideo.startpts;
+ else if(m_CurrentAudio.startpts != DVD_NOPTS_VALUE)
+ state.dts = m_CurrentAudio.startpts;
if(m_pDemuxer)
{