[MPlayer-dev-eng] MPlayer G2

Gábor Lénárt lgb at lgb.hu
Mon Mar 31 14:46:07 CEST 2003


Very well done idea ;-)

I mean, the current MPlayer source is a bit overcomplicated. Unfortunately I
hadn't got too much time to take part of developing mplayer nowdays. Now, if
I would like to do something, I'm really confused about the complexity of
MPlayer ... I thins it would be GREAT to develope something like only a
library as core mplayer, which can be used by several frontends, like
command line mplayer "UI" and graphical UI (UIs? ;-). Of course a better,
more complete, full documented API should be provided from the mplayer
"library" to allow to UIs to implement almost anything WITHOUT putting EVEN
A SINGLE dirty hack into the core mplayer library. Instead of doing ugly
things I would prefer modify the API of core mplayer even if it meens many
changes in many modules, but I think this is only the way to keep mplayer G2
as a clean and nice core without overcomplicated code with ugly hacks ... As
fas as I can see the problem of current mplayer is this: full of dirty and
compilcated hacks, which should be separated into other levels than core ...
So modularity? ;-) The preview source tarballs you pointed out by two URLs
look like quite clean for me EVEN for the first sight, while the current
mplayer code base is quite hard to follow if you miss eg some months of
developmenting ;-)

[personal note to Arpi: if you rewrite mplayer, it would be called mplay?
;-)]

On Mon, Mar 31, 2003 at 01:21:39AM +0200, Arpi wrote:
> Hi,
> 
> > Playlists, you may want to rethink this as reference files are pretty common 
> > and it would be nice if the player could handle them. But I agree that 
> > managing video playlists and audio playlists in a jukebox fashion should not 
> > be in the core, but at the UI level.
> 
> it will parse reference files and pass them back to the UI, which can then
> decdie which one to play (or give a popup window to select etc) and then
> re-launch the player core to open the selected reference.
> 
> > mplayer_play(window to draw to, url/ file to read from, option structure)
> 
> no
> 
> > mplayer_hook_event(  MPLAYER_PROGRESS, local_function_handler);
> > 
> > mplayer_pause();
> > mplayer_start();
> > mplayer_stop();
> > 
> > mplayer_init(option stucture)
> > mplayer_shutdown()	
> 
> 
> i'm about:
> 
> mpcore_init(); // global init
> 
> // for each file:
> 
> stream=open_stream("http://x.y.z:/file.avi");
> demux=demux_open(stream);
> if(demux->type==REFERENCE){ 
>   ...
>   demux=demux_open(demux->refereneces[2]);
> }
> init_audio_codec(demux->audio);
> init_ao(demux->audio->sh);
> init_video_codec(demux->video);
> init_vo(demux->audio->sh);
> 
> while(!demux->eof){
>   play_audio(demux->audio->sh)
>   play_video(demux->video->sh)
>   time=do_av_sync(demux)
>   .. do UI things
>   usec_sleep(time)
> }
> 
> close...
> 
> so it won't be so high-level as i want to give full control to the UI, and
> make it usabel for not only movie playback, but for editing, conversion etc
> 
> 
> A'rpi / Astral & ESP-team
> 
> --
> Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
> 
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng

-- 
- Gábor (larta'H)



More information about the MPlayer-dev-eng mailing list