Question

I'm doing an app that requires Spotify in Android. But when i run libSpotify "sp_session_create" i get a SIGSEGV. The version of libSpotify that i'm using is v12.1.51 BETA - For android ARM

sp_error initialise(const char * asKey,
                    const char * asFolder,
                    const char * asUserAgent,
                    bool isPlaylistCompressed,
                    bool isMetadataOnPlaylist,
                    bool isPlaylistInitialUnload)
{
    sp_session_callbacks asCallbacks;
    memset(&asCallbacks, 0, sizeof(asCallbacks));

    asCallbacks.logged_in                    = Callback::onSessionLogin;
    asCallbacks.log_message                  = Callback::onSessionLog;

    sp_session_config asConfiguration;
    memset(&asConfiguration, 0, sizeof(asConfiguration));

    std::string asDirectory = asFolder;
    auto asDirectoryCache   = asDirectory + "/cache";
    auto asDirectorySetting = asDirectory + "/setting";

    const auto asApplicationKey = "Key goes here...";

    asConfiguration.api_version                      = SPOTIFY_API_VERSION;
    asConfiguration.application_key                  = asApplicationKey;
    asConfiguration.application_key_size             = sizeof(asApplicationKey);
    asConfiguration.cache_location                   = asDirectoryCache.c_str();
    asConfiguration.settings_location                = asDirectorySetting.c_str();
    asConfiguration.user_agent                       = asUserAgent;
    asConfiguration.compress_playlists               = isPlaylistCompressed;
    asConfiguration.dont_save_metadata_for_playlists = isMetadataOnPlaylist;
    asConfiguration.initially_unload_playlists       = isPlaylistInitialUnload;
    asConfiguration.userdata                         = this;
    asConfiguration.callbacks                        = &asCallbacks;

    sp_error asError = sp_session_create(&asConfiguration, &_asSession);

    __android_log_print(ANDROID_LOG_VERBOSE, LIBRARY_NAME, "PASSED");

    return asError;
}
Was it helpful?

Solution

The crash was due to cache folder.

OTHER TIPS

Edit: Spotify's new Android SDK is released! You should strongly consider moving your project to the new SDK, since libspotify is now deprecated for that platform.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top