示例#1
0
int
oggz_comment_add_byname (OGGZ * oggz, long serialno,
                         const char * name, const char * value)
{
    oggz_stream_t * stream;
    OggzComment * new_comment;

    if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ;

    stream = oggz_get_stream (oggz, serialno);
    if (stream == NULL) stream = oggz_add_stream (oggz, serialno);

    if (oggz->flags & OGGZ_WRITE) {
        if (OGGZ_CONFIG_WRITE) {

            if (!oggz_comment_validate_byname (name, value))
                return OGGZ_ERR_COMMENT_INVALID;

            new_comment = oggz_comment_new (name, value);

            _oggz_comment_add (stream, new_comment);

            return 0;
        } else {
            return OGGZ_ERR_DISABLED;
        }
    } else {
        return OGGZ_ERR_INVALID;
    }
}
int
oggz_comment_add (OGGZ * oggz, long serialno, const OggzComment * comment)
{
  oggz_stream_t * stream;
  OggzComment * new_comment;

  if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ;

  stream = oggz_get_stream (oggz, serialno);
  if (stream == NULL)
    stream = oggz_add_stream (oggz, serialno);
  if (stream == NULL)
    return OGGZ_ERR_OUT_OF_MEMORY;

  if (oggz->flags & OGGZ_WRITE) {
    if (OGGZ_CONFIG_WRITE) {

      if (!oggz_comment_validate_byname (comment->name))
        return OGGZ_ERR_COMMENT_INVALID;

      if (_oggz_comment_add_byname (stream, comment->name, comment->value) == NULL)
        return OGGZ_ERR_OUT_OF_MEMORY;

      return 0;
    } else {
      return OGGZ_ERR_DISABLED;
    }
  } else {
    return OGGZ_ERR_INVALID;
  }
}
示例#3
0
int
oggz_comment_set_vendor (OGGZ * oggz, long serialno, const char * vendor_string)
{
    oggz_stream_t * stream;
    if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ;

    stream = oggz_get_stream (oggz, serialno);
    if (stream == NULL) stream = oggz_add_stream (oggz, serialno);

    if (oggz->flags & OGGZ_WRITE) {
        if (OGGZ_CONFIG_WRITE) {

            return _oggz_comment_set_vendor (oggz, serialno, vendor_string);

        } else {
            return OGGZ_ERR_DISABLED;
        }
    } else {
        return OGGZ_ERR_INVALID;
    }
}