[gst-devel] gst-player

Ronald Bultje 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 mailing list