Exemplo n.º 1
0
void theora_comment_add_tag(theora_comment *tc, char *tag, char *value){
  char *comment=_ogg_malloc(strlen(tag)+strlen(value)+2); /* +2 for = and \0 */
  strcpy(comment, tag);
  strcat(comment, "=");
  strcat(comment, value);
  theora_comment_add(tc, comment);
  _ogg_free(comment);
}
Exemplo n.º 2
0
static int
test_comments ()
{
    theora_comment tc;
    int n;
    char * value;

    INFO ("+ Initializing theora_comment");
    theora_comment_init (&tc);

    INFO ("+ Adding ARTIST1");
    theora_comment_add (&tc, "ARTIST=" ARTIST1);

    INFO ("+ Adding LICENSE by tag");
    theora_comment_add_tag (&tc, "LICENSE", LICENSE);

    INFO ("+ Adding ARTIST2 by tag");
    theora_comment_add_tag (&tc, "ARTIST", ARTIST2);

    INFO ("+ Querying value of LICENSE");
    value = theora_comment_query (&tc, "LICENSE", 0);
    printf("foo %s\n", value);

    if (strcmp (value, LICENSE))
        FAIL ("Incorrect value for LICENSE");

    INFO ("+ Querying count of ARTIST comments");
    n = theora_comment_query_count (&tc, "ARTIST");

    if (n != 2)
        FAIL ("Incorrect count of ARTIST comments");

    INFO ("+ Querying value of ARTIST index 0");
    value = theora_comment_query (&tc, "ARTIST", 0);
    if (strcmp (value, ARTIST1))
        FAIL ("Incorrect value for ARTIST index 0");

    INFO ("+ Querying value of ARTIST index 1");
    value = theora_comment_query (&tc, "ARTIST", 1);
    if (strcmp (value, ARTIST2))
        FAIL ("Incorrect value for ARTIST index 1");

    INFO ("+ Querying value of ARTIST index 2 (out of bounds)");
    value = theora_comment_query (&tc, "ARTIST", 2);
    if (value != NULL)
        FAIL ("Non-NULL value for ARTIST index 2 (out of bounds)");

    INFO ("+ Querying value of UNDEF index 7 (tag not defined)");
    value = theora_comment_query (&tc, "UNDEF", 7);
    if (value != NULL)
        FAIL ("Non-NULL value for UNDEF index 7 (tag not defined)");

    INFO ("+ Clearing theora_comment");
    theora_comment_clear (&tc);

    return 0;
}