Jason Tackaberry wrote: > On Tue, 2005-08-02 at 15:17 +0200, Dirk Meyer wrote: >> We need to add filters. And if I start mplayer with '-vf foo -vf bar', >> foo will be droped. That's why Freevo searches the filter chain and >> replaces that line with '-vf-add foo,bar'. > > Right, knew about that one. Easy enough.
Yes. >> Back to the features. It would be great if there would be a similar >> interface for xine and mplayer. > > My plan was to abstract that at the CanvasMovie level. This class would > provide a unified API for both backends. You just tell it which one you > want to use, or let it auto-detect (i.e. dvd:// will use xine, foo.avi > will use mplayer). Perhaps CanvasMovie is a misnomer. But it should be possible to choose a player. E.g. an avi is played by mplayer, but I have one stupid avi mplayer can't play. So I want to force xine. And there should be some sort of configuration what file to play with what player. E.g. a recording should be played with xine because of the better deinterlacer I may need for a recording. >> So no '-vf' stuff visible to the >> outside. I could say 'use software scaler' and mplayer and xine do >> without me knowing how. And maybe 'use deinterlacer tvtime,lavc'. Xine > > Something like that. I haven't really thought about what the api would > look like yet, but that's the general idea. It may be necessary to > abstract things even further, like "use medium quality deinterlacer" and > it choose the appropriate settings for each backend. Maybe. But we shouldn't remove too much power. E.g. the reason for the big number of deinterlacer in mplayer is that some people prefer deinterlacer a) and some b). We should support some way for the user to choose (config file?) > BTW, I asked in xine-devel about software scaling. Great. >> But this is only needed for the mevas stuff, I guess I don't want to >> see that in Freevo at all. And I also need the elapsed time. That's >> all (right now). > > No, CanvasMovie will take care of resolution and everything. You can > get the elapsed time by calling get_position(). Or you can hook the > "tick" signal and have a callback called for every 200 or so ms, if you > need that precision. :) Great. Every second is ok. I only need it to show the current position. BTW, remember audio playback where you have no window. And maybe show goom at an evas object (and pygoom for mplayer). >> Maybe support low power cpus? They can't use the swscaler. Or should >> be say Freevo 2.0 needs at least 1 GHz? > > Well, the osd of CanvasMovie will just be another Canvas. I want to add > support for relative positions and sizes, so you can specify a > percentage. So you can position an item at (-100, 50%) which will be > 100 pixels from the right edge of the canvas and centered vertically. > Or have an item of size (100%, 75) so it will fill the width of the > canvas and be 75 pixels high. It would be nice to have a 800x600 screen for freevo and when we start a 640x480 mplayer, everything is scaled down to fit and scaled up again after playing. I want to move some gui elements between display canvas objects. > The idea is to have canvas elements position and scale properly based on > a canvas size which is arbitrary. The main reason is so you behave > properly on both 4/3 and 16/9 displays, but the same approach should > work for OSD on non-swscaled video. -vf export is no problem for small cpus. So we could be sure it is always the correct aspect. Dischi -- Paranoid Club meeting this Friday. Now ... just try to find out where!
pgp34ofejCrW4.pgp
Description: PGP signature
