• Home
  • Raw
  • Download

Lines Matching full:page

78 void simple_ogg_page__init(ogg_page *page)  in simple_ogg_page__init()  argument
80 page->header = 0; in simple_ogg_page__init()
81 page->header_len = 0; in simple_ogg_page__init()
82 page->body = 0; in simple_ogg_page__init()
83 page->body_len = 0; in simple_ogg_page__init()
86 void simple_ogg_page__clear(ogg_page *page) in simple_ogg_page__clear() argument
88 if(page->header) in simple_ogg_page__clear()
89 free(page->header); in simple_ogg_page__clear()
90 if(page->body) in simple_ogg_page__clear()
91 free(page->body); in simple_ogg_page__clear()
92 simple_ogg_page__init(page); in simple_ogg_page__clear()
95 …ge__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 position, ogg_page *page, FLAC__StreamEncode… in simple_ogg_page__get_at() argument
102 FLAC__ASSERT(page->header == 0); in simple_ogg_page__get_at()
103 FLAC__ASSERT(page->header_len == 0); in simple_ogg_page__get_at()
104 FLAC__ASSERT(page->body == 0); in simple_ogg_page__get_at()
105 FLAC__ASSERT(page->body_len == 0); in simple_ogg_page__get_at()
107 /* move the stream pointer to the supposed beginning of the page */ in simple_ogg_page__get_at()
116 /* allocate space for the page header */ in simple_ogg_page__get_at()
117 if(0 == (page->header = safe_malloc_(OGG_MAX_HEADER_LEN))) { in simple_ogg_page__get_at()
122 /* read in the fixed part of the page header (up to but not including in simple_ogg_page__get_at()
124 if(!full_read_(encoder, page->header, OGG_HEADER_FIXED_PORTION_LEN, read_callback, client_data)) in simple_ogg_page__get_at()
127 page->header_len = OGG_HEADER_FIXED_PORTION_LEN + page->header[26]; in simple_ogg_page__get_at()
129 /* check to see if it's a correct, "simple" page (one packet only) */ in simple_ogg_page__get_at()
131 memcmp(page->header, "OggS", 4) || /* doesn't start with OggS */ in simple_ogg_page__get_at()
132 (page->header[5] & 0x01) || /* continued packet */ in simple_ogg_page__get_at()
133 memcmp(page->header+6, "\0\0\0\0\0\0\0\0", 8) || /* granulepos is non-zero */ in simple_ogg_page__get_at()
134 page->header[26] == 0 /* packet is 0-size */ in simple_ogg_page__get_at()
141 …if(!full_read_(encoder, page->header + OGG_HEADER_FIXED_PORTION_LEN, page->header[26], read_callba… in simple_ogg_page__get_at()
148 for(i = 0; i < (uint32_t)page->header[26] - 1; i++) { in simple_ogg_page__get_at()
149 if(page->header[i + OGG_HEADER_FIXED_PORTION_LEN] != 255) { in simple_ogg_page__get_at()
155 page->body_len = 255 * i + page->header[i + OGG_HEADER_FIXED_PORTION_LEN]; in simple_ogg_page__get_at()
158 /* allocate space for the page body */ in simple_ogg_page__get_at()
159 if(0 == (page->body = safe_malloc_(page->body_len))) { in simple_ogg_page__get_at()
164 /* read in the page body */ in simple_ogg_page__get_at()
165 if(!full_read_(encoder, page->body, page->body_len, read_callback, client_data)) in simple_ogg_page__get_at()
169 memcpy(crc, page->header+22, 4); in simple_ogg_page__get_at()
170 ogg_page_checksum_set(page); in simple_ogg_page__get_at()
171 if(memcmp(crc, page->header+22, 4)) { in simple_ogg_page__get_at()
179 …ge__set_at(FLAC__StreamEncoder *encoder, FLAC__uint64 position, ogg_page *page, FLAC__StreamEncode… in simple_ogg_page__set_at() argument
183 FLAC__ASSERT(page->header != 0); in simple_ogg_page__set_at()
184 FLAC__ASSERT(page->header_len != 0); in simple_ogg_page__set_at()
185 FLAC__ASSERT(page->body != 0); in simple_ogg_page__set_at()
186 FLAC__ASSERT(page->body_len != 0); in simple_ogg_page__set_at()
188 /* move the stream pointer to the supposed beginning of the page */ in simple_ogg_page__set_at()
197 ogg_page_checksum_set(page); in simple_ogg_page__set_at()
199 /* re-write the page */ in simple_ogg_page__set_at()
200 …if(write_callback((FLAC__StreamEncoder*)encoder, page->header, page->header_len, 0, 0, client_data… in simple_ogg_page__set_at()
204 …if(write_callback((FLAC__StreamEncoder*)encoder, page->body, page->body_len, 0, 0, client_data) !=… in simple_ogg_page__set_at()