Changeset 6dda19c89830f3cc2a54706af5a97c0761d7a1b9
- Timestamp:
- 10/20/07 19:37:07 (11 months ago)
- git-parent:
- Files:
-
- extras/MacOSX/Framework/Headers/Public/VLCMediaLibrary.h (modified) (1 diff)
- extras/MacOSX/Framework/Headers/Public/VLCMediaList.h (modified) (2 diffs)
- extras/MacOSX/Framework/Headers/Public/VLCMediaPlayer.h (modified) (1 diff)
- extras/MacOSX/Framework/Headers/Public/VLCVideoView.h (modified) (2 diffs)
- extras/MacOSX/Framework/Sources/VLCLibrary.m (modified) (6 diffs)
- extras/MacOSX/Framework/Sources/VLCMedia.m (modified) (11 diffs)
- extras/MacOSX/Framework/Sources/VLCMediaLibrary.m (modified) (1 diff)
- extras/MacOSX/Framework/Sources/VLCMediaList.m (modified) (9 diffs)
- extras/MacOSX/Framework/Sources/VLCMediaPlayer.m (modified) (30 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
extras/MacOSX/Framework/Headers/Public/VLCMediaLibrary.h
rce7c4d3 r6dda19c 30 30 @interface VLCMediaLibrary : NSObject 31 31 { 32 void * mlib;33 VLCMediaList * allMedia;32 void * mlib; 33 VLCMediaList * allMedia; 34 34 } 35 35 + (id)sharedMediaLibrary; extras/MacOSX/Framework/Headers/Public/VLCMediaList.h
rce7c4d3 r6dda19c 26 26 27 27 /* Notification Messages */ 28 extern NSString * VLCMediaListItemAdded;29 extern NSString * VLCMediaListItemDeleted;28 extern NSString * VLCMediaListItemAdded; 29 extern NSString * VLCMediaListItemDeleted; 30 30 31 31 @class VLCMedia; … … 60 60 - (int)count; 61 61 62 #if 0 /* Disabled until this get fixed in libvlc 62 #if 0 /* Disabled until this get fixed in libvlc */ 63 63 - (NSArray *)sublists; //< A way to see the same media list. Only sub media list. 64 64 - (NSArray *)flatMediaView; //< A way to see the same media list. Only media. extras/MacOSX/Framework/Headers/Public/VLCMediaPlayer.h
rce7c4d3 r6dda19c 27 27 28 28 /* Notification Messages */ 29 extern NSString * VLCMediaPlayerTimeChanged;30 extern NSString * VLCMediaPlayerStateChanged;29 extern NSString * VLCMediaPlayerTimeChanged; 30 extern NSString * VLCMediaPlayerStateChanged; 31 31 32 32 // TODO: Documentation extras/MacOSX/Framework/Headers/Public/VLCVideoView.h
rce7c4d3 r6dda19c 26 26 27 27 /* Notifications */ 28 extern NSString * VLCVideoViewEnteredFullScreen;29 extern NSString * VLCVideoViewLeftFullScreen;28 extern NSString * VLCVideoViewEnteredFullScreen; 29 extern NSString * VLCVideoViewLeftFullScreen; 30 30 31 31 @protocol VLCVideoViewDelegate … … 50 50 { 51 51 id delegate; 52 NSColor * backColor;52 NSColor * backColor; 53 53 BOOL stretchesVideo; 54 54 extras/MacOSX/Framework/Sources/VLCLibrary.m
rce7c4d3 r6dda19c 38 38 /* XXX: localization */ 39 39 NSRunCriticalAlertPanel( @"Error", [NSString stringWithFormat:@"libvlc has thrown us an error: %s (%s:%d %s)", 40 libvlc_exception_get_message( ex), file, line_number, function], @"Quit", nil, nil );40 libvlc_exception_get_message( ex ), file, line_number, function], @"Quit", nil, nil ); 41 41 exit( ex->i_code ); 42 42 } … … 62 62 63 63 // Register a function to gracefully destroy the shared library on exit. 64 atexit( (void*)DestroySharedLibraryAtExit);64 atexit( (void*)DestroySharedLibraryAtExit ); 65 65 } 66 66 return sharedLibrary; … … 80 80 81 81 // Figure out the frameworks path 82 char *applicationPath = strdup( [[NSString stringWithFormat:@"%@/Versions/Current/VLC",83 [[NSBundle bundleForClass:[VLCLibrary class]] bundlePath]] UTF8String] );82 char *applicationPath = strdup( [[NSString stringWithFormat:@"%@/Versions/Current/VLC", 83 [[NSBundle bundleForClass:[VLCLibrary class]] bundlePath]] UTF8String] ); 84 84 // TODO: Raise error if there is no memory available 85 85 … … 90 90 }; 91 91 92 instance = (void *)libvlc_new( 7, lib_vlc_params, &ex);92 instance = (void *)libvlc_new( 7, lib_vlc_params, &ex ); 93 93 quit_on_exception( &ex ); 94 94 … … 100 100 101 101 // free allocated resources 102 free( applicationPath);102 free( applicationPath ); 103 103 } 104 104 return self; … … 115 115 { 116 116 libvlc_exception_t ex; 117 libvlc_exception_init( &ex);117 libvlc_exception_init( &ex ); 118 118 119 libvlc_destroy( instance, &ex);119 libvlc_destroy( instance, &ex ); 120 120 } 121 121 } extras/MacOSX/Framework/Sources/VLCMedia.m
rce7c4d3 r6dda19c 220 220 [metaDictionary release]; 221 221 222 libvlc_media_descriptor_release( p_md);222 libvlc_media_descriptor_release( p_md ); 223 223 224 224 [super dealloc]; … … 258 258 { 259 259 // Try figuring out what the length is 260 long long duration = libvlc_media_descriptor_get_duration( p_md, NULL);260 long long duration = libvlc_media_descriptor_get_duration( p_md, NULL ); 261 261 if (duration > -1) 262 262 { … … 279 279 while (!length && ![self isPreparsed] && [aDate timeIntervalSinceNow] > 0) 280 280 { 281 usleep( THREAD_SLEEP);281 usleep( THREAD_SLEEP ); 282 282 } 283 283 … … 295 295 - (BOOL)isPreparsed 296 296 { 297 return libvlc_media_descriptor_is_preparsed( p_md, NULL);297 return libvlc_media_descriptor_is_preparsed( p_md, NULL ); 298 298 } 299 299 … … 321 321 libvlc_exception_init( &ex ); 322 322 323 VLCMedia *media = (VLCMedia *)libvlc_media_descriptor_get_user_data( md, &ex);324 if (!media || libvlc_exception_raised( &ex))325 { 326 libvlc_exception_clear( &ex);323 VLCMedia *media = (VLCMedia *)libvlc_media_descriptor_get_user_data( md, &ex ); 324 if (!media || libvlc_exception_raised( &ex )) 325 { 326 libvlc_exception_clear( &ex ); 327 327 return [[[VLCMedia alloc] initWithLibVLCMediaDescriptor:md] autorelease]; 328 328 } … … 345 345 return [self retain]; 346 346 } 347 libvlc_exception_clear( &ex); // Just in case an exception was raised, lets release it347 libvlc_exception_clear( &ex ); // Just in case an exception was raised, lets release it 348 348 349 349 if (self = [super init]) … … 351 351 char * p_url; 352 352 353 p_url = libvlc_media_descriptor_get_mrl( md, &ex);353 p_url = libvlc_media_descriptor_get_mrl( md, &ex ); 354 354 quit_on_exception( &ex ); 355 355 356 356 url = [NSString stringWithCString:p_url]; 357 357 358 libvlc_media_descriptor_retain( md);358 libvlc_media_descriptor_retain( md ); 359 359 p_md = md; 360 360 … … 420 420 { 421 421 libvlc_exception_t ex; 422 libvlc_exception_init( &ex);423 424 libvlc_media_descriptor_set_user_data( p_md, (void*)self, &ex);425 quit_on_exception( &ex);422 libvlc_exception_init( &ex ); 423 424 libvlc_media_descriptor_set_user_data( p_md, (void*)self, &ex ); 425 quit_on_exception( &ex ); 426 426 427 427 // TODO: Should these events be caught by VLCMediaList's notification hooks? 428 libvlc_event_manager_t *p_em = libvlc_media_descriptor_event_manager( p_md, &ex);428 libvlc_event_manager_t *p_em = libvlc_media_descriptor_event_manager( p_md, &ex ); 429 429 // libvlc_event_attach(p_em, libvlc_MediaDescriptorSubItemAdded, HandleMediaSubItemAdded, self, &ex); 430 430 // libvlc_event_attach(p_em, libvlc_MediaDescriptorSubItemRemoved, HandleMediaSubItemRemoved, self, &ex); 431 431 // libvlc_event_attach(p_em, libvlc_MediaDescriptorMetaChanged, HandleMediaMetaChanged, self, &ex); 432 432 // libvlc_event_attach(p_em, libvlc_MediaDescriptorDurationChanged, HandleMediaDurationChanged, self, &ex); 433 quit_on_exception( &ex);434 435 libvlc_media_list_t *p_mlist = libvlc_media_descriptor_subitems( p_md, NULL);433 quit_on_exception( &ex ); 434 435 libvlc_media_list_t *p_mlist = libvlc_media_descriptor_subitems( p_md, NULL ); 436 436 if (!p_mlist) 437 437 subitems = nil; … … 440 440 [subitems release]; 441 441 subitems = [[VLCMediaList medialistWithLibVLCMediaList:p_mlist] retain]; 442 libvlc_media_list_release( p_mlist);442 libvlc_media_list_release( p_mlist ); 443 443 } 444 444 [self fetchMetaInformation]; … … 472 472 result = YES; 473 473 } 474 free( value);474 free( value ); 475 475 return result; 476 476 } … … 481 481 // it, just because. 482 482 483 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_Title, NULL) forKey:[VLCMedia metaTypeToString:libvlc_meta_Title]];484 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_Artist, NULL) forKey:[VLCMedia metaTypeToString:libvlc_meta_Artist]];485 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_ArtworkURL, NULL) forKey:[VLCMedia metaTypeToString:libvlc_meta_ArtworkURL]];483 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_Title, NULL ) forKey:[VLCMedia metaTypeToString:libvlc_meta_Title]]; 484 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_Artist, NULL ) forKey:[VLCMedia metaTypeToString:libvlc_meta_Artist]]; 485 [self setMetaValue:libvlc_media_descriptor_get_meta( p_md, libvlc_meta_ArtworkURL, NULL ) forKey:[VLCMedia metaTypeToString:libvlc_meta_ArtworkURL]]; 486 486 } 487 487 extras/MacOSX/Framework/Sources/VLCMediaLibrary.m
rce7c4d3 r6dda19c 85 85 libvlc_media_list_t *p_mlist = libvlc_media_library_media_list( mlib, NULL ); 86 86 VLCMediaList *medialist = [VLCMediaList medialistWithLibVLCMediaList:p_mlist]; 87 libvlc_media_list_release( p_mlist);87 libvlc_media_list_release( p_mlist ); 88 88 NSArray *ret = [medialist sublists]; 89 89 extras/MacOSX/Framework/Sources/VLCMediaList.m
rce7c4d3 r6dda19c 125 125 - (void)lock 126 126 { 127 libvlc_media_list_lock( p_mlist);127 libvlc_media_list_lock( p_mlist ); 128 128 } 129 129 130 130 - (void)unlock 131 131 { 132 libvlc_media_list_unlock( p_mlist);132 libvlc_media_list_unlock( p_mlist ); 133 133 } 134 134 … … 147 147 libvlc_exception_t p_e; 148 148 libvlc_exception_init( &p_e ); 149 libvlc_media_list_insert_media_descriptor( p_mlist, [media libVLCMediaDescriptor], index, &p_e);150 quit_on_exception( &p_e);149 libvlc_media_list_insert_media_descriptor( p_mlist, [media libVLCMediaDescriptor], index, &p_e ); 150 quit_on_exception( &p_e ); 151 151 } 152 152 … … 157 157 // Remove it from the libvlc's medialist 158 158 libvlc_exception_t p_e; 159 libvlc_exception_init( &p_e);160 libvlc_media_list_remove_index( p_mlist, index, &p_e);161 quit_on_exception( &p_e);159 libvlc_exception_init( &p_e ); 160 libvlc_media_list_remove_index( p_mlist, index, &p_e ); 161 quit_on_exception( &p_e ); 162 162 } 163 163 … … 165 165 { 166 166 libvlc_exception_t p_e; 167 libvlc_exception_init( &p_e);168 libvlc_media_descriptor_t *p_md = libvlc_media_list_item_at_index( p_mlist, index, &p_e);169 quit_on_exception( &p_e);167 libvlc_exception_init( &p_e ); 168 libvlc_media_descriptor_t *p_md = libvlc_media_list_item_at_index( p_mlist, index, &p_e ); 169 quit_on_exception( &p_e ); 170 170 171 171 // Returns local object for media descriptor, searchs for user data first. If not found it creates a … … 177 177 { 178 178 libvlc_exception_t p_e; 179 libvlc_exception_init( &p_e);180 int result = libvlc_media_list_count( p_mlist, &p_e);181 quit_on_exception( &p_e);179 libvlc_exception_init( &p_e ); 180 int result = libvlc_media_list_count( p_mlist, &p_e ); 181 quit_on_exception( &p_e ); 182 182 183 183 return result; … … 187 187 { 188 188 libvlc_exception_t p_e; 189 libvlc_exception_init( &p_e);190 int result = libvlc_media_list_index_of_item( p_mlist, [media libVLCMediaDescriptor], &p_e);191 quit_on_exception( &p_e);189 libvlc_exception_init( &p_e ); 190 int result = libvlc_media_list_index_of_item( p_mlist, [media libVLCMediaDescriptor], &p_e ); 191 quit_on_exception( &p_e ); 192 192 193 193 return result; … … 200 200 201 201 libvlc_exception_t p_e; 202 libvlc_exception_init( &p_e);203 count = libvlc_media_list_count( p_mlist, &p_e);204 quit_on_exception( &p_e);202 libvlc_exception_init( &p_e ); 203 count = libvlc_media_list_count( p_mlist, &p_e ); 204 quit_on_exception( &p_e ); 205 205 206 206 for(i = 0; i < count; i++) … … 208 208 libvlc_media_descriptor_t *p_md; 209 209 libvlc_media_list_t *p_submlist; 210 p_md = libvlc_media_list_item_at_index( p_mlist, i, NULL);211 p_submlist = libvlc_media_descriptor_subitems( p_md, NULL);212 if (p_submlist)210 p_md = libvlc_media_list_item_at_index( p_mlist, i, NULL ); 211 p_submlist = libvlc_media_descriptor_subitems( p_md, NULL ); 212 if (p_submlist) 213 213 { 214 214 [ret addObject:[VLCMediaList medialistWithLibVLCMediaList:p_submlist]]; 215 libvlc_media_list_release( p_submlist);215 libvlc_media_list_release( p_submlist ); 216 216 } 217 libvlc_media_descriptor_release( p_md);217 libvlc_media_descriptor_release( p_md ); 218 218 } 219 219 return [ret autorelease]; … … 276 276 libvlc_exception_init(&p_e); 277 277 278 libvlc_event_manager_t *p_em = libvlc_media_list_event_manager( p_mlist, &p_e);279 libvlc_event_attach( p_em, libvlc_MediaListItemAdded, HandleMediaListItemAdded, self, &p_e);280 libvlc_event_attach( p_em, libvlc_MediaListItemDeleted, HandleMediaListItemDeleted, self, &p_e);278 libvlc_event_manager_t *p_em = libvlc_media_list_event_manager( p_mlist, &p_e ); 279 libvlc_event_attach( p_em, libvlc_MediaListItemAdded, HandleMediaListItemAdded, self, &p_e ); 280 libvlc_event_attach( p_em, libvlc_MediaListItemDeleted, HandleMediaListItemDeleted, self, &p_e ); 281 281 [self unlock]; 282 282 extras/MacOSX/Framework/Sources/VLCMediaPlayer.m
rce7c4d3 r6dda19c 95 95 // instance 96 96 libvlc_exception_t ex; 97 libvlc_exception_init( &ex);97 libvlc_exception_init( &ex ); 98 98 instance = (void *)libvlc_media_instance_new([VLCLibrary sharedInstance], &ex); 99 quit_on_exception( &ex);99 quit_on_exception( &ex ); 100 100 101 101 [self registerObservers]; … … 140 140 // Make sure that this instance has been associated with the drawing canvas. 141 141 libvlc_exception_t ex; 142 libvlc_exception_init( &ex);142 libvlc_exception_init( &ex ); 143 143 libvlc_media_instance_set_drawable ((libvlc_media_instance_t *)instance, 144 144 (libvlc_drawable_t)videoView, 145 145 &ex); 146 quit_on_exception( &ex);146 quit_on_exception( &ex ); 147 147 } 148 148 … … 160 160 { 161 161 libvlc_exception_t ex; 162 libvlc_exception_init( &ex);163 int result = libvlc_get_fullscreen( instance, &ex);164 quit_on_exception( &ex);162 libvlc_exception_init( &ex ); 163 int result = libvlc_get_fullscreen( instance, &ex ); 164 quit_on_exception( &ex ); 165 165 return result; 166 166 } … … 168 168 - (void)setVideoAspectRatio:(char *)value 169 169 { 170 libvlc_video_set_aspect_ratio( instance, value, NULL);170 libvlc_video_set_aspect_ratio( instance, value, NULL ); 171 171 } 172 172 … … 174 174 { 175 175 libvlc_exception_t ex; 176 libvlc_exception_init( &ex);177 char *result = libvlc_video_get_aspect_ratio( instance, &ex);178 quit_on_exception( &ex);176 libvlc_exception_init( &ex ); 177 char *result = libvlc_video_get_aspect_ratio( instance, &ex ); 178 quit_on_exception( &ex ); 179 179 return result; 180 180 } … … 182 182 - (void)setVideoSubTitles:(int)value 183 183 { 184 libvlc_video_set_spu( instance, value, NULL);184 libvlc_video_set_spu( instance, value, NULL ); 185 185 } 186 186 … … 188 188 { 189 189 libvlc_exception_t ex; 190 libvlc_exception_init( &ex);191 int result = libvlc_video_get_spu( instance, &ex);192 quit_on_exception( &ex);190 libvlc_exception_init( &ex ); 191 int result = libvlc_video_get_spu( instance, &ex ); 192 quit_on_exception( &ex ); 193 193 return result; 194 194 } … … 196 196 - (void)setVideoCropGeometry:(char *)value 197 197 { 198 libvlc_video_set_crop_geometry( instance, value, NULL);198 libvlc_video_set_crop_geometry( instance, value, NULL ); 199 199 } 200 200 … … 202 202 { 203 203 libvlc_exception_t ex; 204 libvlc_exception_init( &ex);205 char *result = libvlc_video_get_crop_geometry( instance, &ex);206 quit_on_exception( &ex);204 libvlc_exception_init( &ex ); 205 char *result = libvlc_video_get_crop_geometry( instance, &ex ); 206 quit_on_exception( &ex ); 207 207 return result; 208 208 } … … 210 210 - (void)setVideoTeleText:(int)value 211 211 { 212 libvlc_video_set_teletext( instance, value, NULL);212 libvlc_video_set_teletext( instance, value, NULL ); 213 213 } 214 214 … … 216 216 { 217 217 libvlc_exception_t ex; 218 libvlc_exception_init( &ex);219 int result = libvlc_video_get_teletext( instance, &ex);220 quit_on_exception( &ex);218 libvlc_exception_init( &ex ); 219 int result = libvlc_video_get_teletext( instance, &ex ); 220 quit_on_exception( &ex ); 221 221 return result; 222 222 } … … 224 224 - (void)setRate:(int)value 225 225 { 226 libvlc_media_instance_set_rate( instance, value, NULL);226 libvlc_media_instance_set_rate( instance, value, NULL ); 227 227 } 228 228 … … 230 230 { 231 231 libvlc_exception_t ex; 232 libvlc_exception_init( &ex);233 float result = libvlc_media_instance_get_rate( instance, &ex);234 quit_on_exception( &ex);232 libvlc_exception_init( &ex ); 233 float result = libvlc_media_instance_get_rate( instance, &ex ); 234 quit_on_exception( &ex ); 235 235 return result; 236 236 } … … 239 239 { 240 240 libvlc_exception_t ex; 241 libvlc_exception_init( &ex);241 libvlc_exception_init( &ex ); 242 242 NSSize result = NSMakeSize(libvlc_video_get_height((libvlc_media_instance_t *)instance, &ex), 243 243 libvlc_video_get_width((libvlc_media_instance_t *)instance, &ex)); 244 quit_on_exception( &ex);244 quit_on_exception( &ex ); 245 245 return result; 246 246 } … … 249 249 { 250 250 libvlc_exception_t ex; 251 libvlc_exception_init( &ex);251 libvlc_exception_init( &ex ); 252 252 BOOL result = libvlc_media_instance_has_vout((libvlc_media_instance_t *)instance, &ex); 253 if (libvlc_exception_raised( &ex))253 if (libvlc_exception_raised( &ex )) 254 254 { 255 libvlc_exception_clear( &ex);255 libvlc_exception_clear( &ex ); 256 256 return NO; 257 257 } … … 263 263 { 264 264 libvlc_exception_t ex; 265 libvlc_exception_init( &ex);266 float result = libvlc_media_instance_get_fps( (libvlc_media_instance_t *)instance, &ex);267 quit_on_exception( &ex);265 libvlc_exception_init( &ex ); 266 float result = libvlc_media_instance_get_fps( (libvlc_media_instance_t *)instance, &ex ); 267 quit_on_exception( &ex ); 268 268 return result; 269 269 } … … 272 272 { 273 273 libvlc_exception_t ex; 274 libvlc_exception_init( &ex);274 libvlc_exception_init( &ex ); 275 275 // Time is managed in seconds, while duration is managed in microseconds 276 276 // TODO: Redo VLCTime to provide value numberAsMilliseconds, numberAsMicroseconds, numberAsSeconds, numberAsMinutes, numberAsHours 277 libvlc_media_instance_set_time( (libvlc_media_instance_t *)instance,278 (value ? [[value numberValue] longLongValue] / 1000 : 0),279 &ex);280 quit_on_exception( &ex);277 libvlc_media_instance_set_time( (libvlc_media_instance_t *)instance, 278 (value ? [[value numberValue] longLongValue] / 1000 : 0), 279 &ex ); 280 quit_on_exception( &ex ); 281 281 } 282 282 … … 284 284 { 285 285 libvlc_exception_t ex; 286 libvlc_exception_init( &ex);286 libvlc_exception_init( &ex ); 287 287 288 288 // Results are returned in seconds...duration is returned in milliseconds 289 long long time = libvlc_media_instance_get_time( (libvlc_media_instance_t *)instance, &ex) * 1000;290 if (libvlc_exception_raised( &ex))289 long long time = libvlc_media_instance_get_time( (libvlc_media_instance_t *)instance, &ex ) * 1000; 290 if (libvlc_exception_raised( &ex )) 291 291 { 292 libvlc_exception_clear( &ex);292 libvlc_exception_clear( &ex ); 293 293 return [VLCTime nullTime]; // Error in obtaining the time, return a null time defintition (--:--:--) 294 294 } … … 299 299 - (void)setAudioTrack:(int)value 300 300 { 301 libvlc_audio_set_track( instance, value, NULL);301 libvlc_audio_set_track( instance, value, NULL ); 302 302 } 303 303 … … 305 305 { 306 306 libvlc_exception_t ex; 307 libvlc_exception_init( &ex);308 int result = libvlc_audio_get_track( instance, &ex);309 quit_on_exception( &ex);307 libvlc_exception_init( &ex ); 308 int result = libvlc_audio_get_track( instance, &ex ); 309 quit_on_exception( &ex ); 310 310 return result; 311 311 } … … 313 313 - (void)setAudioChannel:(int)value 314 314 { 315 libvlc_audio_set_channel( instance, value, NULL);315 libvlc_audio_set_channel( instance, value, NULL ); 316 316 } 317 317 … … 319 319 { 320 320 libvlc_exception_t ex; 321 libvlc_exception_init( &ex);322 int result = libvlc_audio_get_channel( instance, &ex);323 quit_on_exception( &ex);321 libvlc_exception_init( &ex ); 322 int result = libvlc_audio_get_channel( instance, &ex ); 323 quit_on_exception( &ex ); 324 324 return result; 325 325 } … … 348 348 349 349 libvlc_exception_t ex; 350 libvlc_exception_init( &ex);351 libvlc_media_instance_set_media_descriptor( instance, [media libVLCMediaDescriptor], &ex);352 quit_on_exception( &ex);350 libvlc_exception_init( &ex ); 351 libvlc_media_instance_set_media_descriptor( instance, [media libVLCMediaDescriptor], &ex ); 352 quit_on_exception( &ex ); 353 353 354 354 if (media) { … … 371 371 372 372 libvlc_exception_t ex; 373 libvlc_exception_init( &ex);374 375 libvlc_media_instance_play( (libvlc_media_instance_t *)instance, &ex);376 quit_on_exception( &ex);373 libvlc_exception_init( &ex ); 374 375 libvlc_media_instance_play( (libvlc_media_instance_t *)instance, &ex ); 376 quit_on_exception( &ex ); 377 377 378 378 return YES; … … 392 392 // Pause the stream 393 393 libvlc_exception_t ex; 394 libvlc_exception_init( &ex);395 libvlc_media_instance_pause( (libvlc_media_instance_t *)instance, &ex);396 quit_on_exception( &ex);394 libvlc_exception_init( &ex ); 395 libvlc_media_instance_pause( (libvlc_media_instance_t *)instance, &ex ); 396 quit_on_exception( &ex ); 397 397 398 398 // TODO: Should we record the time in case the media instance is destroyed … … 410 410 // compensate? 411 411 // libvlc_exception_t ex; 412 // libvlc_exception_init( &ex);412 // libvlc_exception_init( &ex ); 413 413 // libvlc_media_instance_stop((libvlc_media_instance_t *)instance, &ex); 414 // quit_on_exception( &ex);414 // quit_on_exception( &ex ); 415 415 416 416 // Pause and reposition to the begining of the stream. … … 435 435 { 436 436 libvlc_exception_t ex; 437 libvlc_exception_init( &ex);438 BOOL ret = libvlc_media_instance_will_play( (libvlc_media_instance_t *)instance, &ex);437 libvlc_exception_init( &ex ); 438 BOOL ret = libvlc_media_instance_will_play( (libvlc_media_instance_t *)instance, &ex ); 439 439 if (libvlc_exception_raised(&ex)) 440 440 { … … 446 446 } 447 447 448 static VLCMediaPlayerState libvlc_to_local_state [] =448 static VLCMediaPlayerState libvlc_to_local_state[] = 449 449 { 450 450 [libvlc_Stopped] = VLCMediaPlayerStateStopped, 451 451 [libvlc_Opening] = VLCMediaPlayerStateOpening, 452 [libvlc_Buffering] = VLCMediaPlayerStateBuffering,452 [libvlc_Buffering] = VLCMediaPlayerStateBuffering, 453 453 [libvlc_Playing] = VLCMediaPlayerStatePlaying, 454 [libvlc_Paused] = VLCMediaPlayerStatePaused,455 [libvlc_Ended] = VLCMediaPlayerStateEnded,456 [libvlc_Error] = VLCMediaPlayerStateError454 [libvlc_Paused] = VLCMediaPlayerStatePaused, 455 [libvlc_Ended] = VLCMediaPlayerStateEnded, 456 [libvlc_Error] = VLCMediaPlayerStateError 457 457 }; 458 458 … … 464 464 465 465 libvlc_exception_t ex; 466 libvlc_exception_init( &ex);467 libvlc_state_t libvlc_state = libvlc_media_instance_get_state( (libvlc_media_instance_t *)instance, &ex);468 if (libvlc_exception_raised( &ex))466 libvlc_exception_init( &ex ); 467 libvlc_state_t libvlc_state = libvlc_media_instance_get_state( (libvlc_media_instance_t *)instance, &ex ); 468 if (libvlc_exception_raised( &ex )) 469 469 { 470 libvlc_exception_clear( &ex);470 libvlc_exception_clear( &ex ); 471 471 return VLCMediaPlayerStateError; 472 472 } … … 480 480 { 481 481 libvlc_exception_t ex; 482 libvlc_exception_init( &ex);482 libvlc_exception_init( &ex ); 483 483 484 484 // Attach event observers into the media instance 485 libvlc_event_manager_t *p_em = libvlc_media_instance_event_manager( instance, &ex);486 libvlc_event_attach( p_em, libvlc_MediaInstancePlayed, HandleMediaInstanceStateChanged, self, &ex);487 libvlc_event_attach( p_em, libvlc_MediaInstancePaused, HandleMediaInstanceStateChanged, self, &ex);488 libvlc_event_attach( p_em, libvlc_MediaInstanceReachedEnd, HandleMediaInstanceStateChanged, self, &ex);489 libvlc_event_attach( p_em, libvlc_MediaInstancePositionChanged, HandleMediaTimeChanged, self, &ex);490 quit_on_exception( &ex);485 libvlc_event_manager_t *p_em = libvlc_media_instance_event_manager( instance, &ex ); 486 libvlc_event_attach( p_em, libvlc_MediaInstancePlayed, HandleMediaInstanceStateChanged, self, &ex ); 487 libvlc_event_attach( p_em, libvlc_MediaInstancePaused, HandleMediaInstanceStateChanged, self, &ex ); 488 libvlc_event_attach( p_em, libvlc_MediaInstanceReachedEnd, HandleMediaInstanceStateChanged, self, &ex ); 489 libvlc_event_attach( p_em, libvlc_MediaInstancePositionChanged, HandleMediaTimeChanged, self, &ex ); 490 quit_on_exception( &ex ); 491 491 } 492 492 493 493 - (void)unregisterObservers 494 494 { 495 libvlc_event_manager_t *p_em = libvlc_media_instance_event_manager( instance, NULL);496 libvlc_event_detach( p_em, libvlc_MediaInstancePlayed, HandleMediaInstanceStateChanged, self, NULL);497 libvlc_event_detach( p_em, libvlc_MediaInstancePaused, HandleMediaInstanceStateChanged, self, NULL);498 libvlc_event_detach( p_em, libvlc_MediaInstanceReachedEnd, HandleMediaInstanceStateChanged, self, NULL);499 libvlc_event_detach( p_em, libvlc_MediaInstancePositionChanged, HandleMediaTimeChanged, self, NULL);495 libvlc_event_manager_t *p_em = libvlc_media_instance_event_manager( instance, NULL ); 496 libvlc_event_detach( p_em, libvlc_MediaInstancePlayed, HandleMediaInstanceStateChanged, self, NULL ); 497 libvlc_event_detach( p_em, libvlc_MediaInstancePaused, HandleMediaInstanceStateChanged, self, NULL ); 498 libvlc_event_detach( p_em, libvlc_MediaInstanceReachedEnd, HandleMediaInstanceStateChanged, self, NULL ); 499 libvlc_event_detach( p_em, libvlc_MediaInstancePositionChanged, HandleMediaTimeChanged, self, NULL ); 500 500 } 501 501 @end
