Segment::GetCluster returns CuePoint too

Change-Id: Id1b865a9efdcee6b6ef68d4fb323da50f1942f2a
This commit is contained in:
matthewjheaney 2010-10-12 15:29:28 -04:00
parent 43f77d54bd
commit 9c15c0f40b
2 changed files with 16 additions and 8 deletions

View File

@ -2556,13 +2556,18 @@ void Segment::GetCluster(
long long time_ns,
Track* pTrack,
Cluster*& pCluster,
const BlockEntry*& pBlockEntry)
const BlockEntry*& pBlockEntry,
const CuePoint*& pCP,
const CuePoint::TrackPosition*& pTP)
{
assert(pTrack);
if (SearchCues(time_ns, pTrack, pCluster, pBlockEntry))
if (SearchCues(time_ns, pTrack, pCluster, pBlockEntry, pCP, pTP))
return;
pCP = NULL;
pTP = NULL;
if ((m_clusters == NULL) || (m_clusterCount <= 0))
{
pCluster = &m_eos;
@ -2719,7 +2724,9 @@ bool Segment::SearchCues(
long long time_ns,
Track* pTrack,
Cluster*& pCluster,
const BlockEntry*& pBlockEntry)
const BlockEntry*& pBlockEntry,
const CuePoint*& pCP,
const CuePoint::TrackPosition*& pTP)
{
if (pTrack->GetType() != 1) //not video
return false; //TODO: for now, just handle video stream
@ -2727,9 +2734,6 @@ bool Segment::SearchCues(
if (m_pCues == NULL)
return false;
const CuePoint* pCP;
const CuePoint::TrackPosition* pTP;
if (!m_pCues->Find(time_ns, pTrack, pCP, pTP))
return false; //weird

View File

@ -521,7 +521,9 @@ public:
long long time_nanoseconds,
Track*,
Cluster*&,
const BlockEntry*&);
const BlockEntry*&,
const CuePoint*&,
const CuePoint::TrackPosition*&);
const Cues* GetCues() const;
@ -547,7 +549,9 @@ private:
long long time_ns,
Track*,
Cluster*&,
const BlockEntry*&);
const BlockEntry*&,
const CuePoint*&,
const CuePoint::TrackPosition*&);
};