cache: fix f71b33de

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Qt: add sidebar pixmaps sources.

disc.svg, network.svg derivative work from Gnome's elementary icons (GPL)
Qt: add SD pixmaps sources.
Qt: add pixmap source
skins2: remove useless event
skins2: cleanup
skins2: factorize some code
skins2: rename command to better readability
skins2: update current input if its associated item changes.

This is the right place to make sure an art file that was not available at
input launch time gets a chance to be displayed as soon as it becomes available.
skins2: ensure playlist is also updated when new input is launched
Move helpers for GetAllProperties into dbus.c

This is in preparation for implementing GetAllProperties for the player
and tracklist interfaces.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
Add Fullscreen property to GetAllProperties on DBus root interface

Previously, Fullscreen could be requested via
org.freedesktop.DBus.Properties.Get, but would not be returned by
org.freedesktop.DBus.Properties.GetAll.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
peflags: add -AppContainer option
Fix MPRIS2 metadata entry types

Several of these entries, such as xesam:artist, should be lists of
strings, not strings.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
Fix Rate property on org.mpris.MediaPlayer2.Player

Rate should never be 0.0 (according to the spec), so we pick a sensible
default when we do not have a current track: 1.0.

Also, when the current item changes, the Rate may also change.  So add
it to the PropertiesChanged signal just to be sure.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
Fix Metadata marshalling when sending the PropertiesChanged signal

VLC was getting kicked from the D-Bus when a track was stopped, because
it was generating invalid data on the wire when sending the
PropertiesChanged signal for the Metadata property.

The issue was that if there was now no current track, GetInputMeta would
never be called and the the variant would never be populated with the
"a{sv}" structure that the call to dbus_message_iter_open_container
claimed it would be.

We now share the code that GetProperties used, which dealt with this
correctly, although now both use CurrentInput (which is what the signal
previously used) instead of CurrentPlayingItem (which is what
GetProperties previously used).

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
dbus: Fix code style and add missing decref on error path

 * Add missing call to vlc_object_release() in MarshalMetadata
 * Separate code paths with empty lines
 * Fix bracket position in if blocks
dbus: Standardise property marshalling for PropertiesChanged signal

Re-use the AddProperty method (used in GetAllProperties) and use macros
to reduce repetition of code.  Now all the calls should be
error-checked.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
dbus: Separate out property marshalling code in D-Bus interfaces

Pull out code to marshal the various properties into separate functions
(and make sure the return type of those functions is int).  This is in
preparation for adding org.freedesktop.DBus.Properties.GetAll support.

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>
dbus: Standardise property getters

There was a lot of repeated code, some of which properly checked return
values and some of which didn't.  This is all replaced and folded into
the GetProperty function of each interface.

A side-effect is that it should be more efficient (we only check the
interface argument once instead of once for each property, and there
should be a smaller overall code size).

Signed-off-by: Mirsal Ennaime <mirsal@videolan.org>