func: static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) char tmp_key [ 5 ] ; char str [ 1024 ] , key2 [ 16 ] , language [ 4 ] = { 0 } ; const char * key = NULL ; int ( * parse ) ( MOVContext * , AVIOContext * , unsigned , const char * ) = NULL key = "title"; key = "artist"; key = "album_artist"; key = "composer"; key = "copyright"; key = "grouping"; key = "lyrics"; key = "comment"; key = "album"; key = "date"; key = "genre"; key = "genre"; parse = mov_metadata_gnre; key = "encoder"; key = "encoder"; key = "description"; key = "synopsis"; key = "show"; key = "episode_id"; key = "network"; key = "track"; parse = mov_metadata_track_or_disc_number; key = "disc"; parse = mov_metadata_track_or_disc_number; key = "episode_sort"; parse = mov_metadata_int8_bypass_padding; key = "season_number"; parse = mov_metadata_int8_bypass_padding; key = "media_type"; parse = mov_metadata_int8_no_padding; key = "hd_video"; parse = mov_metadata_int8_no_padding; key = "gapless_playback"; parse = mov_metadata_int8_no_padding; if ( c -> itunes_metadata && atom . size > 8 )  int tag = avio_rl32 ( pb ) ; if ( tag == MKTAG ( 'd' , 'a' , 't' , 'a' ) )  atom . size -= 16; if ( atom . size > 4 && key && ! c -> itunes_metadata )  atom . size -= 4; if ( ! key )  snprintf ( tmp_key , 5 , "%.4s" , ( char * ) & atom . type ); key = tmp_key; if ( ! key )  if ( atom . size < 0 )  if ( parse )  if ( * language && strcmp ( language , "und" ) )  