diff --git a/NEWS b/NEWS index f9c8ac9b02300847509ea70be157789304f6ef33..ec7d238f1d0831458676411fcec5d85dd6481365 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ * Added support for SMB file sharing (#8879) * Added support for music albums with more than 1 disk (#14650) * Re-wrote Apple Watch extension for watchOS 2 +* Media stored in folders on remote servers is now played as a list * Reworked networking UI * Added support for system-wide search "CoreSpotlight" * Added improved UI support for Right-to-Left languages diff --git a/Sources/VLCPlaybackController.m b/Sources/VLCPlaybackController.m index 5c624c8ef2e74df5f8bead5ffc387a43b7b35b13..3781dd514a8cd78e5b07331c2c125be60ca7eb47 100644 --- a/Sources/VLCPlaybackController.m +++ b/Sources/VLCPlaybackController.m @@ -567,12 +567,19 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl [_mediaPlayer performSelector:@selector(setTextRendererFontSize:) withObject:[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingSubtitlesFontSize]]; [_mediaPlayer performSelector:@selector(setTextRendererFontColor:) withObject:[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingSubtitlesFontColor]]; } else if (currentState == VLCMediaPlayerStateError) { + APLog(@"Playback failed"); _playbackFailed = YES; [self stopPlayback]; } else if ((currentState == VLCMediaPlayerStateEnded || currentState == VLCMediaPlayerStateStopped) && _listPlayer.repeatMode == VLCDoNotRepeat) { - if ([_listPlayer.mediaList indexOfMedia:_mediaPlayer.media] == _listPlayer.mediaList.count - 1) { + [_listPlayer.mediaList lock]; + NSUInteger listCount = _listPlayer.mediaList.count; + if ([_listPlayer.mediaList indexOfMedia:_mediaPlayer.media] == listCount - 1) { + [_listPlayer.mediaList unlock]; [self stopPlayback]; return; + } else if (listCount > 1) { + [_listPlayer.mediaList unlock]; + [_listPlayer next]; } }