Mercurial > libavformat.hg
comparison metadata.c @ 4353:e4a1b568b313 libavformat
modify the way to pass parameters to av_metadata_set()
This improves code readability and this avoid warnings about discarding
qualifiers from pointer target type.
author | aurel |
---|---|
date | Mon, 02 Feb 2009 21:45:55 +0000 |
parents | 2fc899894f5e |
children | e62a61d3e591 |
comparison
equal
deleted
inserted
replaced
4352:817bef131f7f | 4353:e4a1b568b313 |
---|---|
42 return &m->elems[i]; | 42 return &m->elems[i]; |
43 } | 43 } |
44 return NULL; | 44 return NULL; |
45 } | 45 } |
46 | 46 |
47 int av_metadata_set(AVMetadata **pm, AVMetadataTag elem) | 47 int av_metadata_set(AVMetadata **pm, const char *key, const char *value) |
48 { | 48 { |
49 AVMetadata *m= *pm; | 49 AVMetadata *m= *pm; |
50 AVMetadataTag *tag= av_metadata_get(m, elem.key, NULL, AV_METADATA_MATCH_CASE); | 50 AVMetadataTag *tag= av_metadata_get(m, key, NULL, AV_METADATA_MATCH_CASE); |
51 | 51 |
52 if(!m) | 52 if(!m) |
53 m=*pm= av_mallocz(sizeof(*m)); | 53 m=*pm= av_mallocz(sizeof(*m)); |
54 | 54 |
55 if(tag){ | 55 if(tag){ |
61 if(tmp){ | 61 if(tmp){ |
62 m->elems= tmp; | 62 m->elems= tmp; |
63 }else | 63 }else |
64 return AVERROR(ENOMEM); | 64 return AVERROR(ENOMEM); |
65 } | 65 } |
66 if(elem.value){ | 66 if(value){ |
67 elem.key = av_strdup(elem.key ); | 67 m->elems[m->count].key = av_strdup(key ); |
68 elem.value= av_strdup(elem.value); | 68 m->elems[m->count].value= av_strdup(value); |
69 m->elems[m->count++]= elem; | 69 m->count++; |
70 } | 70 } |
71 if(!m->count) | 71 if(!m->count) |
72 av_freep(pm); | 72 av_freep(pm); |
73 | 73 |
74 return 0; | 74 return 0; |