Exemplo n.º 1
0
int krad_container_raw_add_data (krad_container_t *container,
                                 uint8_t *buffer,
                                 int len) {
  if ((container->type == NATIVEFLAC) || (container->type == Y4MFILE)) {
    kr_io2_pack (container->rawio, buffer, len);
    kr_io2_sync (container->rawio);
    return 0;
  } else {
    return -1;
  }
}
Exemplo n.º 2
0
static int kr_ogg_io_push_internal (kr_ogg_io *ogg_io) {

  ssize_t ret;
  ssize_t sent;
  ssize_t bytes;
  uint8_t *buffer;

  if (ogg_io->stream != NULL) {

    sent = 0;
    buffer = ogg_io->io->buffer;
    bytes = ogg_io->io->len;

    while (sent != bytes) {
      kr_stream_i_am_a_blocking_subscripter (ogg_io->stream);
      ret = kr_stream_send (ogg_io->stream, buffer + sent, bytes - sent);
      if (ret > 0) {
        sent += ret;
      }
      if (sent != bytes) {
        //printf ("\nSent to few bytes: ret %zd - sent %zd - total %zd\n",
        //        ret, sent, bytes);
        //fflush (stdout);
      }
      if (ogg_io->stream->connected == 0) {
        printke ("Failed!: %s\n", ogg_io->stream->error_str);
        return -1;
      }
    }
    if (ogg_io->stream->connected == 1) {
      kr_io2_restart (ogg_io->io);
    }
  } else {
    kr_io2_sync (ogg_io->io);
  }
  return 0;
}