GNOME Bugzilla – Bug 693577
ObjectUpdateID and ContainerUpdateID are not incremented when adding a media in a container
Last modified: 2013-02-14 15:28:16 UTC
Setup ------ * gssdp: 3a45f61ee50a1d30574da48f6b2bbbfb9b6574b6 * gupnp: 21fccb67689e717828c2fba44aa72d63d2321cd0 * gupnp-av: bcb1e53b5239e77cd2333f3ab471cdb95bfc4584 * gupnp-dlna: fed5da3d1b79a2775e0d7ebaa8b03c4f349ee0dd * media-service-upnp: 7a0b804f6c3573c774262a39b0d4e9a9fecd0b0b * Rygel 0.17.7.37-8f125b: 8f125bedbfb444e59db81fac76fd400bb13c20b1 Pre-conditons: -------------- * Launch: media service upnp, Rygel * Launch media console with commands: * cd ~/dev/dleyna/media-service-upnp/test/ * python * from mediaconsole import * * manager = UPNP() * Open Music folder * Prepare some audio files Steps: ------ 1- In media console execute commands: * manager.servers() and copy server's id * root = Container("<server's id>") * ( e.g. root = Container("/com/intel/MediaServiceUPnP/server/0") ) 2- In media console execute commands: * Device("/com/intel/MediaServiceUPnP/server/0").tree() and copy music folder's id * Music = Container("<music folder's id>") * ( e.g. Music = Container("/com/intel/MediaServiceUPnP/server/0/6431353437393663633861356662316535616330646535336562313533393935") ) 3- In media console excute commands: * root.print_prop('SystemUpdateID') * Musiqc.print_prop('ObjectUpdateID') * Music.print_prop('ContainerUpdateID') 4- Add an audio file in Music folder 5- Repeat step 3 6- Repeat steps 4 and 5 Actual result: -------------- 3- Commands return: >>> root.print_prop('SystemUpdateID') 4218 >>> Musique.print_prop('ObjectUpdateID') 4201 >>> Musique.print_prop('ContainerUpdateID') 4195 5- Commands return: >>> root.print_prop('SystemUpdateID') 4230 >>> Musique.print_prop('ObjectUpdateID') 4201 >>> Musique.print_prop('ContainerUpdateID') 4195 6- Commands return: >>> root.print_prop('SystemUpdateID') 4242 >>> Musique.print_prop('ObjectUpdateID') 4201 >>> Musique.print_prop('ContainerUpdateID') 4195 Expected result: ---------------- 5 and 6- ObjectUpdateID and ContainerUpdateID should be cincremented Info ---- I checked that Rygel receives a LastChange request containing objAdd and it answers OK
According to UPNP specs (UPnP-av-ContentDirectory-v4-Service-20101231.pdf): SystemUpdateID The SystemUpdateID state variable MUST be incremented by 1 whenever any of the following occurs: • An object experiences an Object Modification • A new object is created. • An existing object is deleted. objectUpdateID The read-only upnp:objectUpdateID property is an OPTIONAL property that contains the value the SystemUpdateID state variable that was generated when the object experienced its latest Object Modification. In other words, the upnp:objectUpdateID property represents a last-modified timestamp for the object relative to the SystemUpdateID state variable. ContainerUpdateID It is a property for all container objects that contains the value of the SystemUpdateID state variable generated by the most recent Container Modification for that container
Created attachment 235898 [details] [review] Fix looking for harvested child's parent.
Created attachment 235899 [details] [review] Add signals to trackable container and use them in media-export implementation.