- if (needflush) {
- if (ogg_stream_flush (&streamout, &ogout)) {
- if (!write_data (ogout.header, 1, ogout.header_len, out))
- goto cleanup;
-
- if (!write_data (ogout.body, 1, ogout.body_len, out))
- goto cleanup;
- }
- } else if (needout) {
- if (ogg_stream_pageout (&streamout, &ogout)) {
- if (!write_data (ogout.header, 1, ogout.header_len, out))
- goto cleanup;
-
- if (!write_data (ogout.body, 1, ogout.body_len, out))
- goto cleanup;
- }
+ if (need_flush) {
+ write = ogg_stream_flush (&stream, &page_out);
+ } else if (need_out) {
+ write = ogg_stream_pageout (&stream, &page_out);