浏览代码

VLC media server browser: fix SMB tree navigation

Note that playback of media with spaces in their patch is not yet supported due to an underlying issue in VLCKit
Felix Paul Kühne 9 年之前
父节点
当前提交
3c3f164c0a
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      Sources/LocalNetworkConnectivity/ServerBrowsing/VLCNetworkServerBrowserVLCMedia.m

+ 7 - 5
Sources/LocalNetworkConnectivity/ServerBrowsing/VLCNetworkServerBrowserVLCMedia.m

@@ -50,7 +50,11 @@
     NSUInteger count = rootItems.count;
     for (NSUInteger i = 0; i < count; i++) {
         VLCMedia *media = [rootItems mediaAtIndex:i];
-        [self.mutableItems addObject:[[VLCNetworkServerBrowserItemVLCMedia alloc] initWithMedia:media options:self.mediaOptions]];
+        VLCMedia *newMedia = [VLCMedia mediaWithURL:media.url];
+        [self.mutableItems addObject:[[VLCNetworkServerBrowserItemVLCMedia alloc] initWithMedia:newMedia options:self.mediaOptions]];
+        newMedia.delegate = self;
+        [newMedia addOptions:self.mediaOptions];
+        [newMedia parseWithOptions:VLCMediaParseNetwork];
     }
     [rootItems unlock];
     [self.delegate networkServerBrowserDidUpdate:self];
@@ -79,13 +83,13 @@
 - (void)mediaList:(VLCMediaList *)aMediaList mediaAdded:(VLCMedia *)media atIndex:(NSInteger)index
 {
     APLog(@"%s: %@", __PRETTY_FUNCTION__, media);
-    [media parseWithOptions:VLCMediaParseNetwork];
     [media addOptions:self.mediaOptions];
     [self.mutableItems addObject:[[VLCNetworkServerBrowserItemVLCMedia alloc] initWithMedia:media options:self.mediaOptions]];
     [self.delegate networkServerBrowserDidUpdate:self];
 }
 
-- (void)mediaList:(VLCMediaList *)aMediaList mediaRemovedAtIndex:(NSInteger)index {
+- (void)mediaList:(VLCMediaList *)aMediaList mediaRemovedAtIndex:(NSInteger)index
+{
     APLog(@"%s", __PRETTY_FUNCTION__);
     [self.mutableItems removeObjectAtIndex:index];
     [self.delegate networkServerBrowserDidUpdate:self];
@@ -95,13 +99,11 @@
 
 - (void)mediaDidFinishParsing:(VLCMedia *)aMedia
 {
-    APLog(@"%s", __PRETTY_FUNCTION__);
     [self.delegate networkServerBrowserDidUpdate:self];
 }
 
 - (void)mediaMetaDataDidChange:(VLCMedia *)aMedia
 {
-    APLog(@"%s", __PRETTY_FUNCTION__);
     [self.delegate networkServerBrowserDidUpdate:self];
 }