Библиотека iPod, возвращающая актив без дорожек

Я использую API MediaItem для сбора ресурсов из библиотеки iPod. Есть странная ошибка, с которой я столкнулся после того, как приложение какое-то время работало. Я запущу следующий код, и у AVURLAsset не будет связанных дорожек.

NSURL* url = [iPodSong valueForProperty:MPMediaItemPropertyAssetURL];
mAssetToLoad = [[AVURLAsset alloc] initWithURL:url options:nil];

bool protectedCon = mAssetToLoad.hasProtectedContent;
bool exportable = true;//mAssetToLoad.exportable;   //4.3 only

if(!protectedCon && exportable) {

    AVAssetTrack* songTrack = [mAssetToLoad.tracks objectAtIndex:0];
    //CRASH tracks is of size 0

Ресурс, в котором возникает проблема, кажется, меняется, и если я перезапускаю приложение и снова загружаю тот же актив, он загружается правильно.

Кто-нибудь видел это раньше? Любая идея, что я могу делать неправильно?


person TurqMage    schedule 23.08.2011    source источник


Ответы (1)


Я считаю, что проблема в том, что CMSampleBufferRef не выпускался. Слишком много элементов было открыто из библиотеки iPod одновременно. То же самое происходило и на других устройствах, просто на устройствах с большим объемом оперативной памяти это занимало больше времени.

person TurqMage    schedule 01.09.2011