logo       


Re: [PATCH] KPlayObject fixes for asynchronous generation + patch for kaboo: msg#00106

Subject: Re: [PATCH] KPlayObject fixes for asynchronous generation + patch for kaboodle
On Saturday 31 August 2002 22:59, Neil Stevens wrote:
> On Saturday August 31, 2002 06:42, Matthias Welwarsky wrote:
> > Even if the implementation is source and binary compatible, some
> > caveats:
> >
> > Don't call KPlayObject.object().isNull() if you want to test for a Null
> >  Playobject. Kaboodle uses this to find out if loading of the media file
> > worked. Call KPlayObject.isNull() instead. It will return "true" if the
> >  object is a proxy. In general, it should not be necessary to test for
> >  a Null playobject anyway.
>
> Please document this, if it's dangerous.
>
> > Don't rely on capabilities(), as the proxy object will return "0"
> >  capabilities if the real object is yet to be created.
>
> How is a user supposed to be able to know whether a playobject is seekable
> or pausable then?  This is a major regression.

Ok, I added a signal "playObjectCreated" to KPlayObject, so you can connect it 
and know when capabilities() are valid. This is also needed for noatun, as 
the effect stack must of course be connected _after_ the real playobject got 
created. Also note that, if the URL points to a local file, the PlayObject is 
generated the usual way so capabilities() are valid immediately. Streams are 
not seekable anyway so this is not really a problem. Pausable is admittedly a 
problem, though I'd not call it a "major regression". Just be sure not to 
cache the capabilities.

> > The proxy object will return Arts::posIdle as state(), even if you just
> > called "play". For Streams, it can take an indefinite amount of time
> > for the connection to be opened and the playing to start.
>
> This will seriously hurt the usability of apps like kaboodle, and is also a
> regression.

No, not really, in fact kaboodle does work happily with the changed 
KPlayObject. Noatun still needs some work, however. I'll try to figure that 
out and make a patch, or adapt KPlayObject so that it works. I'm not sure if 
I expressed it clear enough: The proxy object will relay all calls to the 
real playobject once it is created, so after a certain time, capabilities() 
as well as state() return the correct values. Just don't cache them.

regards,
        matze

-- 
Matthias Welwarsky
Fachschaft Informatik FH Darmstadt
Email: matze@xxxxxxxxxxxxxxxxxxxxxxxx

"all software sucks equally, but some software is more equal"

Attachment: pgpbFRjHHdEgF.pgp
Description: signature

Ruby Jobs
Java Jobs
Jobs in California
more...
what
job title, keywords
where
city, state, zip
jobs by job search
Search:
Java, servers, webhosting, windows, cisco ...
more...
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
encryption.gpg....    ietf.rfc822/199...    freebsd.devel.i...    lang.haskell.li...    mail.squirrelma...    web.zope.plone....    yellowdog.gener...    text.xml.xalan....    recreation.phot...    kde.devel.educa...    hardware.bus.ca...    printing.ghosts...    voip.peering/20...    assembly/2006-0...    org.user-groups...    culture.interne...    network.i2p/200...    boot-loaders.ya...    xfree86.render/...    qnx.openqnx.dev...    jakarta.velocit...    user-groups.pal...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe