Difference between revisions of "SoC 2007 Project Mac OS X Framework"

From VideoLAN Wiki
Jump to navigation Jump to search
(Update the status summary a bit.)
(Add a note about my broken MacBook.)
Line 14: Line 14:
  
 
I am currently re-working libvlc, so that the OS X framework can be a nice umbrella over it.
 
I am currently re-working libvlc, so that the OS X framework can be a nice umbrella over it.
 +
 +
<p style="border: thin dotted red; padding: 10px; background-color: #ffeeee;">'''My working machine (MacBook) is in reparation by now. So don't expect much work until next weekend.'''</p>
  
 
=== Timeline ===
 
=== Timeline ===

Revision as of 20:49, 1 July 2007

This project is part of Google Summer of Code 2007.
Student: Pierre d'Herbemont
Mentor: Felix Paul Kühne

Introduction

I (Pierre d'Herbemont) will use this wiki page to detail the work I'll do for the GSoC 2007. My mentor for this project is Felix Kühne.

Project Objectives

More information in my original Proposal.

Status Summary

The simple test app that links to VLC.framework is able to play a given video just fine.

I am currently re-working libvlc, so that the OS X framework can be a nice umbrella over it.

My working machine (MacBook) is in reparation by now. So don't expect much work until next weekend.

Timeline

Task Description Due Date Accomplished
My proposition has been accepted N/A Yes 12/04/2007
Work on setting up a git server to publish my work.

See Git (thanks to Dionoea). More could be done to set up something better but that's enough for me for now ;)

15/04/2007 Yes 13/04/2007
Implement the stub framework and the sample code that links to it.

See the commit on commit 1, commit 2.

15/04/2007 Yes 13/04/2007
First draft of the headers, plus partial implementation. Events, playlist, vout basic usage demo in the sample code.
  • We do have some draft which cover vout/playlist and shows how events will be relayed.
  • The sample code is less advanced than expected but that's fine, given the wanted simplicity.
  • We do have, as a side effected, implemented VLCPlaylistDataSource which is an NSOutlineView data source, and is an efficient way to display the playlist from guest app.
29/04/2007 Yes 29/04/2007
Event structure in place in MediaControl. no due date Yes 29/04/2007
Auto evalutation, keeping in mind my original Proposal: Would current VLC be able to work with the object defined? Is there any simplification possible? What changes to libvlc are needed?. 29/04/2007 Yes
Make delegate callback (events) get called on main thread. 6/05/2007 Yes 03/05/2007
Implement my RFC on libvlc (v2). ? No (in progress)
Implement Meta data in VLCMedia. ? No (in progress)
First draft of Media Library object. ? No
First draft of Dynamic playlist object. ? No
First draft of transcoding objects. ? No
First draft of picture effect objects. ? No
First draft of preferences objects. ? No
Have VLC/Mac OS X use the Framework. ? No
Make VLC work without interface. (and remove VLC Cocoa hack from core) ? No

Todo reminder

  • Rename VLCMovieView to VLCMediaView
  • Use a 1 sec time frame for the DidChangePosition
  • Make mediacontrol uses libvlc

Code repository

All the code I did for the GSoC is publicly stored on VideoLan's svn trunk (libvlc related changes) and VideoLan's Git Repository for GSoC on the pdherbemont_branch branch. To check it out:

$ git clone git://git.videolan.org/vlc-soc.git
$ cd vlc-soc

Now get my branch in a new local osx_framework branch:

$ git checkout -b osx_framework remotes/origin/pdherbemont_branch

And to keep sync-ed, tell git to use remote pdherbemont_branch for osx_framework.

$ git config branch.osx_framework.merge refs/heads/pdherbemont_branch

And tell git the remote repository is named origin.

$ git config branch.osx_framework.remote origin

Now a simple:

$ git pull

Should be enough to get synced.

Building the framework and the test app

$ cd extra/MacOSX/Framework
$ make
  • Now open extra/MacOSX/Framework/Examples/test/test.xcodeproject with Xcode
  • hit command-R

Voilà!