Re: [gfvs] cdda backend



On Mon, 2007-12-17 at 10:42 +0000, Bastien Nocera wrote:
> > It seems the main objections to that new cdda module for gnome-vfs were
> > 
> >  - would pull gstreamer into the client apps 
> 
> Which client app would want to deal with audio CD data without pulling
> in some sort of multimedia framework?

The problem, AFAIK, was that *any* application linking in
libgnome-vfs.so would pull in gstreamer. I understood from Alex's second
reply that was the main problem.

> >  - file manager not a good UI for ripping songs; better to launch
> >    the cd player
> 
> That's still current.

I'm not suggesting to change that.

> > However, that ignores several fundamental problems
> > 
> >  - libcdio / libparanoia isn't the API application programmers
> >    should use (however, gio is)
> 
> GStreamer is, to deal with sound data.

Sure, and I agree we should all be using GStreamer and all the apps we
all use should be using it. But a number apps still don't and there are
multiple competing frameworks etc. Then again, a lot of us (and our
technical users) run command line tools and it's just damn handy to have
the PCM data available in ~/.gvfs.

> How will you export the (very as-hoc) errors from the underlying
> libraries? 

We could return G_IO_ERROR_SCRATCHED and have the app do the moral
equivalent of an ioctl() on the GFile to set the retries. But I think
that's crazy and I'm not sure apps want to deal with error handling
_anyway_ so hiding it in the backend is fine (other fs drives don't do
this). 

I think instead the backend just skips over the scratched area and puts
up a libnotify notification (or other out-of-band signal) to notify the
user it's skipping over the scratched area (that's how DVD Player in Mac
OS X 10.5 does it)

> How do you export the MusicBrainz Disc ID, or FreeDB one?

As metadata in the WAV container (see the patch for details; search for
"Jailhouse"; it's fine, we can choose another container for the PCM data
if you want (AIFF?)

> I think that's a bad idea. And it eats the cdda:/ MRL space for
> GStreamer.

I'm not sure these namespaces are similar anyway.

      David




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]