RE: TV control API multiple module use case clarification

Hi Aginesh,

Thank you for your email, feedback from implementers is really valuable for development of the API.

I agree, there doesn't appear to be a way to explicitly mark a tuner as free through the API. I think there's a general problem here, in that tuners are a limited resource so there needs to be a way to manage access to them, and handle contention issues. We should capture this in the GitHub issue tracker for the spec [1].

Suggestions for possible solutions are very welcome. One way is to require explicit release() (or similar) calls, but this places a burden on application developers. Another way would be to take a more implicit approach, with the implementation managing the resources. In any case the specification should be clearer on this issue. 

My understanding is that the ontunerchanged event notifies applications when tuners are added/removed, and isn't intended for reporting when tuners are in-use/available.

If you have not done so already, I would like to encourage you to join the Working Group [2], and help define the API to meet your needs.

Best regards,

Chris (WG Chair)

[1] https://github.com/w3c/tvcontrol-api
[2] https://www.w3.org/2016/tvcontrol/


________________________________________
From: Aginesh Srinivasan [aginesh.srinivasan@broadcom.com]
Sent: 14 June 2016 19:52
To: public-tvapi@w3.org; selin@mozilla.com; alexander.futasz@fokus.fraunhofer.de; shkim@etri.re.kr
Cc: David Liu; Alan Lam
Subject: TV control API multiple module use case clarification

Hi,
    We at Broadcom have implemented TV stack following TV control API Specification
(https://www.w3.org/2015/tvapi/Overview.html).

    We have usecases involving multiple modules that requires TVTuner. We need some clarification on how to use the apis to handle the following scenario.

Scenario: There are two modules A and B. There is one tuner, tuner1.
Module A uses tuner1 and performs its functionality.
Module A is finished with its function and release tuner1.
Module B now wants to be able to use same tuner1 to acheive a different functionality.

Module A could find tuner1 using TVManager::getTuners()
But, once it is done using tuner1, how can moduleA inform TVManager that tuner1 is free so that moduleB can find tuner1 using TVManager::getTuners().

We see there is ontunerchanged event. But how can TVManager be aware when module A has finished using tuner1 in order to fire ontunerchanged event.
Is there any api ModuleA can call to inform TVManager that tuner1 is free?

Could you please clarify if these scenarios can be handled using TVManager apis?
If yes how do we have to use the apis.

Thanks,
Aginesh

Received on Wednesday, 15 June 2016 13:46:29 UTC