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;