After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 693577 - ObjectUpdateID and ContainerUpdateID are not incremented when adding a media in a container
ObjectUpdateID and ContainerUpdateID are not incremented when adding a media ...
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: librygel-server
0.17.x
Other Linux
: Normal normal
: ---
Assigned To: rygel-maint
rygel-maint
IVI
Depends on:
Blocks:
 
 
Reported: 2013-02-11 10:28 UTC by Christophe Prigent
Modified: 2013-02-14 15:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix looking for harvested child's parent. (2.04 KB, patch)
2013-02-13 15:47 UTC, Krzesimir Nowak
committed Details | Review
Add signals to trackable container and use them in media-export implementation. (6.13 KB, patch)
2013-02-13 15:48 UTC, Krzesimir Nowak
committed Details | Review

Description Christophe Prigent 2013-02-11 10:28:18 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
Comment 1 Christophe Prigent 2013-02-11 10:31:37 UTC
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
Comment 2 Krzesimir Nowak 2013-02-13 15:47:59 UTC
Created attachment 235898 [details] [review]
Fix looking for harvested child's parent.
Comment 3 Krzesimir Nowak 2013-02-13 15:48:32 UTC
Created attachment 235899 [details] [review]
Add signals to trackable container and use them in media-export implementation.