- ogg_stream_state streamout;
- ogg_packet header_main, header_comments, header_codebooks, op;
- ogg_page ogout, ogin;
+ while (nmemb > 0) {
+ size_t w;
+
+ w = fwrite (buf, size, nmemb, stream);
+ if (!w && ferror (stream))
+ return false;
+
+ nmemb -= w;
+ buf += size * w;
+ }
+
+ return true;
+}
+
+static bool
+write_page (FILE *f, ogg_page *p)
+{
+ return write_data (p->header, 1, p->header_len, f) &&
+ write_data (p->body, 1, p->body_len, f);
+}
+
+vcedit_error
+vcedit_write (vcedit_state *s)
+{
+ ogg_stream_state stream;
+ ogg_packet packet;
+ ogg_page page_out, page_in;