[gst-devel] gst-player

Bastien Nocera hadess at hadess.net
Mon Sep 16 09:09:09 CEST 2002


On Mon, 2002-09-16 at 16:45, Steve Baker wrote:
> On Mon, 2002-09-16 at 15:04, Thomas Vander Stichele wrote:
> > So,
> > 
> > gst-player is pretty close to being very good.
> > 
> > Here are some simple things that might still be missing.
> > 
> > a) a playlist; hadess seems to ask for us to reuse his GtkPlaylist widget 
> > in totem, which sounds like a good idea.  Steve, is that doable ?
> 
> I fully intend to check out GtkPlaylist.  In the short term all
> gst-player would need is a simple playlist widget. Longer term I'd like
> to use that widget to:
> - display audio cd tracks, including track names with freedb lookup
> - display dvd chapter hierarchy

Hierarchy ? I thought DVD chapters were very much linear. But being able
to change the name for a URI is on the TODO list, yes. I'll need that to
make the DVD tracks appear a bit better. And that would also help as far
as your audio cd display is concerned. Something like:

gtk_playlist_add_mrl_with_name (GtkPlaylist *pl, char *mrl, char *name);
and
gtk_playlist_set_current_mrl_name (GtkPlaylist *pl, char *name);

Please look at the API, it's pretty simple.

> Bastien, do you think GtkPlaylist might go in this direction?

Guess so :)

> > 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.
> > 
> >    I'm not quite sure what the best solution here, but I'll tell you what
> >    should happen IMO ;)
> > 
> >    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 ?
> 
> Another simpler solution might be to figure out how to embed
> SDLVideoSink for the plebs who don't have Xv.

Embedding SDL is very much like embedding a normal XWindow. The GtkXine
widget does that, it's pretty hackish, but it works. It should really be
hidden in a widget so your program's code doesn't look so bad :)

> > c) as discussed with Steve, it would be nice to put in a snapshot of the
> >    video in the output window when the player has gone in pause.  Right
> >    now it's pretty messy because of XVideo issues (try it ;)).  There
> >    are several options for this :
> >    - fix up the snapshot plug-in and use this to do that
> >    - integrate alex's patch to nautilus to do thumbnails into libgstplay
> >    - turn off XVideo when going to pause (steve thinks this might be the
> >      simplest way)
> 
> I'd like to give this a go, but would welcome any suggestions on how to
> do it.

Turning off Xvideo isn't the best way. You'll end up with a lot problems
switching it off and on. Best would be for one plugin in the stream to
keep a copy of the latest frame outputted and keep on sending it to the
video output... I don't know how that would work with GStreamer, as
elements aren't supposed to spin when PAUSED.

> > d) Christian suggested that it'd be nice to show our logo in the output
> >    window when the video is done playing.
> 
> We need a png of the GStreamer slugs antialiased on a black background.

It will probably look arse ;) Try inverting it, should look better :)

> > e) three "sensibility features":
> >    - if the next video you play is bigger than the previous one, and
> >      the new size is partly off the screen, would it be posible somehow
> >      to move the window to a new place that allows you to see all the
> >      video ?
> > 
> >    - resizing, full-screen, etc. should ALWAYS keep the aspect ratio of
> >      the video.  This also means that doing fullscreen on a dualhead 
> >      should just fullscreen on one of the two heads, not across both.
> > 
> >    - I love the full-screen ui, but there should be some way to turn it
> >      off for real full-screen.  Maybe steal totem's way of doing that.
> 
> I intend to do an auto-hide, which is switchable with a gconf option.

Huh, why wouldn't it *always* auto-hide ? Sounds like the right thing to
do IMO.

Cheers

-- 
/Bastien Nocera
http://hadess.net





More information about the gstreamer-devel mailing list