فهرست منبع

VLCMedia: add new type property

Felix Paul Kühne 10 سال پیش
والد
کامیت
2fdb2393a9
3فایلهای تغییر یافته به همراه39 افزوده شده و 1 حذف شده
  1. 15 0
      Headers/Public/VLCMedia.h
  2. 3 1
      NEWS
  3. 21 0
      Sources/VLCMedia.m

+ 15 - 0
Headers/Public/VLCMedia.h

@@ -188,6 +188,21 @@ typedef NS_ENUM(NSInteger, VLCMediaState) {
  */
 - (instancetype)initAsNodeWithName:(NSString *)aName;
 
+typedef NS_ENUM(NSUInteger, VLCMediaType) {
+    VLCMediaTypeUnknown,
+    VLCMediaTypeFile,
+    VLCMediaTypeDirectory,
+    VLCMediaTypeDisc,
+    VLCMediaTypeStream,
+    VLCMediaTypePlaylist,
+};
+
+/**
+ * media type
+ * \return returns the type of a media (VLCMediaType)
+ */
+@property (readonly) VLCMediaType mediaType;
+
 /**
  * Returns an NSComparisonResult value that indicates the lexical ordering of
  * the receiver and a given meda.

+ 3 - 1
NEWS

@@ -10,7 +10,9 @@ New APIs:
                 VLCMetaInformationSeason, VLCMetaInformationEpisode,
                 VLCMetaInformationShowName, VLCMetaInformationActors,
                 VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber
-  - new selector: codecNameForFourCC:trackType:
+  - added selectors: codecNameForFourCC:trackType:
+                     mediaType
+  - added enum: VLCMediaType
 
 Deprecated APIs:
 - VLCMediaPlayer

+ 21 - 0
Sources/VLCMedia.m

@@ -257,6 +257,27 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
     libvlc_media_release( p_md );
 }
 
+- (VLCMediaType)mediaType
+{
+    libvlc_media_type_t libmediatype = libvlc_media_get_type(p_md);
+
+    switch (libmediatype) {
+        case libvlc_media_type_file:
+            return VLCMediaTypeFile;
+        case libvlc_media_type_directory:
+            return VLCMediaTypeDirectory;
+        case libvlc_media_type_disc:
+            return VLCMediaTypeDisc;
+        case libvlc_media_type_stream:
+            return VLCMediaTypeStream;
+        case libvlc_media_type_playlist:
+            return VLCMediaTypePlaylist;
+
+        default:
+            return VLCMediaTypeUnknown;
+    }
+}
+
 - (NSString *)description
 {
     NSString * result = _metaDictionary[VLCMetaInformationTitle];