diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2013-11-06 17:28:37 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2013-11-06 17:28:37 +0400 |
commit | 519735a9c8e9fed8805cf22a8d8c71417410cda1 (patch) | |
tree | 4f6c77630ba411c95898b534d3e06e026c536d1e /demuxer | |
parent | 60125d5802b59bed08e32d5a18a29aca42ad1700 (diff) |
Process events during file opening and reset EOS protection
EOS protection may engage during file opening, because the demuxer can
read to the end of the track to gather some information. To avoid playback
problems later on, we need to reset the protection again.
Diffstat (limited to 'demuxer')
-rw-r--r-- | demuxer/Demuxers/BDDemuxer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/demuxer/Demuxers/BDDemuxer.cpp b/demuxer/Demuxers/BDDemuxer.cpp index 0cf22592..d137421e 100644 --- a/demuxer/Demuxers/BDDemuxer.cpp +++ b/demuxer/Demuxers/BDDemuxer.cpp @@ -338,6 +338,12 @@ STDMETHODIMP CBDDemuxer::SetTitle(int idx) m_lavfDemuxer->SeekByte(0, 0); + // Process any events that occured during opening + ProcessBDEvents(); + + // Reset EOS protection + m_EndOfStreamPacketFlushProtection = FALSE; + // space for storing stream offsets m_rtOffset = (REFERENCE_TIME *)CoTaskMemAlloc(sizeof(REFERENCE_TIME) * m_lavfDemuxer->GetNumStreams()); if (!m_rtOffset) |