rbultje at ronald.bitfreak.net
Mon Sep 16 08:57:05 CEST 2002
Hi Thomas & all,
On Mon, 2002-09-16 at 15:04, Thomas Vander Stichele wrote:
> gst-player is pretty close to being very good.
> b) a way to scale video output when resizing (resizing should be
> aspect-ratio locked, IMO) and doing full-screen.
> I discussed this briefly with ronald. videoscale seems to be bitrotten
> and according to him it's not the solution, since we need RGB scaling.
mjpegtools has quite a good YUV (I420) scaler, but agian, that's not
what we need. The problem (if you want to call it a problem) is that Xv
scales (so YUV video scales), but RGB video (X, non-Xv) doesn't. So we
need, indeed, a RGB scaler. the problem here is: how do you connect the
scaler to the pipeline if it's RGB but not if it's YUV? Wim's solution
to split xvideosink in a YUV and a RGB videosink is a good one, but far
from perfect. It has too many side-effects that we don't want.
Building the scaler inside xvideosink is also a solution, but that'd be
close to 'extremely bloated'.
Any better solutions?
> When doing full-screen or resizing, the video output sink should be
> notified of this, and either work out it's resize handling itself (when
> xvideosink uses Xv, it can obviously do this on it's own), or otherwise
> send an event upstream that asks for a software rescale.
> In that case, I suppose a videoscale plug-in is needed (apparently one
> that needs to be coded still), which would pick up this event and
> respond appropiately, sending back an acknowledge event. This allows
> the output plug-in to actually resize the window if this is necessary.
> Is this approach at all possible ?
the problem is that you need to know when to use the videoscaler and
when not. You could, of course, make the videoscaler accept both YUV
*and* RGB video and make it scale (through set_property() video only
when RGB (that'd be a get_property())... But that's still ugly...
> d) Christian suggested that it'd be nice to show our logo in the output
> window when the video is done playing.
Only when we're in the 'STOP' state, of course. And when a video
finished playing, I'd rather see the state go to PAUSED on the last
frame, so you see the last frame, rather than the Gst-logo popping up...
Two other things, player-related but basically more part of the plugins:
* avifile seems to be our main decoder now. If you don't have avifile
installed, only MPEGs will play. Why? ffmpegdec doesn't seem to work
very well, currently...
* we only support avi and mpg. Maybe mov through qtdemux. where's .asf,
.wmv, ...? ffmpeg has demuxers, would we need to write an ffmpegdemux
More information about the gstreamer-devel