/*---------------------------------------------------------------------- | AP4_Stream::Write +---------------------------------------------------------------------*/ AP4_Result AP4_ByteStream::Write(const void* buffer, AP4_Size bytes_to_write) { // shortcut if (bytes_to_write == 0) return AP4_SUCCESS; // write until failure AP4_Size bytes_written; while (bytes_to_write) { AP4_Result result = WritePartial(buffer, bytes_to_write, bytes_written); if (AP4_FAILED(result)) return result; if (bytes_written == 0) return AP4_ERROR_INTERNAL; AP4_ASSERT(bytes_written <= bytes_to_write); bytes_to_write -= bytes_written; buffer = (const void*)(((const AP4_Byte*)buffer)+bytes_written); } return AP4_SUCCESS; }
void Request::Write() { CHECK(fd_); WritePartial(); Close(); }