diff options
author | Ludovic Ferrandis <ludovic.ferrandis@intel.com> | 2013-03-27 13:43:25 +0100 |
---|---|---|
committer | Mark Ryan <mark.d.ryan@intel.com> | 2013-05-16 11:58:59 +0200 |
commit | 1f8ffe357f4a3f50fa824a6933372d197a2f8b61 (patch) | |
tree | c6bd50744503240835ecc1fea6a0b69a31cbb3f0 | |
parent | d5ce99e734b9ad5ecf3f155be2bb72178870bd74 (diff) | |
download | dleyna-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.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 == '.') |