Hi Lars,

On 13/12/21 11:14, Lars Knoll wrote:
>>  When the new QtMultimedia was announced [1], there was a mention that
>> the Radio API was being removed (by the way, there is no mention of this
>> removal in the migration document [2]). Did it happen because of a lack
>> of time, or were there other reasons? Is it going to come back?
> 
> It wasn’t mentioned because the API was not implemented in any of the 
> backends we provided, ie. it was non-functional for regular Qt packages.

Ah, indeed I was a bit surprised looking at the v4l radio plugin code,
because it looks like it does not implement all of the the pure virtual
functions declared in the QRadioTunerControl interface, so I was
wondering how it could possibly work. :-)

> We could consider having one plugin for all of Qt MM. But I certainly do not 
> want to go back to what we had in Qt 5, namely one plugin per functionality 
> group, as that makes things extremely messy to implement.

I see, and that would also fit our use case.

> I would be fine with an additional backend maintained inside Qt MM, but it 
> also depends a bit on what you prefer. Btw, how is your backend different 
> from what we have in Qt 5.15?

We delegate audio/video playback to a separate D-Bus service. In this
way the playback can continue even when the application is moved to the
background (background applications get stopped in Ubuntu Touch after a
couple of seconds). There are also a few other benefits to this approach
(resource management, delivering the playback state via a global MPRIS
interface, etc.), but this is by far the most pressing reason.

> One thing I can say already now is that I do not want to go back to Qt 5 
> times and make the backend API public. We will need the freedom to change the 
> API between versions where required. 

That's also fine.

> It is already available as private API, and there’s a hook to load a 
> different backend in 6.2. Have a look at
> QPlatformMediaIntegration::setIntegration(). We’re using it to test the 
> frontend API with a dummy backend. 
> 
> So you should be able to do most things today, but you’d need a global 
> constructor functions that sets up the integration somewhere.

Right. So if we don't want to patch Qt, we should either get our
platform integration upstreamed, or introduce a plugin loading mechanism
that instantiates a QPlatformMediaIntegration subclass, possibly using
an environment variable for the selection.

Anyway, the situation doesn't look as gloomy as I initially thought. And
we are not talking about the immediate future, so it may be that by the
time we move to Qt6 things will have already changed. :-)

Ciao,
  Alberto


-- 
http://www.mardy.it - Geek in un lingua international
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to