summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Ferrandis <ludovic.ferrandis@intel.com>2013-03-27 13:43:25 +0100
committerMark Ryan <mark.d.ryan@intel.com>2013-05-16 11:58:59 +0200
commit1f8ffe357f4a3f50fa824a6933372d197a2f8b61 (patch)
treec6bd50744503240835ecc1fea6a0b69a31cbb3f0
parentd5ce99e734b9ad5ecf3f155be2bb72178870bd74 (diff)
downloaddleyna-server-1f8ffe357f4a3f50fa824a6933372d197a2f8b61.tar.gz
[Property] Add support for object.container.playlistContainer
- Add object class object.container.playlistContainer - Add MediaServer2Spec definition "playlist" for it - Rename MediaServer2Spec "playlist" to "item.playlist" for objec class object.item.playlistItem Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
-rw-r--r--doc/server/dbus/API.txt3
-rw-r--r--libdleyna/server/props.c17
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 == '.')