|  |  | @@ -268,6 +268,23 @@ static int mov_metadata_loci(MOVContext *c, AVIOContext *pb, unsigned len) | 
		
	
		
			
			|  |  |  | return av_dict_set(&c->fc->metadata, key, buf, 0); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static int mov_metadata_hmmt(MOVContext *c, AVIOContext *pb, unsigned len) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | int i, n_hmmt; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (len < 2) | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | if (c->ignore_chapters) | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | n_hmmt = avio_rb32(pb); | 
		
	
		
			
			|  |  |  | for (i = 0; i < n_hmmt && !pb->eof_reached; i++) { | 
		
	
		
			
			|  |  |  | int moment_time = avio_rb32(pb); | 
		
	
		
			
			|  |  |  | avpriv_new_chapter(c->fc, i, av_make_q(1, 1000), moment_time, AV_NOPTS_VALUE, NULL); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | char tmp_key[5]; | 
		
	
	
		
			
				|  |  | @@ -303,6 +320,8 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) | 
		
	
		
			
			|  |  |  | parse = mov_metadata_gnre; break; | 
		
	
		
			
			|  |  |  | case MKTAG( 'h','d','v','d'): key = "hd_video"; | 
		
	
		
			
			|  |  |  | parse = mov_metadata_int8_no_padding; break; | 
		
	
		
			
			|  |  |  | case MKTAG( 'H','M','M','T'): | 
		
	
		
			
			|  |  |  | return mov_metadata_hmmt(c, pb, atom.size); | 
		
	
		
			
			|  |  |  | case MKTAG( 'k','e','y','w'): key = "keywords";  break; | 
		
	
		
			
			|  |  |  | case MKTAG( 'l','d','e','s'): key = "synopsis";  break; | 
		
	
		
			
			|  |  |  | case MKTAG( 'l','o','c','i'): | 
		
	
	
		
			
				|  |  | 
 |