[vlc-devel] commit: New "vout display" for macosx. (Pierre d'Herbemont )

Pierre d'Herbemont pdherbemont at gmail.com
Fri Dec 25 21:08:14 CET 2009



On Dec 25, 2009, at 18:27, Jean-Baptiste Kempf <jb at videolan.org> wrote:

> On Thu, Dec 24, 2009 at 05:39:08PM +0100, git version control wrote :
>> vlc | branch: master | Pierre d'Herbemont <pdherbemont at free.fr> |  
>> Thu Dec 24 10:01:11 2009 +0100|  
>> [ecc72fd1c43a75ae8df40514137f83cbaaf2fa66] | committer: Pierre  
>> d'Herbemont
>>
>> New "vout display" for macosx.
>>
>> It is non blocking regarding Main Thread.
>> It is compatible with minimal_macosx in term of drawable-nsobject.
>> It will only work if a drawable-nsobject is provided.
>>
>> It removes the glitches there was with minimal_macosx (and gui/ 
>> macosx) when:
>> - Displaying the first frames
>> - Resizing the view.
>
> How do we embed a video on a libvlc-based application on the Mac, now?
> Like for the Qt howto?


Same as before.

@interface VideoView : NSView
- (void)addVoutSubview:(NSView *)view;
- (void)removeVoutSubview:(NSView *)view;
@end

@implementation VideoView
- (void)addVoutSubview:(NSView *)view
{
      [view setFrame:[self bounds]];
      [self addSubview:view];
      [view setAutoresizingMask: NSViewHeightSizable |  
NSViewWidthSizable];
}
- (void)removeVoutSubview:(NSView *)view
{
      [view removeFromSuperview];
}
@end
....
{
     VideoView *view = [[VideoView alloc] init];
      libvlc_media_player_set_nsobject(mp, view, NULL);
      // now add "view" to a Qt NSView container or whatever it is  
called.
      ....
      [view release];
}

Should be enough to bootstrap. Tell me if you need more advise. Else  
just use VLCVideoView from VLCKit as the drawable.

Pierre.



More information about the vlc-devel mailing list