Skip to main content

ServiceDetails.retrieveComponents giving DATA_UNAVAILABLE

3 replies [Last post]
ramks
Offline
Joined: 2010-06-17
Points: 0

ServiceDetails.retrieveComponents is failing in retrieval with reason DATA_UNAVAILABLE. The javadoc says

Retrieves an array of elementary components which are part of this service. The array will only contain ServiceComponent instances c for which the caller has javax.tv.service.ReadPermission(c.getLocator()). If no ServiceComponent instances meet this criteria, this method will result in an SIRequestFailureType of DATA_UNAVAILABLE. This method delivers its results asynchronously.

I saw RI code and found no permission checks. Am I getting DATA_UNAVAILABLE because of javax.tv.service.ReadPermission(c.getLocator()) ?
What should I do to fix this issue or is it a bug in RI?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ramks
Offline
Joined: 2010-06-17
Points: 0

Thanks, I too saw MHP saying all apps has this Permission by default.

Strange that a service which is able to present successfully fails when retrieval of service components is attempted.

pmodem
Offline
Joined: 2008-12-17
Points: 0

Its possible your SI request for service components is failing because there are no components available.
RI does check the read permission for components when this method serviceDetails.retrieveComponents() is called. But there may be an issue in RI - i.e If there is no read permission RI seems to be returning success with 0 length service component array. Will look into and file an issue if its confirmed. Thanks.

greg80303
Offline
Joined: 2008-07-03
Points: 0

This is certainly not a permission issue. As per MHP1.0.3 11.10.1.8, all applications are allowed access to service information. We grant that permission to all applications as part of our security policy. See org.cablelabs.impl.security.PolicyImpl.FIXED_UNSIGNED.

G