/*****************************************************************************
- * VLCMediaDiscoverer.m: VLC.framework VLCMediaDiscoverer implementation
+ * VLCMediaDiscoverer.m: VLCKit.framework VLCMediaDiscoverer implementation
*****************************************************************************
* Copyright (C) 2007 Pierre d'Herbemont
* Copyright (C) 2007 the VideoLAN team
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id self = user_data;
- [[VLCEventManager sharedManager] callOnMainThreadObject:self
- withMethod:@selector(mediaDiscovererStarted)
+ [[VLCEventManager sharedManager] callOnMainThreadObject:self
+ withMethod:@selector(mediaDiscovererStarted)
withArgumentAsObject:nil];
[pool release];
}
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id self = user_data;
- [[VLCEventManager sharedManager] callOnMainThreadObject:self
- withMethod:@selector(mediaDiscovererEnded)
+ [[VLCEventManager sharedManager] callOnMainThreadObject:self
+ withMethod:@selector(mediaDiscovererEnded)
withArgumentAsObject:nil];
[pool release];
}
-
+
@implementation VLCMediaDiscoverer
+ (NSArray *)availableMediaDiscoverer
{
{
availableMediaDiscoverer = [[NSArray arrayWithObjects:
[[[VLCMediaDiscoverer alloc] initWithName:@"sap"] autorelease],
- [[[VLCMediaDiscoverer alloc] initWithName:@"shoutcast"] autorelease],
- [[[VLCMediaDiscoverer alloc] initWithName:@"shoutcasttv"] autorelease], nil] retain];
+ [[[VLCMediaDiscoverer alloc] initWithName:@"upnp_intel"] autorelease],
+ [[[VLCMediaDiscoverer alloc] initWithName:@"freebox"] autorelease],
+ [[[VLCMediaDiscoverer alloc] initWithName:@"video_dir"] autorelease], nil] retain];
}
return availableMediaDiscoverer;
}
{
if (self = [super init])
{
- libvlc_exception_t ex;
- libvlc_exception_init( &ex );
localizedName = nil;
discoveredMedia = nil;
- mdis = libvlc_media_discoverer_new_from_name( [VLCLibrary sharedInstance],
- [aServiceName UTF8String],
- &ex );
- catch_exception( &ex );
-
+ mdis = libvlc_media_discoverer_new_from_name([VLCLibrary sharedInstance],
+ [aServiceName UTF8String]);
+ NSAssert(mdis, @"No such media discoverer");
libvlc_event_manager_t * p_em = libvlc_media_discoverer_event_manager(mdis);
- libvlc_event_attach(p_em, libvlc_MediaDiscovererStarted, HandleMediaDiscovererStarted, self, NULL);
- libvlc_event_attach(p_em, libvlc_MediaDiscovererEnded, HandleMediaDiscovererEnded, self, NULL);
+ libvlc_event_attach(p_em, libvlc_MediaDiscovererStarted, HandleMediaDiscovererStarted, self);
+ libvlc_event_attach(p_em, libvlc_MediaDiscovererEnded, HandleMediaDiscovererEnded, self);
+
running = libvlc_media_discoverer_is_running(mdis);
}
return self;
/* We must make sure we won't receive new event after an upcoming dealloc
* We also may receive a -retain in some event callback that may occcur
* Before libvlc_event_detach. So this can't happen in dealloc */
- libvlc_event_manager_t * p_em = libvlc_media_list_event_manager(mdis, NULL);
- libvlc_event_detach(p_em, libvlc_MediaDiscovererStarted, HandleMediaDiscovererStarted, self, NULL);
- libvlc_event_detach(p_em, libvlc_MediaDiscovererEnded, HandleMediaDiscovererEnded, self, NULL);
+ libvlc_event_manager_t * p_em = libvlc_media_list_event_manager(mdis);
+ libvlc_event_detach(p_em, libvlc_MediaDiscovererStarted, HandleMediaDiscovererStarted, self);
+ libvlc_event_detach(p_em, libvlc_MediaDiscovererEnded, HandleMediaDiscovererEnded, self);
}
[super release];
}
{
if ( localizedName )
return localizedName;
-
+
char * name = libvlc_media_discoverer_localized_name( mdis );
if (name)
{