[vlc-devel] [PATCH 0/9] Input Items duration cleaning
Steve Lhomme
robux4 at ycbcr.xyz
Fri Jul 6 15:01:26 CEST 2018
Right now -1 and VLC_TICK_INVALID are used in the code. -1 seems to refer to
items with no duration set at all (not particularly 0) and some are set
VLC_TICK_INVALID which is actually 0 which is proper duration, at least it's
not unknown/unset.
The first few patches just creates some defines and replace the values in
the code with the appropriate define.
What used to be VLC_TICK_INVALID is then set to 0 explicitly and things become
a little clearer, for instance a directory has a duration of 0.
It's always to call input_item_GetDuration() an an item with an Unknown
duration. In that case we should return 0 rather than -1 (or whatever value the
define uses) (patch #7).
In m3u a loop on items started with an init of Unknown and then in the loop
resets to Zero, but Unknown seems to be the right value here (patch #8).
Items created by input_item_New() are init with a duration of 0, but it seems
that Unknown is more appropriate (Patch #9).
There is the case of "vlc://nop" in parts of the code it can be an directory
(duration Zero for now), a node (duration Unknown but not always) or some other
types with not specific durations. I am not sure which is the proper duration.
We may decide that the Unknown/Unset duration is 0 which would solve this issue.
Steve Lhomme (9):
vlc_input_item: add a define for the known zero duration
core: make use of the special duration value INPUT_DURATION_ZERO
modules: make use of the special duration value INPUT_DURATION_ZERO
vlc_input_item: add a define for the unset duration
modules: make use of the special duration value INPUT_DURATION_UNKNOWN
vlc_input_item: set INPUT_DURATION_ZERO explicitly to 0
input: return 0 when the duration is unknown, rather than -1
m3u: reset the duration to unknown after an item is parsed
vlc_input_item: init item to an unknown value by default instead of 0
include/vlc_input_item.h | 9 ++++++---
modules/control/oldrc.c | 2 +-
modules/demux/playlist/m3u.c | 4 ++--
modules/demux/playlist/podcast.c | 2 +-
modules/lua/libs/sd.c | 2 +-
modules/lua/vlc.c | 2 +-
modules/services_discovery/udev.c | 2 +-
modules/services_discovery/xcb_apps.c | 2 +-
src/input/item.c | 6 ++++--
src/playlist/tree.c | 2 +-
10 files changed, 19 insertions(+), 14 deletions(-)
--
2.17.0
More information about the vlc-devel
mailing list