Home | History | Annotate | Download | only in libstagefright

Lines Matching refs:Page

32     struct Page {
37 Page *acquirePage();
38 void releasePage(Page *page);
40 void appendPage(Page *page);
53 List<Page *> mActivePages;
54 List<Page *> mFreePages;
56 void freePages(List<Page *> *list);
71 void PageCache::freePages(List<Page *> *list) {
72 List<Page *>::iterator it = list->begin();
74 Page *page = *it;
76 free(page->mData);
77 delete page;
78 page = NULL;
84 PageCache::Page *PageCache::acquirePage() {
86 List<Page *>::iterator it = mFreePages.begin();
87 Page *page = *it;
90 return page;
93 Page *page = new Page;
94 page->mData = malloc(mPageSize);
95 page->mSize = 0;
97 return page;
100 void PageCache::releasePage(Page *page) {
101 page->mSize = 0;
102 mFreePages.push_back(page);
105 void PageCache::appendPage(Page *page) {
106 mTotalSize += page->mSize;
107 mActivePages.push_back(page);
114 List<Page *>::iterator it = mActivePages.begin();
116 Page *page = *it;
118 if (maxBytes < page->mSize) {
124 maxBytes -= page->mSize;
125 bytesReleased += page->mSize;
127 releasePage(page);
140 List<Page *>::iterator it = mActivePages.begin();
242 PageCache::Page *page = mCache->acquirePage();
245 mCacheOffset + mCache->totalSize(), page->mData, kPageSize);
252 mCache->releasePage(page);
256 mCache->releasePage(page);
258 page->mSize = n;
259 mCache->appendPage(page);