diff options
-rw-r--r-- | doc/server/dbus/API.txt | 3 | ||||
-rw-r--r-- | libdleyna/server/props.c | 17 |
2 files changed, 15 insertions, 5 deletions
diff --git a/doc/server/dbus/API.txt b/doc/server/dbus/API.txt index 7dcafc8..f8db1eb 100644 --- a/doc/server/dbus/API.txt +++ b/doc/server/dbus/API.txt @@ -445,11 +445,12 @@ in MediaServer2Spec specification (3). in case of Items: 'video.musicclip', 'video.broadcast' 'audio.broadcast', 'audio.book', - 'playlist', 'item' + 'item.playlist', 'item' and in case of Containers: 'album', 'album.music', 'album.photo' 'person', 'person.musicartist' 'genre', 'genre.music', 'genre.movie' + 'playlist' Additional Properties: ---------------------- diff --git a/libdleyna/server/props.c b/libdleyna/server/props.c index 66f9739..15a404d 100644 --- a/libdleyna/server/props.c +++ b/libdleyna/server/props.c @@ -36,6 +36,7 @@ static const gchar gUPnPContainer[] = "object.container"; static const gchar gUPnPAlbum[] = "object.container.album"; static const gchar gUPnPPerson[] = "object.container.person"; static const gchar gUPnPGenre[] = "object.container.genre"; +static const gchar gUPnPPlaylist[] = "object.container.playlistContainer"; static const gchar gUPnPAudioItem[] = "object.item.audioItem"; static const gchar gUPnPVideoItem[] = "object.item.videoItem"; static const gchar gUPnPImageItem[] = "object.item.imageItem"; @@ -50,6 +51,8 @@ static const unsigned int gUPnPPersonLen = (sizeof(gUPnPPerson) / sizeof(gchar)) - 1; static const unsigned int gUPnPGenreLen = (sizeof(gUPnPGenre) / sizeof(gchar)) - 1; +static const unsigned int gUPnPPlaylistLen = + (sizeof(gUPnPPlaylist) / sizeof(gchar)) - 1; static const unsigned int gUPnPAudioItemLen = (sizeof(gUPnPAudioItem) / sizeof(gchar)) - 1; static const unsigned int gUPnPVideoItemLen = @@ -88,15 +91,16 @@ static const gchar gMediaSpec2GenreMovie[] = "genre.movie"; static const gchar gMediaSpec2GenreMusic[] = "genre.music"; static const gchar gMediaSpec2AudioMusic[] = "audio.music"; static const gchar gMediaSpec2AudioBroadcast[] = "audio.broadcast"; -static const gchar gMediaSpec2AudioBook[] = "audio.book"; static const gchar gMediaSpec2Audio[] = "audio"; +static const gchar gMediaSpec2AudioBook[] = "audio.book"; +static const gchar gMediaSpec2Video[] = "video"; static const gchar gMediaSpec2VideoMovie[] = "video.movie"; static const gchar gMediaSpec2VideoMusicClip[] = "video.musicclip"; static const gchar gMediaSpec2VideoBroadcast[] = "video.broadcast"; -static const gchar gMediaSpec2Video[] = "video"; -static const gchar gMediaSpec2ImagePhoto[] = "image.photo"; static const gchar gMediaSpec2Image[] = "image"; +static const gchar gMediaSpec2ImagePhoto[] = "image.photo"; static const gchar gMediaSpec2Playlist[] = "playlist"; +static const gchar gMediaSpec2PlaylistItem[] = "item.playlist"; static const gchar gMediaSpec2Item[] = "item"; typedef struct dls_prop_dlna_t_ dls_prop_dlna_t; @@ -1196,6 +1200,8 @@ const gchar *dls_props_media_spec_to_upnp_class(const gchar *m2spec_class) else if (!strcmp(m2spec_class, gMediaSpec2Image)) retval = gUPnPImageItem; else if (!strcmp(m2spec_class, gMediaSpec2Playlist)) + retval = gUPnPPlaylist; + else if (!strcmp(m2spec_class, gMediaSpec2PlaylistItem)) retval = gUPnPPlaylistItem; else if (!strcmp(m2spec_class, gMediaSpec2Item)) retval = gUPnPItem; @@ -1265,9 +1271,12 @@ const gchar *dls_props_upnp_class_to_media_spec(const gchar *upnp_class) retval = gMediaSpec2ImagePhoto; else retval = gMediaSpec2Image; + } else if (!strncmp(upnp_class, gUPnPPlaylist, + gUPnPPlaylistLen)) { + retval = gMediaSpec2Playlist; } else if (!strncmp(upnp_class, gUPnPPlaylistItem, gUPnPPlaylistItemLen)) { - retval = gMediaSpec2Playlist; + retval = gMediaSpec2PlaylistItem; } else if (!strncmp(upnp_class, gUPnPItem, gUPnPItemLen)) { ptr = upnp_class + gUPnPItemLen; if (!*ptr || *ptr == '.') |