diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-02-07 23:16:53 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-02-07 23:16:53 +0400 |
commit | 566e26b0a94581d8140304126b4a5d21c929f718 (patch) | |
tree | e975b52c7b0a7459f08903970b944c2556e5b61b /demuxer | |
parent | 5477cfdf21a362af2128ce507cbd96e7567cbde0 (diff) |
Call av_read_play when starting the demuxer.
Diffstat (limited to 'demuxer')
-rw-r--r-- | demuxer/Demuxers/BaseDemuxer.h | 2 | ||||
-rw-r--r-- | demuxer/Demuxers/LAVFDemuxer.h | 1 | ||||
-rw-r--r-- | demuxer/LAVSplitter/LAVSplitter.cpp | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/demuxer/Demuxers/BaseDemuxer.h b/demuxer/Demuxers/BaseDemuxer.h index d99d5a9f..7dc8a257 100644 --- a/demuxer/Demuxers/BaseDemuxer.h +++ b/demuxer/Demuxers/BaseDemuxer.h @@ -117,6 +117,8 @@ public: // Open the file virtual STDMETHODIMP Open(LPCOLESTR pszFileName) = 0; + // Start the demuxer + virtual STDMETHODIMP Start() { return E_NOTIMPL; } // Abort opening the file virtual STDMETHODIMP AbortOpening() { return E_NOTIMPL; } // Get Duration diff --git a/demuxer/Demuxers/LAVFDemuxer.h b/demuxer/Demuxers/LAVFDemuxer.h index 9dacecc0..9ff1baa2 100644 --- a/demuxer/Demuxers/LAVFDemuxer.h +++ b/demuxer/Demuxers/LAVFDemuxer.h @@ -54,6 +54,7 @@ public: // CBaseDemuxer STDMETHODIMP Open(LPCOLESTR pszFileName); + STDMETHODIMP Start() { if (m_avFormat) av_read_play(m_avFormat); return S_OK; } STDMETHODIMP AbortOpening(); REFERENCE_TIME GetDuration() const; STDMETHODIMP GetNextPacket(Packet **ppPacket); diff --git a/demuxer/LAVSplitter/LAVSplitter.cpp b/demuxer/LAVSplitter/LAVSplitter.cpp index af218e64..5bd79ca4 100644 --- a/demuxer/LAVSplitter/LAVSplitter.cpp +++ b/demuxer/LAVSplitter/LAVSplitter.cpp @@ -589,6 +589,8 @@ DWORD CLAVSplitter::ThreadProc() SetThreadName(-1, "CLAVSplitter Demux"); + m_pDemuxer->Start(); + m_fFlushing = false; m_eEndFlush.Set(); for(DWORD cmd = (DWORD)-1; ; cmd = GetRequest()) |