[MPlayer-G2-dev] [PATCH] bin/cue-support

Arpi arpi at thot.banki.hu
Fri May 23 16:49:51 CEST 2003


Hi,

> > > It could also be backported to main as the g2-specific stuff is easy to
> > > see
> > >
> > > :-)
> > >
> > > Btw. I love this new stream-architecture. It is sooo nice to use :-))
> >
> > and it could be ever more nice :)
> >
> > static int driver_fill(stream_t *s){
> >   return cue_vcd_read((cue_priv_t*)s->priv,s->buffer);
> > }
> >
> > i see no sence of such wrappers, the actual code could go into the actual
> > function. 
> 
> I did that to be backward-compatible. (and you did it in your old stream_vcd 
> too. Heh, I'm taking exisitng code as my base :) )

my stream_vcd.c was a quick hack, with strong 'TODO: cleanup!!!' in head and TODO.

see stream_SAMPLE.c for sample :)

> > also, if you rename cue_priv_t to struct stream_priv_s, you will
> > get casting for free, ie you can access priv vars via
> > stream->priv->something, without extra typecasting!
> 
> Sorry, I don't understand. Example ?

define priv struct the beginning of teh .c file:

struct stream_priv_s {
  struct cdrom_tocentry vcd_entry;
  int xyz;
  ...
};

then you can access you rpriv vars without typecasting, so, instead of:

static int driver_fill(stream_t *s){
  struct stream_priv_s* priv=(struct stream_priv_s*)s->priv;
  something(priv->xyz);
  return len;
}

you can do simply:

static int driver_fill(stream_t *s){
  something(s->priv->xyz);
  return len;
}


> 
> >
> > also the buffer is still a static global, should be moved into the priv.
> 
> where ? It uses the buffer provided by the stream_t like stream_vcd did and 
> does.

static char vcd_buf[VCD_SECTOR_SIZE];

dunno if it's used but it is there in your patch :)


A'rpi / Astral & ESP-team

--
Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu



More information about the MPlayer-G2-dev mailing list