Beispiel #1
0
int mxf_find_set_by_key(MXFHeaderMetadata* headerMetadata, const mxfKey* key, MXFList** setList)
{
    MXFListIterator iter;
    MXFList* newList = NULL;

    CHK_ORET(mxf_create_list(&newList, NULL)); /* free func == NULL because newList doesn't own the data */
    
    mxf_initialise_list_iter(&iter, &headerMetadata->sets);
    while (mxf_next_list_iter_element(&iter))
    {
        MXFMetadataSet* set = (MXFMetadataSet*)mxf_get_iter_element(&iter);
        if (mxf_equals_key(key, &set->key))
        {
            CHK_OFAIL(mxf_append_list_element(newList, (void*)set));
        }
    }

    *setList = newList;    
    return 1;
    
fail:
    mxf_free_list(&newList);
    return 0;
}
Beispiel #2
0
int mxf_create_file_partitions(MXFFilePartitions **partitions)
{
    return mxf_create_list(partitions, free_partition_in_list);
}