39 #ifndef _PLT_MEDIA_ITEM_H_
40 #define _PLT_MEDIA_ITEM_H_
57 NPT_String friendly_name;
62 NPT_String friendly_name;
71 class PLT_PersonRoles :
public NPT_List<PLT_PersonRole>
74 NPT_Result Add(
const NPT_String& name,
const NPT_String& role =
"");
75 NPT_Result ToDidl(NPT_String& didl,
const NPT_String& tag);
76 NPT_Result FromDidl(
const NPT_Array<NPT_XmlElementNode*>& nodes);
80 NPT_String allowed_use;
81 NPT_String validity_start;
82 NPT_String validity_end;
83 NPT_String remaining_time;
84 NPT_String usage_info;
85 NPT_String rights_info_uri;
86 NPT_String content_info_uri;
90 PLT_PersonRoles artists;
91 PLT_PersonRoles actors;
92 PLT_PersonRoles authors;
96 NPT_String contributor;
100 NPT_List<NPT_String> genres;
103 } PLT_AffiliationInfo;
106 NPT_String description;
107 NPT_String long_description;
118 NPT_String dlna_profile;
122 NPT_List<PLT_AlbumArtInfo> album_arts;
123 NPT_String artist_discography_uri;
124 NPT_String lyrics_uri;
125 NPT_List<NPT_String> relations;
129 NPT_UInt32 dvdregioncode;
130 NPT_UInt32 original_track_number;
132 NPT_String user_annotation;
139 NPT_UInt64 max_partition;
144 NPT_String program_title;
145 NPT_String series_title;
146 NPT_UInt32 episode_number;
152 class PLT_MediaItemResource
155 PLT_MediaItemResource();
156 ~PLT_MediaItemResource() {}
160 NPT_UInt32 m_Duration;
161 NPT_LargeSize m_Size;
162 NPT_String m_Protection;
163 NPT_UInt32 m_Bitrate;
164 NPT_UInt32 m_BitsPerSample;
165 NPT_UInt32 m_SampleFrequency;
166 NPT_UInt32 m_NbAudioChannels;
167 NPT_String m_Resolution;
168 NPT_UInt32 m_ColorDepth;
189 bool IsContainer() {
return m_ObjectClass.type.StartsWith(
"object.container"); }
191 static const char* GetUPnPClass(
const char* filename,
194 virtual NPT_Result Reset();
195 virtual NPT_Result ToDidl(
const NPT_String& filter, NPT_String& didl);
196 virtual NPT_Result ToDidl(NPT_UInt32 mask, NPT_String& didl);
197 virtual NPT_Result FromDidl(NPT_XmlElementNode* entry);
202 NPT_String m_ObjectID;
203 NPT_String m_ParentID;
204 NPT_String m_ReferenceID;
208 NPT_String m_Creator;
210 PLT_PeopleInfo m_People;
211 PLT_AffiliationInfo m_Affiliation;
212 PLT_Description m_Description;
213 PLT_RecordedInfo m_Recorded;
219 PLT_ExtraInfo m_ExtraInfo;
222 PLT_MiscInfo m_MiscInfo;
225 NPT_Array<PLT_MediaItemResource> m_Resources;
247 NPT_Result ToDidl(
const NPT_String& filter, NPT_String& didl);
248 NPT_Result ToDidl(NPT_UInt32 mask, NPT_String& didl);
249 NPT_Result FromDidl(NPT_XmlElementNode* entry);
270 NPT_Result ToDidl(
const NPT_String& filter, NPT_String& didl);
271 NPT_Result ToDidl(NPT_UInt32 mask, NPT_String& didl);
272 NPT_Result FromDidl(NPT_XmlElementNode* entry);
275 NPT_List<PLT_SearchClass> m_SearchClasses;
281 NPT_Int32 m_ChildrenCount;
282 NPT_UInt32 m_ContainerUpdateID;
298 friend class NPT_Reference<PLT_MediaObjectList>;
301 typedef NPT_Reference<PLT_MediaObjectList> PLT_MediaObjectListReference;
302 typedef NPT_Reference<PLT_MediaObject> PLT_MediaObjectReference;
The PLT_ProtocolInfo class holds information about the protocol info of a given UPnP Media Item resou...
Definition: PltProtocolInfo.h:68
The PLT_HttpRequestContext class holds information about the request sent, the local & remote ip addr...
Definition: PltHttp.h:115
The PLT_ObjectClass struct is used to assign a type to a PLT_MediaObject.
Definition: PltMediaItem.h:55
UPnP AV Media Object Protocol Info.