[vlc-devel] [RFC PATCH 0/7] V3: Fix folder opening regressions

Thomas Guillem thomas at gllm.fr
Sat Mar 21 15:43:55 CET 2015


On Fri, Mar 20, 2015, at 17:38, Thomas Guillem wrote:
> Forget the last sets of patches.
> 
> This set of patches do:
> 
>  - network accesses create items with ITEM_TYPE_NET. It avoids to
>  recursively
>    parse the sub items since the preparser won't parse ITEM_TYPE_NET
>    without a
>    specific option.
> 
>  - add i_browsable in input_item: Allow to know if an item (even a NET
>  one) is
>    browsable or not.

An other way to do it without adding i_browsable in input_item:
Remove ITEM_TYPE_NET from types, and add a bool b_net in input_item.
This boolean will be set in GuessType in src/input/item.c or by accesses
when they create a new item.
That way we can have a valid type (directory, archive, file, playlist)
for net items.

> 
>  - Move recursive parsing of local directory into the preparser. If fixes
>    playlist entry duplication, and the abort of long directory open.
> 
> It's a RFC because I don't know if the usage of i_preparsing_depth is
> very
> elegant, what do you think ?
> 
> See #11921: cannot abort long directory open 
> See #13850: opening folder broken 
> See #13872: Playlist entry duplication 
> 
> Thomas Guillem.
> 
> Thomas Guillem (7):
>   input: add input_item_browsable_e to input_item
>   dsm: change item i_browsable
>   upnp: change item i_type and i_browsable
>   sftp: change item i_type and i_browsable
>   libvlc: add libvlc_media_is_browsable
>   Qt: update icon if item is browsable
>   input: handle recursive parsing in preparser
> 
>  NEWS                                               |  1 +
>  include/vlc/libvlc_media.h                         | 13 ++++++
>  include/vlc_input_item.h                           | 19 ++++++++
>  lib/libvlc.sym                                     |  1 +
>  lib/media.c                                        | 18 ++++++++
>  modules/access/directory.c                         | 24 +----------
>  modules/access/dsm/access.c                        | 14 +++---
>  modules/access/dsm/sd.c                            |  5 ++-
>  modules/access/fs.c                                | 14 ------
>  modules/access/sftp.c                              |  9 ++--
>  .../gui/qt4/components/playlist/playlist_model.cpp |  5 ++-
>  modules/services_discovery/upnp.cpp                | 10 +++--
>  src/input/input.c                                  | 29 ++++++++++++-
>  src/input/item.c                                   | 50
>  ++++++++++++++++++++--
>  src/input/item.h                                   |  1 +
>  src/libvlc-module.c                                | 15 +++++++
>  src/libvlccore.sym                                 |  1 +
>  17 files changed, 173 insertions(+), 56 deletions(-)
> 
> -- 
> 2.1.3
> 



More information about the vlc-devel mailing list