diff --git a/modules/services_discovery/mtp.c b/modules/services_discovery/mtp.c index 31e54f5049a6002b570c65d0e0a7e7325bce85b4..90d2bdfd88216d34a934ec5935782d356aad9b38 100644 --- a/modules/services_discovery/mtp.c +++ b/modules/services_discovery/mtp.c @@ -174,6 +174,19 @@ static void *Run( void *data ) return NULL; } +static char *GetDeviceName( LIBMTP_mtpdevice_t *p_device ) +{ + char *name = LIBMTP_Get_Friendlyname( p_device ); + if ( !EMPTY_STR( name ) ) + return name; + + name = LIBMTP_Get_Modelname( p_device ); + if ( !EMPTY_STR( name ) ) + return name; + + return strdup( "MTP Device" ); +} + /***************************************************************************** * Everything else *****************************************************************************/ @@ -187,10 +200,9 @@ static int AddDevice( services_discovery_t *p_sd, if( ( p_device = LIBMTP_Open_Raw_Device( p_raw_device ) ) != NULL ) { - if( !( psz_name = LIBMTP_Get_Friendlyname( p_device ) ) ) - if( !( psz_name = LIBMTP_Get_Modelname( p_device ) ) ) - if( !( psz_name = strdup( N_( "MTP Device" ) ) ) ) - return VLC_ENOMEM; + psz_name = GetDeviceName( p_device ); + if ( !psz_name ) + return VLC_ENOMEM; msg_Info( p_sd, "Found device: %s", psz_name ); p_sys->i_bus = p_raw_device->bus_location; p_sys->i_dev = p_raw_device->devnum;