void MediaIcon::_findIconFor(const dormant_node_info &nodeInfo) { D_INTERNAL(("MediaIcon::_findIconFor(dormant_node_info)\n")); dormant_flavor_info flavorInfo; BMediaRoster *roster = BMediaRoster::CurrentRoster(); status_t error = roster->GetDormantFlavorInfoFor(nodeInfo, &flavorInfo); if (error == B_OK) { m_nodeKind = flavorInfo.kinds; bool audioIn = false, audioOut = false; bool videoIn = false, videoOut = false; _getMediaTypesFor(flavorInfo, &audioIn, &audioOut, &videoIn, &videoOut); _findDefaultIconFor(audioIn, audioOut, videoIn, videoOut); } else { // use generic icon in case we couldn't get any info if (m_size == B_LARGE_ICON) SetBits(M_GENERIC_ICON.large, 1024, 0, B_CMAP8); else if (m_size == B_MINI_ICON) SetBits(M_GENERIC_ICON.small, 256, 0, B_CMAP8); } }