Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2012-02-07 23:16:53 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2012-02-07 23:16:53 +0400
commit566e26b0a94581d8140304126b4a5d21c929f718 (patch)
treee975b52c7b0a7459f08903970b944c2556e5b61b /demuxer
parent5477cfdf21a362af2128ce507cbd96e7567cbde0 (diff)
Call av_read_play when starting the demuxer.
Diffstat (limited to 'demuxer')
-rw-r--r--demuxer/Demuxers/BaseDemuxer.h2
-rw-r--r--demuxer/Demuxers/LAVFDemuxer.h1
-rw-r--r--demuxer/LAVSplitter/LAVSplitter.cpp2
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())