//------------------------------------------------------------------ void write_webm_seek_element(EbmlGlobal *global, unsigned int id, off_t pos) { uint64_t offset = pos - global->position_reference; off_t start; Ebml_StartSubElement(global, &start, Seek); Ebml_SerializeBinary(global, SeekID, id); Ebml_SerializeUnsigned64(global, SeekPosition, offset); Ebml_EndSubElement(global, &start); }
void write_webm_seek_element(struct EbmlGlobal *ebml, unsigned int id, off_t pos) { uint64_t offset = pos - ebml->position_reference; EbmlLoc start; Ebml_StartSubElement(ebml, &start, Seek); Ebml_SerializeBinary(ebml, SeekID, id); Ebml_SerializeUnsigned64(ebml, SeekPosition, offset); Ebml_EndSubElement(ebml, &start); }
int Ebml_WriteWebMSeekElement(EbmlGlobal *ebml, uint32_t id, uint64_t pos) { uint64_t offset = pos - ebml->position_reference; uint64_t start; int rc = ebml_StartSubElement(ebml, &start, Seek); if (RT_SUCCESS(rc)) rc = Ebml_SerializeBinary(ebml, SeekID, id); if (RT_SUCCESS(rc)) rc = Ebml_SerializeUnsigned64(ebml, SeekPosition, offset); if (RT_SUCCESS(rc)) rc = ebml_EndSubElement(ebml, start); return rc; }