Phonon Five: Plugs and Sockets
Harald Sitter
sitter at kde.org
Sun Nov 18 13:39:57 GMT 2012
Having done some random work on the Phonon Five API these past couple of
days, I came to realize that we probably need two rather important classes
that were not mentioned at all up until now...
MediaNodePrivate & MediaNode in Phonon 4 did not only enable the graph
building they were more importantly providing base classes for the
pluggable object (backend objects are managed/held by MediaNodePrivate) as
well as the API comprising frontend object (MediaNode).
We most likely need exactly the same for Phonon Five. Most importantly
because we most likely want to have a solid base class to have all frontend
objects hold a backend object (short of using void *).
So here's the simplest version...
class AbstractionPlug
AbstractionSocket *qptr
QObject *m_backendObject
class AbstractionSocket
AbstractionPlug *dptr
With the Player class you then get:
Player : public AbstractionSocket {};
PlayerPrivate : public AbstractonPlug{};
If better names come to mind, please share ;)
Note that the current MediaNode foo also holds object destruction tech
which may be necessary for Phonon Five too (except as the API is right now,
objects are no managed at all... so I left that out ;)).
HS
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-multimedia/attachments/20121118/2c649d07/attachment.htm>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia
More information about the kde-multimedia
mailing list