|
@@ -218,16 +218,17 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
|
|
|
- (void)dealloc
|
|
|
{
|
|
|
libvlc_event_manager_t * p_em = libvlc_media_event_manager(p_md);
|
|
|
- libvlc_event_detach(p_em, libvlc_MediaMetaChanged, HandleMediaMetaChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_detach(p_em, libvlc_MediaDurationChanged, HandleMediaDurationChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_detach(p_em, libvlc_MediaStateChanged, HandleMediaStateChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_detach(p_em, libvlc_MediaSubItemAdded, HandleMediaSubItemAdded, (__bridge void *)(self));
|
|
|
- libvlc_event_detach(p_em, libvlc_MediaParsedChanged, HandleMediaParsedChanged, (__bridge void *)(self));
|
|
|
+ if (p_em) {
|
|
|
+ libvlc_event_detach(p_em, libvlc_MediaMetaChanged, HandleMediaMetaChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_detach(p_em, libvlc_MediaDurationChanged, HandleMediaDurationChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_detach(p_em, libvlc_MediaStateChanged, HandleMediaStateChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_detach(p_em, libvlc_MediaSubItemAdded, HandleMediaSubItemAdded, (__bridge void *)(self));
|
|
|
+ libvlc_event_detach(p_em, libvlc_MediaParsedChanged, HandleMediaParsedChanged, (__bridge void *)(self));
|
|
|
+ }
|
|
|
|
|
|
[[VLCEventManager sharedManager] cancelCallToObject:self];
|
|
|
|
|
|
libvlc_media_release( p_md );
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- (NSString *)description
|
|
@@ -749,11 +750,13 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
|
|
|
libvlc_media_set_user_data(p_md, (__bridge void*)self);
|
|
|
|
|
|
libvlc_event_manager_t * p_em = libvlc_media_event_manager( p_md );
|
|
|
- libvlc_event_attach(p_em, libvlc_MediaMetaChanged, HandleMediaMetaChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_attach(p_em, libvlc_MediaDurationChanged, HandleMediaDurationChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_attach(p_em, libvlc_MediaStateChanged, HandleMediaStateChanged, (__bridge void *)(self));
|
|
|
- libvlc_event_attach(p_em, libvlc_MediaSubItemAdded, HandleMediaSubItemAdded, (__bridge void *)(self));
|
|
|
- libvlc_event_attach(p_em, libvlc_MediaParsedChanged, HandleMediaParsedChanged, (__bridge void *)(self));
|
|
|
+ if (p_em) {
|
|
|
+ libvlc_event_attach(p_em, libvlc_MediaMetaChanged, HandleMediaMetaChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_attach(p_em, libvlc_MediaDurationChanged, HandleMediaDurationChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_attach(p_em, libvlc_MediaStateChanged, HandleMediaStateChanged, (__bridge void *)(self));
|
|
|
+ libvlc_event_attach(p_em, libvlc_MediaSubItemAdded, HandleMediaSubItemAdded, (__bridge void *)(self));
|
|
|
+ libvlc_event_attach(p_em, libvlc_MediaParsedChanged, HandleMediaParsedChanged, (__bridge void *)(self));
|
|
|
+ }
|
|
|
|
|
|
libvlc_media_list_t * p_mlist = libvlc_media_subitems( p_md );
|
|
|
|