/*
* Seeking is NOT flushed so any content up to the demux point is retained when playing forwards.
*/
- m_messenger.Put(new CDVDMsgPlayerSeek((int)seek, true, false, true, false, true));
+ m_messenger.Put(new CDVDMsgPlayerSeek((int)seek, true, true, true, false, true));
/*
* Seek doesn't always work reliably. Last physical seek time is recorded to prevent looping
* if there was an error with seeking and it landed somewhere unexpected, perhaps back in the
/*
* Seeking is NOT flushed so any content up to the demux point is retained when playing forwards.
*/
- m_messenger.Put(new CDVDMsgPlayerSeek(cut.end + 1, true, false, true, false, true));
+ m_messenger.Put(new CDVDMsgPlayerSeek(cut.end + 1, true, true, true, false, true));
/*
* Each commercial break is only skipped once so poorly detected commercial breaks can be
* manually re-entered. Start and end are recorded to prevent looping and to allow seeking back
m_errortime = CurrentHostCounter();
m_silence = false;
m_started = false;
- m_flush = false;
m_nChannels = 0;
m_synctype = SYNC_DISCON;
m_stalled = m_messageQueue.GetPacketCount(CDVDMsg::DEMUXER_PACKET) == 0;
while(!m_bStop)
{
- if(m_flush)
- {
- m_flush = false;
- break;
- }
-
if(m_omxAudio.GetSpace() < (unsigned int)pkt->iSize)
{
Sleep(10);
while(!m_bStop)
{
- if(m_flush)
- {
- m_flush = false;
- break;
- }
-
if(m_omxAudio.GetSpace() < (unsigned int)pkt->iSize)
{
Sleep(10);
void OMXPlayerAudio::Flush()
{
- m_flush = true;
m_messageQueue.Flush();
m_messageQueue.Put( new CDVDMsg(CDVDMsg::GENERAL_FLUSH), 1);
}
m_open = false;
m_stream_id = -1;
m_fFrameRate = 25.0f;
- m_flush = false;
m_hdmi_clock_sync = false;
m_speed = DVD_PLAYSPEED_NORMAL;
m_stalled = false;
m_hints = hints;
m_Deinterlace = ( g_settings.m_currentVideoSettings.m_DeinterlaceMode == VS_DEINTERLACEMODE_OFF ) ? false : true;
- m_flush = false;
m_hdmi_clock_sync = (g_guiSettings.GetInt("videoplayer.adjustrefreshrate") != ADJUST_REFRESHRATE_OFF);
m_started = false;
m_stalled = m_messageQueue.GetPacketCount(CDVDMsg::DEMUXER_PACKET) == 0;
bool OMXPlayerVideo::CloseStream(bool bWaitForBuffers)
{
- m_flush = true;
-
// wait until buffers are empty
if (bWaitForBuffers && m_speed > 0) m_messageQueue.WaitUntilEmpty();
while (!m_bStop)
{
- if(m_flush)
- {
- m_flush = false;
- break;
- }
-
if((int)m_omxVideo.GetFreeSpace() < pPacket->iSize)
{
Sleep(10);
void OMXPlayerVideo::Flush()
{
- m_flush = true;
m_messageQueue.Flush();
m_messageQueue.Put(new CDVDMsg(CDVDMsg::GENERAL_FLUSH), 1);
}