|  | @@ -496,6 +496,8 @@ static int mov_read_hdlr(MOVContext *c, AVIOContext *pb, MOVAtom atom) | 
														
													
														
															
																|  |  | AVStream *st; |  |  | AVStream *st; | 
														
													
														
															
																|  |  | uint32_t type; |  |  | uint32_t type; | 
														
													
														
															
																|  |  | uint32_t av_unused ctype; |  |  | uint32_t av_unused ctype; | 
														
													
														
															
																|  |  |  |  |  | int title_size; | 
														
													
														
															
																|  |  |  |  |  | char *title_str; | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | if (c->fc->nb_streams < 1) // meta before first trak |  |  | if (c->fc->nb_streams < 1) // meta before first trak | 
														
													
														
															
																|  |  | return 0; |  |  | return 0; | 
														
													
												
													
														
															
																|  | @@ -525,6 +527,17 @@ static int mov_read_hdlr(MOVContext *c, AVIOContext *pb, MOVAtom atom) | 
														
													
														
															
																|  |  | avio_rb32(pb); /* component flags */ |  |  | avio_rb32(pb); /* component flags */ | 
														
													
														
															
																|  |  | avio_rb32(pb); /* component flags mask */ |  |  | avio_rb32(pb); /* component flags mask */ | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  |  |  |  | title_size = atom.size - 24; | 
														
													
														
															
																|  |  |  |  |  | if (title_size > 0) { | 
														
													
														
															
																|  |  |  |  |  | title_str = av_malloc(title_size + 1); /* Add null terminator */ | 
														
													
														
															
																|  |  |  |  |  | if (!title_str) | 
														
													
														
															
																|  |  |  |  |  | return AVERROR(ENOMEM); | 
														
													
														
															
																|  |  |  |  |  | avio_read(pb, title_str, title_size); | 
														
													
														
															
																|  |  |  |  |  | title_str[title_size] = 0; | 
														
													
														
															
																|  |  |  |  |  | av_dict_set(&st->metadata, "handler_name", title_str, 0); | 
														
													
														
															
																|  |  |  |  |  | av_freep(&title_str); | 
														
													
														
															
																|  |  |  |  |  | } | 
														
													
														
															
																|  |  |  |  |  | 
 | 
														
													
														
															
																|  |  | return 0; |  |  | return 0; | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
												
													
														
															
																|  | 
 |