Mac OS X Porting - Native Audio and Video

From Apache OpenOffice Wiki
Revision as of 14:35, 19 January 2011 by Acaiberryscams (Talk | contribs)

Jump to: navigation, search

Contributors

  • Eric Bachard (ericb at openoffice dot org )
  • Mox Soini: Mox


Acai Berry Scams - How To Spot A Diet Pill Scam

There are many [http://www.truthaboutacaiberry.com acai berry scams] that are commonly know by acai berry users. As most of them, these Acai Berry Scams are already out of control. So there are ways to determine a scam. In today's world, it is always important to know what you are tying to purchase especially when it come to medicines. They are very delicate because they are consumed in to your body and may damage your internal organ if not well chosen and prescribed. For acai berry, it is also a burden that there are scams that popped out.


Getting to a reputable companies this will lesser your risk into the pit of acai berry scams. That is why more and more people now a days are enjoying from the acai berry supplements because its very best for the health benefits. Another one do not waste your money as well your health so avoids such Acaiberry scam so that you will be enjoying from its instant for you to enjoy with.

Tasks

OOo scope: avmedia module

PRECONDITION: avmedia work depends on platform-independent UNO VCL API. This API is as of Feb 2007 not fully implemented in Mac OS X AQUA implementation of VCL. Until this API is completed, it is not possible to have working implementation of Quicktime avmedia module.


The main issue used for this task will be #i66170#. Everything concerning this task will be commited using this issue number.

All contributions are welcome, and all people interested for this task are invited to contribute.

Rules for contributions

1) expected work

Code only is not sufficient: to improve our efficiency and to make this code maintainable, we must document it, and we have to do that in the same time we write it.

e.g. UML Diagrams, Design patterns used. More generally, anything about Design is very welcome.


2) About code

The conditions to be respected are : accepted JCA, and provide code respecting LGPL license used for OpenOffice.org.


3) Implementation starting point:

4) Known issues: Quicktime will not be able to play all windows .avi and .wma files, because it does not support them. We may need xine or some other player backend to see some of the OOo documents created on Windows/Linux OOo.

For other backends, make sure that we don't build backends that we don't need (i.e. if defined QUARTZ/MACOSX)

affected files (at least): avmedia/source/xine/makefile.mk

Status

EricB started the work and proposed patches : Aqua player implementation.

Mox proposed an initial structure for the quicktime backend has been put up to issue 69665. It is based on the stub of Xine -backend, OOo milestone m184.

[FIXME] : document this code


  • create manager ( using UNO services) [ done ]
    • create uno layer [ done ]
    • implement correct service name / implementation name using UNO [ done ]
    • create player (using QuickTime API) [ work in progress ]
  • Missing (to be adapted for QuickTime) :

using avmedia::quicktime::

Player::Player()    // Ctor
Player::~PLayer() // Dtor
bool Player::create()
const Player::getVideoWindow()
void Player::setNotifyWnd()
void Player::setDDrawParams()  // maybe not needed
long Player::processEvent()
void Player::start()
void Player::stop()
sal_Bool Player::isPlaying()
double Player::getDuration()
void Player::setMediaTime()
double Player::getMediaTime()
void Player::setStopTime()
double Player::getStopTime()
void Player::setRate()
void Player::getRate()
void Player::setPlaybackLoop()
void Player::isPlaybackLoop()
void Player::setMute()
sal_Bool Player::isMute()
void Player::setVolumeDB()
sal_Int16 Player::getVolumeDB()

[FIXME] Other methods to be implemented ?


  • all headers are defined [ Done (using existing Xine/Win implementation) ]
  • usefull functions are identifed in Apple's API

Found in /System/Library/Framework/QuickTime.framework/Headers/Movies.h :

DisposeMovie()
Frees any memory being used by a movie, including the memory used by the movie's tracks and media structures.
EnterMovies()
Initializes the Movie Toolbox and creates a private storage area for your application.
GetMovieDuration()
Returns the duration of a movie.
GetMovieRate()
Returns a movie's playback rate.
GetMovieTime
Returns a movie's current time both as a time value and in a time structure. 
GetMovieVolume
Returns a movie's current volume setting.
IsMovieDone
Determines if a particular movie has completely finished playing.
SetMovieGWorld
Establishes a movie's display coordinate system by setting the graphics world for displaying the movie.

[FIXME] not complete


Other work in progress :

  • discuss with ka about new implementation and fix dark points
  • new implementation of -already defined- methods used in the player
  • Todo : find infos about framegrabber.cxx ?

Component Context

[FIXME] use Radek and Cedric description, very interesting

Component Design

[FIXME] use Radek and Cedric description, very interesting

Personal tools