How to use the @xviz/io.XVIZFormatWriter function in @xviz/io

To help you get started, we’ve selected a few @xviz/io examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uber / xviz / modules / ros / src / cmds / convert.js View on Github external
// TODO: fix that topics is baked into the 'bag'
  const options = {};
  const provider = await createProvider({root: bagPath, options});
  if (!provider) {
    throw new Error('Failed to create ROSBAGProvider');
  }

  // This abstracts the details of the filenames expected by our server
  const sink = new FileSink(outputDir);

  const iterator = provider.getMessageIterator(start, end);
  if (!iterator.valid()) {
    throw new Error('Error creating and iterator');
  }

  const writer = new XVIZFormatWriter(sink, {format: XVIZFormat.BINARY});

  const md = provider.xvizMetadata();
  setMetadataTimes(md.message().data, start, end);
  writer.writeMetadata(md);

  // If we get interrupted make sure the index is written out
  signalWriteIndexOnInterrupt(writer);

  let frameSequence = 0;
  while (iterator.valid()) {
    const data = await provider.xvizMessage(iterator);
    if (!data) {
      throw new Error(`No data for frame ${frameSequence}`);
    }

    process.stdout.write(`Writing frame ${frameSequence}\r`);
github uber / xviz / modules / server / src / middlewares / xviz-websocket-sender.js View on Github external
_syncFormatWithWriter(format) {
    // Cover the case where we have a format and no writer or when the
    // format does not match.
    if (format && (!this.writer || this.writerFormat !== format)) {
      this.writer = new XVIZFormatWriter(this.sink, {format});
      this.writerFormat = format;
    }
  }
github uber / xviz / modules / ros / src / cmds / convert.js View on Github external
root: bag
  });

  if (!provider) {
    throw new Error('Failed to create ROSBagProvider');
  }

  // This abstracts the details of the filenames expected by our server
  const sink = new FileSink(directory);

  const iterator = provider.getMessageIterator({startTime: start, endTime: end});
  if (!iterator.valid()) {
    throw new Error('Error creating and iterator');
  }

  const writer = new XVIZFormatWriter(sink, {format});

  const md = provider.xvizMetadata();

  // Augment metadata with timing information
  // if provided
  setMetadataTimes(md.message().data, start, end);
  writer.writeMetadata(md);

  // If we get interrupted make sure the index is written out
  signalWriteIndexOnInterrupt(writer);

  // Process data
  let frameSequence = 0;
  while (iterator.valid()) {
    const data = await provider.xvizMessage(iterator);
    if (data) {