MediaScanner::MediaScanner() #ifdef VENDOR_EDIT //[email protected] add for ID3 support of different countries 2013/08/26 : mLocale(NULL), mAudioFileNameRegion(NULL), mSkipList(NULL), mSkipIndex(NULL) { #else /* VENDOR_EDIT */ : mLocale(NULL), mSkipList(NULL), mSkipIndex(NULL) { #endif /* VENDOR_EDIT */ loadSkipList(); } MediaScanner::~MediaScanner() { setLocale(NULL); #ifdef VENDOR_EDIT //[email protected] add for ID3 support of different countries 2013/08/26 setAudioFileNameRegion(NULL); #endif /* VENDOR_EDIT */ free(mSkipList); free(mSkipIndex); } void MediaScanner::setLocale(const char *locale) { if (mLocale) { free(mLocale); mLocale = NULL; } if (locale) { mLocale = strdup(locale); } } #ifdef VENDOR_EDIT //[email protected] add for ID3 support of different countries 2013/08/26 void MediaScanner::setAudioFileNameRegion(const char *audioFileNameRegion) { if (mAudioFileNameRegion) { free(mAudioFileNameRegion); mAudioFileNameRegion = NULL; } if (audioFileNameRegion) { mAudioFileNameRegion = strdup(audioFileNameRegion); } } #endif /* VENDOR_EDIT */ const char *MediaScanner::locale() const { return mLocale; } #ifdef VENDOR_EDIT //[email protected] add for ID3 support of different countries 2013/08/26 const char *MediaScanner::getAudioFileNameRegion() const { return mAudioFileNameRegion; } #endif /* VENDOR_EDIT */ void MediaScanner::loadSkipList() { mSkipList = (char *)malloc(PROPERTY_VALUE_MAX * sizeof(char)); if (mSkipList) { property_get("testing.mediascanner.skiplist", mSkipList, ""); } if (!mSkipList || (strlen(mSkipList) == 0)) { free(mSkipList); mSkipList = NULL; return; } mSkipIndex = (int *)malloc(PROPERTY_VALUE_MAX * sizeof(int)); if (mSkipIndex) { // dup it because strtok will modify the string char *skipList = strdup(mSkipList); if (skipList) { char * path = strtok(skipList, ","); int i = 0; while (path) { mSkipIndex[i++] = strlen(path); path = strtok(NULL, ","); } mSkipIndex[i] = -1; free(skipList); } } }
MediaScanner::MediaScanner() : mLocale(NULL), mSkipList(NULL), mSkipIndex(NULL) { loadSkipList(); }