[MPlayer-cvslog] r27195 - trunk/stream/stream_dvd.c
Aurelien Jacobs
aurel at gnuage.org
Sun Jul 6 14:40:32 CEST 2008
On Sun, 06 Jul 2008 12:06:56 +0200
Nico Sabbi <nicola.sabbi at poste.it> wrote:
> Il giorno ven, 04/07/2008 alle 18.09 +0200, Mathieu SCHROETER ha
> scritto:
> > nicodvb a écrit :
> > > @@ -781,13 +785,18 @@ static int open_s(stream_t *stream,int m
> > > /**
> > > * Open the disc.
> > > */
> > > - if(!dvd_device) dvd_device=strdup(DEFAULT_DVD_DEVICE);
> > > - dvd_set_speed(dvd_device, dvd_speed);
> > > + if(p->device)
> > > + dvd_device_current = p->device;
> > > + else if(dvd_device)
> > > + dvd_device_current = dvd_device;
> > > + else
> > > + dvd_device_current = strdup(DEFAULT_DVD_DEVICE);
> > > + dvd_set_speed(dvd_device_current, dvd_speed);
> >
> > Hi,
> >
> > if dvd_device is NULL and if you use "loadfile dvd://", then
> > memory is allocated on dvd_device_current.
> > and after you use "loadfile dvd:////dev/scd1" (for example)
> > then dvd_device_current will use p->device and previous
> > allocated memory is _lost_.
> >
> > My suggestion was:
> >
> > if(!p->device) {
> > if(!dvd_device)
> > dvd_device = strdup(DEFAULT_DVD_DEVICE);
> > dvd_device_current = dvd_device;
> > } else
> > dvd_device_current = p->device;
> >
> > and malloc is only used on dvd_device (no memleak with
> > dvd_device_current)..
> >
> > Regards,
> > Mathieu
> >
>
> what about this? simpler and nicer to read IMO
I haven't read the whole code, so I can't really tell,
but wouldn't this be enough ?
- dvd_device_current = strdup(DEFAULT_DVD_DEVICE);
+ dvd_device_current = DEFAULT_DVD_DEVICE;
Aurel
More information about the MPlayer-cvslog
mailing list