Bug 792188: Make ChunkIterator public r=jesup

This commit is contained in:
Anant Narayanan 2012-10-07 01:34:30 -04:00
Родитель 8b97806c7b
Коммит 892bf6da06
1 изменённых файлов: 13 добавлений и 13 удалений

Просмотреть файл

@ -193,6 +193,19 @@ public:
mDuration += aDuration;
}
class ChunkIterator {
public:
ChunkIterator(MediaSegmentBase<C, Chunk>& aSegment)
: mSegment(aSegment), mIndex(0) {}
bool IsEnded() { return mIndex >= mSegment.mChunks.Length(); }
void Next() { ++mIndex; }
Chunk& operator*() { return mSegment.mChunks[mIndex]; }
Chunk* operator->() { return &mSegment.mChunks[mIndex]; }
private:
MediaSegmentBase<C, Chunk>& mSegment;
uint32_t mIndex;
};
protected:
MediaSegmentBase(Type aType) : MediaSegment(aType) {}
@ -269,19 +282,6 @@ protected:
return &mChunks[mChunks.Length() - 1];
}
class ChunkIterator {
public:
ChunkIterator(MediaSegmentBase<C, Chunk>& aSegment)
: mSegment(aSegment), mIndex(0) {}
bool IsEnded() { return mIndex >= mSegment.mChunks.Length(); }
void Next() { ++mIndex; }
Chunk& operator*() { return mSegment.mChunks[mIndex]; }
Chunk* operator->() { return &mSegment.mChunks[mIndex]; }
private:
MediaSegmentBase<C, Chunk>& mSegment;
uint32_t mIndex;
};
void RemoveLeading(TrackTicks aDuration, uint32_t aStartIndex)
{
NS_ASSERTION(aDuration >= 0, "Can't remove negative duration");