Re: [Rhythmbox-devel] iTunes Music Sharing



On Wed, 2005-07-13 at 09:24 +1000, Jonathan Matthew wrote:
> On Tue, Jul 12, 2005 at 11:13:13AM -0400, Charles Schmidt wrote:
> > On Tue, 2005-07-12 at 23:12 +1000, Jonathan Matthew wrote:
> > > The hooks I've got at the moment are:
> > >  
> > >  gboolean (*pre_open) (RBPlayerSubtype *subtype, GstElement *playbin, 
> > >                        const char *uri, GError **error);
> > > 
> > > called just before setting the URI property on the playbin and starting
> > > playback.
> > 
> > For daap, at least, I need to fudge the uri from daap:// to http:// so
> > the playbin can understand it.  So I think the pre_open (maybe not the
> > best name) should be responsible for setting a uri to playbin.  Or,
> > pre_open should pass in char ** for a uri_out variable. I dunno.
> 
> Why's that?  I thought the daap:// thing was only so you could trigger
> some special processing in rb-player, which the subtype would do
> instead.

I'm not sure how to best answer the question, so I'll just explain what
I'm doing and perhaps that will do.  The uris are daap://, and I'd
prefer to keep them that way so that anything that is interested is
aware that these are not regular http uris.  While they do need to go to
the playbin as http uris, there is no reason why we can't (correct me if
I'm wrong) keep them as daap uris everywhere else.  I think the simplest
way to handle this is to let the pre_open (again, maybe not the best
name) function be responsible for setting the uri.

James said all he needs for cdda is your got_source function, so I guess
I'd be the only one needing this special functionality.  If people think
it makes more sense to let the uris be http ones everywhere, then thats
fine by me.  

Thoughts?

> > > It looks like a seek hook may be required for DAAP, but I don't know
> > > exactly what that should look like or how it should effect the existing
> > > seek code, so I've left it out.
> > 
> > A pre_seek (or pre_set_time) that runs in rb_player_set_time between
> > setting PAUSED & PLAYING on the playbin would be helpful. Its default
> > handler should be the regular gst_element_seek with time * GST_SECOND
> > that is already in _set_time.
> 
> OK, I'll add something like that in.

Awesome.  

-charlie


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