Browse Source

VLCMedia: add delegate method called when media's meta data is changed independently if this was done by preparsing or not

Felix Paul Kühne 11 years ago
parent
commit
55461fb6a4
3 changed files with 16 additions and 1 deletions
  1. 8 1
      Headers/Public/VLCMedia.h
  2. 5 0
      NEWS
  3. 3 0
      Sources/VLCMedia.m

+ 8 - 1
Headers/Public/VLCMedia.h

@@ -97,7 +97,14 @@ typedef NSInteger VLCMediaState;
  * \param oldValue The old meta data value.
  * \param key The key of the value that was changed.
  */
-- (void)media:(VLCMedia *)aMedia metaValueChangedFrom:(id)oldValue forKey:(NSString *)key;
+- (void)media:(VLCMedia *)aMedia metaValueChangedFrom:(id)oldValue forKey:(NSString *)key __attribute__((deprecated));
+
+/**
+ * Delegate method called whenever the media's meta data was changed for whatever reason
+ * \note this is called more often than mediaDidFinishParsing, so it may be less efficient
+ * \param aMedia The media resource whose meta data has been changed.
+ */
+- (void)mediaMetaDataDidChange:(VLCMedia *)aMedia;
 
 /**
  * Delegate method called whenever the media was parsed.

+ 5 - 0
NEWS

@@ -24,11 +24,16 @@ New APIs:
   - added initWithOptions selector matching VLCMediaPlayer's implementation
   - added pause selector
   - added previous, next and playItemAtIndex selectors
+- VLCMedia:
+  - added delegate method mediaMetaDataDidChange
 
 Modified API behavior:
 - VLCMediaPlayer:
   - implementing mediaPlayerTimeChanged is now optional
 
+Deprecated APIs:
+- VLCMedia:
+  - media:metaValueChangedFrom:forKey:
 
 Changes within VLCKit between 2.0.0 and 2.1.0:
 ----------------------------------------------

+ 3 - 0
Sources/VLCMedia.m

@@ -906,6 +906,9 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
 - (void)metaChanged:(NSString *)metaType
 {
     [self fetchMetaInformationFromLibVLCWithType:metaType];
+
+    if ([delegate respondsToSelector:@selector(mediaMetaDataDidChange:)])
+        [self.delegate mediaMetaDataDidChange:self];
 }
 
 - (void)subItemAdded