Ticket #30 (closed defect: invalid)

Opened 5 years ago

Last modified 7 months ago

A/V Version 1 and 2 confuses CD clients

Reported by: philn Assigned to: dev
Priority: major Milestone:
Component: Core Version:
Keywords: Cc:

Description

If MediaServer provides both V2 and V1, some content_directory clients like djmount or Elisa get confused and use by default the V2.. We should maybe be able to choose between the two

Change History

27.11.2006 10:26:32 changed by dev

  • status changed from new to closed.
  • resolution set to invalid.
  • component changed from Coherence - across the board to Core.

That's an issue I somehow encountered already in #26 and probably not related to Coherence.

Coherence provides A/V v2 services. In doing so, the device description states that we have here v2 device providing v2 services. The link to the device description is propagated with the SSDP notifications.

As a v2 device has to react on v1 requests too, a Coherence MediaServer sends out the following notifications:

  • root-device, pointing to description v2
  • uuid, pointing to description v2
  • device v2, pointing to description v2
  • services v2, pointing to description v2
  • device v1, pointing to description v1
  • services v1, pointing to description v1

If now a ControlPoint - like Elisa - reacts on new devices upon root-device notifications it will receive from Coherence its description v2 file.

But Elisa then, while parsing and processing that file, looks there for a ContentDirectory:1 service.

A quick fix is to check there for a ContentDirectory:2 service too. Or ignore the version number as long as there is no real difference between the actions.

But the real question to answer is:

  • shall a ControlPoint not react on root-device notifications and only on device notifications? If it receives a v2 and a v1 notification for the same UUID, shall it ignore the lower version? What if the v2 notification was lost in the network traffic?
  • shall a v2 device send out notifications for v2 with UUID A and for v1 with UUID B? How does this fit into the requirement, that a v2 device has to respond to v1 requests? And again, how shall a ControlPoint distinguish between them?
  • or do we have found here something that was overlooked while designing UPnP A/V v2 specs?