avconv: fix disabling auto mappings with -map_metadata
CC: libav-stable@libav.org
This commit is contained in:
		
							parent
							
								
									a25d912dca
								
							
						
					
					
						commit
						a119c64e38
					
				
							
								
								
									
										10
									
								
								avconv_opt.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								avconv_opt.c
									
									
									
									
									
								
							| @ -326,6 +326,10 @@ static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFor | |||||||
|     if (type_in == 'c' || type_out == 'c') |     if (type_in == 'c' || type_out == 'c') | ||||||
|         o->metadata_chapters_manual = 1; |         o->metadata_chapters_manual = 1; | ||||||
| 
 | 
 | ||||||
|  |     /* ic is NULL when just disabling automatic mappings */ | ||||||
|  |     if (!ic) | ||||||
|  |         return 0; | ||||||
|  | 
 | ||||||
| #define METADATA_CHECK_INDEX(index, nb_elems, desc)\ | #define METADATA_CHECK_INDEX(index, nb_elems, desc)\ | ||||||
|     if ((index) < 0 || (index) >= (nb_elems)) {\ |     if ((index) < 0 || (index) >= (nb_elems)) {\ | ||||||
|         av_log(NULL, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\ |         av_log(NULL, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\ | ||||||
| @ -1410,13 +1414,13 @@ loop_end: | |||||||
|         char *p; |         char *p; | ||||||
|         int in_file_index = strtol(o->metadata_map[i].u.str, &p, 0); |         int in_file_index = strtol(o->metadata_map[i].u.str, &p, 0); | ||||||
| 
 | 
 | ||||||
|         if (in_file_index < 0) |  | ||||||
|             continue; |  | ||||||
|         if (in_file_index >= nb_input_files) { |         if (in_file_index >= nb_input_files) { | ||||||
|             av_log(NULL, AV_LOG_FATAL, "Invalid input file index %d while processing metadata maps\n", in_file_index); |             av_log(NULL, AV_LOG_FATAL, "Invalid input file index %d while processing metadata maps\n", in_file_index); | ||||||
|             exit(1); |             exit(1); | ||||||
|         } |         } | ||||||
|         copy_metadata(o->metadata_map[i].specifier, *p ? p + 1 : p, oc, input_files[in_file_index]->ctx, o); |         copy_metadata(o->metadata_map[i].specifier, *p ? p + 1 : p, oc, | ||||||
|  |                       in_file_index >= 0 ? | ||||||
|  |                       input_files[in_file_index]->ctx : NULL, o); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /* copy chapters */ |     /* copy chapters */ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user