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 626196 - OPPO DBP-80/83
OPPO DBP-80/83
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: IOP
0.7.x
Other Linux
: Normal normal
: ---
Assigned To: Zeeshan Ali
Zeeshan Ali
: 628557 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-08-06 12:11 UTC by Zeeshan Ali
Modified: 2010-09-16 17:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Wireshark capture (156.07 KB, application/octet-stream)
2010-08-06 17:52 UTC, guyomel
  Details
Wireshar log with new patch (12.79 KB, application/octet-stream)
2010-08-09 19:08 UTC, guyomel
  Details
Wireshark log for rygel (6.47 KB, application/octet-stream)
2010-08-10 13:20 UTC, guyomel
  Details
Coherence log (6.60 KB, application/octet-stream)
2010-08-10 13:21 UTC, guyomel
  Details
Log for coherence and rygel (12.23 KB, application/octet-stream)
2010-08-10 19:04 UTC, guyomel
  Details
Coherence Log (114.97 KB, application/octet-stream)
2010-08-13 07:50 UTC, guyomel
  Details
Rygel log (38.64 KB, application/octet-stream)
2010-08-15 15:31 UTC, guyomel
  Details
Rygel log (70.20 KB, application/octet-stream)
2010-08-16 12:31 UTC, guyomel
  Details
Add "Server" header to HTTP GET responses (594 bytes, patch)
2010-08-17 16:08 UTC, Zeeshan Ali
none Details | Review
Rygel log (154.91 KB, application/octet-stream)
2010-08-18 20:05 UTC, guyomel
  Details
Force content directory version (621 bytes, patch)
2010-08-27 19:51 UTC, Jens Georg
none Details | Review
Force content directory version (620 bytes, patch)
2010-08-27 19:56 UTC, Jens Georg
none Details | Review
Wireshark log for Rygel (239.69 KB, application/octet-stream)
2010-09-11 21:17 UTC, guyomel
  Details

Description Zeeshan Ali 2010-08-06 12:11:42 UTC
Copy pasting the report from Guillaume Lanquepin-chesnais <guyomel@gmail.com>:

------------------------
I'm trying to use Rygel with the OPPO
DBP-80(http://www.oppodigital.com/blu-ray-bdp-80/) but the player (with
the last firmware) does not even see the share. I've tried on ubuntu
lucid with Rygel 0.4.10-2 from the Ubuntu's repository and I compiled
the lastest releases, ie the 0.6.0 and 0.7.1. However, my Coherence
share (http://coherence.beebits.net) works well with the Oppo's device.
----------------------
Comment 1 guyomel 2010-08-06 17:52:00 UTC
Created attachment 167266 [details]
Wireshark capture
Comment 2 guyomel 2010-08-06 17:54:01 UTC
I compiled rygel from http://static.fi/~zeenix/tmp/rygel-0.7.3.37-0d15.tar.gz who containts the patch (kindelly :-) ) made by Zeeshan Ali. However, I didn't get any positive answer for my Oppo player. I jointed capture from wireshark when the device is discovering upnp servers on the network.
Comment 3 Zeeshan Ali 2010-08-08 20:57:16 UTC
Thanks for providing the log, I'm looking at it right and comparing with code in gssdp to find out why discovery might be failing. Before I go any further, is there by any chance any errors or warnings on the rygel console?
Comment 4 Zeeshan Ali 2010-08-08 21:54:39 UTC
Ah, my patch was incomplete. Sorry for that and Please grab & try this one out:

http://static.fi/~zeenix/tmp/rygel-0.7.3.54-32b6c.tar.gz

If it doesn't work, please paste the new wireshark log again.
Comment 5 guyomel 2010-08-09 19:08:37 UTC
Created attachment 167448 [details]
Wireshar log with new patch
Comment 6 guyomel 2010-08-09 19:09:18 UTC
I tryied the new patch version without more success. I ran Oppo upnp client against n900 one who works.  I didn't see any errors on rygel logs.

** (rygel:2075): DEBUG: Loaded user configuration from file '/home/jess/.config/rygel.conf'
** (rygel:2075): DEBUG: Searching for modules in folder '/usr/local/lib/rygel-1.0' ..
** (rygel:2075): DEBUG: new network context lo (127.0.0.1) available.
** (rygel:2075): DEBUG: Ignoring network context lo (127.0.0.1).
** Message: New plugin 'Playbin' available
** (rygel:2075): DEBUG: Loaded module source: '/usr/local/lib/rygel-1.0/librygel-playbin.so'
** (rygel:2075): DEBUG: Loaded module source: '/usr/local/lib/rygel-1.0/librygel-external.so'
** Message: New plugin 'MediaExport' available
** (rygel:2075): DEBUG: Loaded module source: '/usr/local/lib/rygel-1.0/librygel-media-export.so'
** (rygel:2075): DEBUG: Plugin 'Tracker' disabled in user configuration, ignoring..
** (rygel:2075): DEBUG: Loaded module source: '/usr/local/lib/rygel-1.0/librygel-media-tracker.so'
** (rygel:2075): DEBUG: Finished searching for modules in folder '/usr/local/lib/rygel-1.0'
** (rygel:2075): DEBUG: new network context eth1 (192.168.10.184) available.
** (rygel:2075): DEBUG: No icon provided by plugin 'MediaExport'. Using Rygel logo..
** (rygel:2075): DEBUG: Using database file /home/jess/.cache/rygel/media-export.db
** (rygel:2075): DEBUG: No icon provided by plugin 'Playbin'. Using Rygel logo..
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'TransportState = STOPPED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'TransportStatus = OK' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'PlaybackStorageMedium = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'RecordStorageMedium = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'PossiblePlaybackStorageMedia = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'PossibleRecordStorageMedia = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentPlayMode = NORMAL' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'TransportPlaySpeed = 1' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'RecordMediumWriteStatus = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentRecordQualityMode = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'PossibleRecordQualityMode = NOT_IMPLEMENTED' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'NumberOfTracks = 0' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentTrack = 0' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentTrackDuration = 00:00:00' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentMediaDuration = 00:00:00' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentTrackMetadata = ' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'CurrentTrackURI = ' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'AVTransportURI = ' logged
** (rygel:2075): DEBUG: rygel-changelog.vala:74: 'NextAVTransportURI = NOT_IMPLEMENTED' logged
** Message: 'file:///home/jess/Videos' harvested
** (rygel:2075): DEBUG: rygel-browse.vala:104: Fetching 64 children of container '0' from index 0..
** (rygel:2075): DEBUG: rygel-browse.vala:111: Fetched 64 children of container '0' from index 0.
** (rygel:2075): DEBUG: rygel-media-query-action.vala:134: searching for object '0a3c9e4c00c452166b74003fca866e11'..
** (rygel:2075): DEBUG: rygel-media-query-action.vala:142: object '0a3c9e4c00c452166b74003fca866e11' found.
** (rygel:2075): DEBUG: rygel-browse.vala:104: Fetching 64 children of container '0a3c9e4c00c452166b74003fca866e11' from index 0..
** (rygel:2075): DEBUG: rygel-browse.vala:111: Fetched 64 children of container '0a3c9e4c00c452166b74003fca866e11' from index 0.
** (rygel:2075): DEBUG: rygel-media-query-action.vala:134: searching for object '435734868ff137e8cba2a958df756fa9'..
** (rygel:2075): DEBUG: rygel-media-query-action.vala:142: object '435734868ff137e8cba2a958df756fa9' found.
** (rygel:2075): DEBUG: rygel-media-query-action.vala:134: searching for object '435734868ff137e8cba2a958df756fa9'..
** (rygel:2075): DEBUG: rygel-media-query-action.vala:142: object '435734868ff137e8cba2a958df756fa9' found.
** (rygel:2075): DEBUG: HTTP GET request for URI 'http://192.168.10.184:30020/RygelHTTPServer/MediaExport/item/NDM1NzM0ODY4ZmYxMzdlOGNiYTJhOTU4ZGY3NTZmYTk='. Headers:
** (rygel:2075): DEBUG: rygel-http-server.vala:194: Host : 192.168.10.184:30020
** (rygel:2075): DEBUG: rygel-http-server.vala:194: Connection : close
** (rygel:2075): DEBUG: rygel-http-server.vala:194: icy-metadata : 1
** (rygel:2075): DEBUG: rygel-http-server.vala:194: transferMode.dlna.org : Streaming
** (rygel:2075): DEBUG: rygel-http-server.vala:194: User-Agent : GStreamer souphttpsrc libsoup/2.26.3
** (rygel:2075): DEBUG: rygel-http-get.vala:98: Following HTTP headers appended to response:
** (rygel:2075): DEBUG: rygel-http-get.vala:100: Date : Mon, 09 Aug 2010 18:50:18 GMT
** (rygel:2075): DEBUG: rygel-http-get.vala:100: Content-Type : video/x-msvideo
** (rygel:2075): DEBUG: rygel-http-get.vala:100: Accept-Ranges : bytes
** (rygel:2075): DEBUG: rygel-http-get.vala:100: Content-Range : bytes 0-734494719/734494720
** (rygel:2075): DEBUG: rygel-http-get.vala:100: Content-Length : 734494720
** (rygel:2075): DEBUG: rygel-http-get.vala:100: transferMode.dlna.org : Streaming
** (rygel:2075): DEBUG: rygel-http-get.vala:100: contentFeatures.dlna.org : *
** (rygel:2075): DEBUG: HTTP client aborted GET request for URI 'http://192.168.10.184:30020/RygelHTTPServer/MediaExport/item/NDM1NzM0ODY4ZmYxMzdlOGNiYTJhOTU4ZGY3NTZmYTk='.
** (rygel:2075): DEBUG: HTTP GET request for URI 'http://192.168.10.184:30020/RygelHTTPServer/MediaExport/item/NDM1NzM0ODY4ZmYxMzdlOGNiYTJhOTU4ZGY3NTZmYTk=' handled.
Comment 7 Zeeshan Ali 2010-08-09 21:13:04 UTC
(In reply to comment #6)
> I tryied the new patch version without more success.

  :( OK, one last shot in the dark: Stop rygel, run the following command and start rygel again:

sed -i 's/Manager:2/Manager:1/' ~/.config/Rygel/MediaExport-xbox.xml

> I ran Oppo upnp client
> against n900 one who works.

  More important is what coherence provides the OPPO player to make it happy. If possible, please do run coherence and rygel both when you start the discovery/search on OPPO player next time and provide that log.

  I don't promise anything but believe me I'm trying my best to solve this issue and greatly appreciate your feedback and patience with us. :)
Comment 8 Zeeshan Ali 2010-08-09 21:25:16 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > I tryied the new patch version without more success.
> 
>   :( OK, one last shot in the dark: Stop rygel, run the following command and
> start rygel again:
> 
> sed -i 's/Manager:2/Manager:1/' ~/.config/Rygel/MediaExport-xbox.xml

  Forget that! It wont work cause rygel always creates that part from scratch. Just provide the new packet log against coherence for now and I'll provide another modified rygel tarball if the log gives me any clues.
Comment 9 guyomel 2010-08-10 13:20:52 UTC
Created attachment 167509 [details]
Wireshark log for rygel
Comment 10 guyomel 2010-08-10 13:21:23 UTC
Created attachment 167510 [details]
Coherence log
Comment 11 guyomel 2010-08-10 13:30:12 UTC
So, as the Oppo player have native surport for Mkv files, I added one to be sure that it does not hide the server since it did not see any "readible" files. But it changes nothing.

After I remade a wireshark log for rygel. But as both my coherence server and my Oppo are on wire, I didn't see anything from my wireless laptop (on which run Rygel) thus I've tried to use tcpdump form the coherence's computer to get the same kind of log than with wireshark. My command where the following: 

sudo tcpdump host 192.168.10.110 -A -w coherence.bz2 -z bzip

Please correct it if it is not what you expected.

I also tried to get in touch with some technician from Oppo, but whithout success up to now.
Comment 12 Zeeshan Ali 2010-08-10 14:42:00 UTC
(In reply to comment #11)
> So, as the Oppo player have native surport for Mkv files, I added one to be
> sure that it does not hide the server since it did not see any "readible"
> files. But it changes nothing.

  That can't be the issue since OPPO just ignore rygel after getting the description from it.
 
> After I remade a wireshark log for rygel. But as both my coherence server and
> my Oppo are on wire, I didn't see anything from my wireless laptop (on which
> run Rygel)

  Interesting! If you run wireshark as root and capture in 'promiscuous' mode, you must be able to see ALL packets on the network. If that is not the case, your network setup has some issues that *might* be the cause of all this.

> thus I've tried to use tcpdump form the coherence's computer to get
> the same kind of log than with wireshark. My command where the following: 
> 
> sudo tcpdump host 192.168.10.110 -A -w coherence.bz2 -z bzip
> 
> Please correct it if it is not what you expected.

  The resulting file open fine in wireshark but I'm unable to find the packet(s) that has the device description document, which is the only thing I'm interesting in ATM. Also, the packet contents look.. modified. I think you want to drop that '-A' parameter.

> I also tried to get in touch with some technician from Oppo, but whithout
> success up to now.

  Yeah, I wouldn't push my luck on that one. :(
Comment 13 guyomel 2010-08-10 19:04:38 UTC
Created attachment 167541 [details]
Log for coherence and rygel
Comment 14 guyomel 2010-08-10 19:16:18 UTC
I did previous tests with my laptop directly plug in the switch, but I didn't get more answer form the player... Especially, wireshark didn't see any packet from 192.168.10.3 (my coherence server) even in 'promiscuous' mode on ethernet. Probably a hardware limitation.

Anyway I (normally) improve the log for coherence.

Thank you to spen so much time on my bug.
Comment 15 Zeeshan Ali 2010-08-11 15:08:37 UTC
(In reply to comment #14)
> I did previous tests with my laptop directly plug in the switch, but I didn't
> get more answer form the player... Especially, wireshark didn't see any packet
> from 192.168.10.3 (my coherence server) even in 'promiscuous' mode on ethernet.
> Probably a hardware limitation.

  That makes me even more suspicious of your setup. Have you tried running rygel on the same machine as coherence?

> Anyway I (normally) improve the log for coherence.

  The packets are still truncated. Wireshark even tells that:

[Packet size limited during capture: JXTA truncated]

> Thank you to spen so much time on my bug.

  No problems, however I can't possibly do anything unless I get to see all the communication between coherence and your player.
Comment 16 guyomel 2010-08-13 07:49:07 UTC
Ok, I endly understand why I wasn't able to capture packet from others computers: it's because the Oppo and the server are plugged on a switch (http://www.tcpdump.org/faq.html#promiscsniff). Moreover, I also found how getting  a descent log with tcpdump (http://www.wireshark.org/docs/wsug_html_chunked/AppToolstcpdump.html), then you should be able to read this new log.
Comment 17 guyomel 2010-08-13 07:50:01 UTC
Created attachment 167780 [details]
Coherence Log
Comment 18 Zeeshan Ali 2010-08-15 02:14:04 UTC
(In reply to comment #17)
> Created an attachment (id=167780) [details]
> Coherence Log

  Now we are talking. :) The first thing I notice is that coherence's description document doesn't contain any newline characters. If thats whats bothering OPPO in our description, here is a simple work-around:

* Execute the following commands:
  * rm ~/.config/Rygel/*
  * for FILE in `ls ~/.config/Rygel`; do echo `cat ~/.config/Rygel/$FILE |tr -d \\\n` > ~/.config/Rygel/$FILE; done

* Run the normal (unpatched) rygel.

  Let me know if it works cause this would be really easy to fix.
Comment 19 guyomel 2010-08-15 15:31:01 UTC
Created attachment 167902 [details]
Rygel log
Comment 20 guyomel 2010-08-15 15:35:58 UTC
I removed all newline charaters of MediaExport.xml who is the only file in ~/.config/Rygel. To do so, I had to remove write permisssion on it, since at each run Rygel (0.4.10) addes a newline after <?xml version="1.0"?>. 

Anyway, Oppo still does not see Rygel I attached the resulting log.
Comment 21 Zeeshan Ali 2010-08-16 00:57:56 UTC
> I removed all newline charaters of MediaExport.xml who is the only file in
> ~/.config/Rygel. To do so, I had to remove write permisssion on it, 

  Firstly, that should break it even further since rygel assumes that it can write to those files and in case of failure, it'll just give-up on creating the devices.

  I even tested this theory by doing exactly the same here but since your log clearly shows rygel up and running, I'm astonished how this worked for you.

  Anyway, it doesn't seem that newlines is what is bothering our friend OPPO.

> since at
> each run Rygel (0.4.10) addes a newline after <?xml version="1.0"?>.

  Wait, you are using rygel 0.4.10? Thats way toooo old. :( The last stable release was 0.6.0 and you should be at least using that. Actually, while we are working on this together, I would really appreciate if you could use the git master of rygel as when/if i get it fixed it git master, I would really like you to verify the fix.

So comparing the description files again, another thing I find is that coherence prefixes all SCPD URLs with a "/". Since you've somehow managed to make rygel use the XML file without modifying it, could you try prepending a "/" to contents of all nodes having "URL" in their names?
Comment 22 Zeeshan Ali 2010-08-16 01:39:22 UTC
I just fixed the following issues in git master:

1. rygel adding '<?xml version="1.0"?>' each time it starts.

2. rygel not providing "/" in front of URLs in the description.

Please test rygel from this tarball that I built for you: http://static.fi/~zeenix/tmp/rygel-0.7.3.146-3aae.tar.gz .

Please do remember to wipe the '~/.config/Rygel' clean before you run rygel. Also, if this still doesn't work, do give the 'newline' removal another chance as it might be a combination of more than one factors.
Comment 23 Zeeshan Ali 2010-08-16 01:45:47 UTC
Oops, I spoke too early. The issue#1 in the previous comment is still there. It seems to be an libxml issue so i can't really solve it in rygel. Hopefully its the "/" issue so i'll now wait for the results of your next testing session. :)
Comment 24 guyomel 2010-08-16 12:31:32 UTC
Created attachment 167962 [details]
Rygel log

I ran the lastest version you gave my after wiping the Rygel's config directory. But without any improvement, Rygel is still not viewed by the Oppo
Comment 25 Zeeshan Ali 2010-08-17 16:08:06 UTC
Created attachment 168110 [details] [review]
Add "Server" header to HTTP GET responses
Comment 26 Zeeshan Ali 2010-08-17 16:10:30 UTC
Ok, the patch I just attached is my last attempt. Please apply it on gupnp git master (it might just work on older gupnp source as well) and try again with this patch in place. Oh and either use rygel from tarball I provided or the one of latest (0.7.4) release.

Other than that, I can't figure anything only through wireshark. :(
Comment 27 guyomel 2010-08-18 20:05:10 UTC
Created attachment 168223 [details]
Rygel log

I ran rygel from git master with gupnp, gupnp-dnla, gupnp-av also from git. Of course I patched gupnp. 
Nevertheless, I did get any positive answers from the Oppo, neither with end line neither without. 

I attached a last rygel log, thus you can check that I made everything in the rigth way. Thanj you for all the time you spent on this bug. 

I will try to get in touch with Oppo technical staff.
Comment 28 Jens Georg 2010-08-27 19:51:38 UTC
Created attachment 168921 [details] [review]
Force content directory version

Could you try this patch, please? It forces the ContentDirectory to version 1
Comment 29 Jens Georg 2010-08-27 19:56:34 UTC
Created attachment 168922 [details] [review]
Force content directory version

Oops, sorry. Typo. Try this one please
Comment 30 Zeeshan Ali 2010-08-27 20:06:50 UTC
(In reply to comment #29)
> Created an attachment (id=168922) [details] [review]
> Force content directory version
> 
> Oops, sorry. Typo. Try this one please

 Thats the first thing we tried. :)
Comment 31 guyomel 2010-09-01 18:52:57 UTC
So should I or not try this patch ? Else, I've tried the last git version without mor success. I also recieved mails from Oppo saying they are investigated the problem, but it seems that they had some problems to compile Rygel.
Comment 32 Zeeshan Ali 2010-09-01 19:41:43 UTC
(In reply to comment #31)
> So should I or not try this patch ?

  No need as we already tried this (possible) solution.

> Else, I've tried the last git version
> without mor success.

  I wouldn't expect rygel to work against OPPO until we find out what the issue is.
 
> I also recieved mails from Oppo saying they are
> investigated the problem, but it seems that they had some problems to compile
> Rygel.

  I find it interesting that they not only replied but even tried to build rygel. :) Anyway, do emphasize to them the fact that your wireshark logs should be more than enough for them to find out the issue as (unlike us), they've access to sources of all the software involved: theirs, rygel's and coherence's.
Comment 33 guyomel 2010-09-11 21:17:55 UTC
Created attachment 170043 [details]
Wireshark log for Rygel

I recieved that mail from OPPO:

He has installed the Rygel server on Ubuntu Linux and think the problem is related to the XML parser: the XML library on BDP-80’s DMP is slightly old and cannot parse all formats correctly.  

 

Could you please make a change to the file “RootDevice0x887b808.xml”?  (The changes are marked in red color text)

 

"<?xml version=\"1.0\"?>\r\n" \
"<root xmlns=\"urn:schemas-upnp-org:device-1-0\" xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">\r\n" \
"<specVersion>\r\n" \
"<major>1</major>\r\n" \
"<minor>0</minor>\r\n" \
"</specVersion>\r\n" \
"<device>\r\n" \
"<deviceType>urn:schemas-upnp-org:device:MediaServer:2</deviceType>\r\n" \
"<friendlyName>alexzhu's media</friendlyName>\r\n" \
"<manufacturer>Rygel Developers.</manufacturer>\r\n" \
"<manufacturerURL>http://live.gnome.org/Rygel</manufacturerURL>\r\n" \
"<modelName>Rygel</modelName>\r\n" \
"<modelNumber>0.1</modelNumber>\r\n" \
"<modelDescription></modelDescription>\r\n" \
"<serialNumber>0000001</serialNumber>\r\n" \
"<UDN>uuid:41c09cd9-3555-486a-8249-69b9ccc9eff6</UDN>\r\n" \
"<UPC></UPC>\r\n" \
"<presentationURL></presentationURL>\r\n" \
"<serviceList>\r\n" \
"<service>\r\n" \
"<serviceType>urn:schemas-upnp-org:service:ContentDirectory:2</serviceType>\r\n" \
"<serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>\r\n" \
"<SCPDURL>xml/ContentDirectory.xml</SCPDURL>\r\n" \
"<eventSubURL>MediaExport/RygelMediaExportContentDir/Event</eventSubURL>\r\n" \
"<controlURL>MediaExport/RygelMediaExportContentDir/Control</controlURL>\r\n" \
"</service>\r\n" \
"<service>\r\n" \
"<serviceType>urn:schemas-upnp-org:service:ConnectionManager:2</serviceType>\r\n" \
"<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>\r\n" \
"<SCPDURL>xml/ConnectionManager.xml</SCPDURL>\r\n" \
"<eventSubURL>MediaExport/RygelSourceConnectionManager/Event</eventSubURL>\r\n" \
"<controlURL>MediaExport/RygelSourceConnectionManager/Control</controlURL>\r\n" \
"</service>\r\n" \
"</serviceList>\r\n" \
"<dlna:X_DLNADOC>DMS-1.50</dlna:X_DLNADOC>\r\n" \
"<dlna:X_DLNADOC>M-DMS-1.50</dlna:X_DLNADOC>\r\n" \
"<dlna:X_DLNACAP></dlna:X_DLNACAP>\r\n" \
"</device>\r\n" \
"<URLBase>http://172.16.133.231:49200/</URLBase>\r\n" \
"</root>\r\n"

I tryed to modify xml files in ~/.config/Rygel as OPPO proposed (ie replace \n by \r\n and avoid tag as <UPC \> for <UPC></UPC>). But it didn't work. 

I jointed again the wireshark log.
Comment 34 Zeeshan Ali 2010-09-11 23:18:45 UTC
Thats really helpful, I'll make the appropriate changes soon (i'll be back from vacation on monday) and hopefully we'll be able to correct the issue. Since the coloring was lost in here, just to be completely sure I must ask if the only issues were the empty nodes (e.g UPC) and '\n' being used instead of '\n\r' ?

Thanks so much for not giving-up and thanks OPPO for caring so much.
Comment 35 Zeeshan Ali 2010-09-11 23:35:02 UTC
*** Bug 628557 has been marked as a duplicate of this bug. ***
Comment 36 guyomel 2010-09-12 08:55:10 UTC
(In reply to comment #34)
> Thats really helpful, I'll make the appropriate changes soon (i'll be back from
> vacation on monday) and hopefully we'll be able to correct the issue. Since the
> coloring was lost in here, just to be completely sure I must ask if the only
> issues were the empty nodes (e.g UPC) and '\n' being used instead of '\n\r' ?

Yes, issues seem to be self-closing tag (e.g UPC and presentationURL) and '\n\r' in spite of '\n'

> Thanks so much for not giving-up and thanks OPPO for caring so much.

No problem ;-)
Comment 37 Zeeshan Ali 2010-09-12 20:50:06 UTC
(In reply to comment #33)
>
> I tryed to modify xml files in ~/.config/Rygel as OPPO proposed (ie replace \n
> by \r\n and avoid tag as <UPC \> for <UPC></UPC>). But it didn't work. 

Try removing all those files and apply needed modifications to '$PREFIX/rygel/xml/*' instead followed by a restart of rygel. If these are the only changes needed, rygel should finally appear on your OPPO player (you might need to refresh the discover on the player side).
Comment 38 Zeeshan Ali 2010-09-13 12:18:15 UTC
(In reply to comment #36)
> (In reply to comment #34)
> > Thats really helpful, I'll make the appropriate changes soon (i'll be back from
> > vacation on monday) and hopefully we'll be able to correct the issue. Since the
> > coloring was lost in here, just to be completely sure I must ask if the only
> > issues were the empty nodes (e.g UPC) and '\n' being used instead of '\n\r' ?
> 
> Yes, issues seem to be self-closing tag (e.g UPC and presentationURL) and
> '\n\r' in spite of '\n'

  Its '\r\n' instead of '\n\r' so that might have been the reason it didn't work for you.
Comment 39 Zeeshan Ali 2010-09-13 13:27:06 UTC
I fixed both issues in git master. If the problem is still there, please feel free to re-open the bug. Here is a tarball for you to test: http://static.fi/~zeenix/tmp/rygel-0.7.7.5-eda5-dirty.tar.gz . Don't forget to remove '~/.config/Rygel/*' before you test.
Comment 40 Zeeshan Ali 2010-09-14 23:57:57 UTC
Apparently, this didn't really get fixed because of libxml stripping of the '\r' characters on saving the file. I'll fix it very soon.
Comment 41 huanghao 2010-09-15 11:57:49 UTC
Hi all:

HTTP/1.1 200 OK 
Date: Wed, 15 Sep 2010 11:42:57 GMT 
Content-Type: application/xml 
Accept-Ranges: bytes 
Content-Length: 2192 

modified to 

HTTP/1.1 200 OK 
Date: Wed, 15 Sep 2010 11:42:57 GMT 
Content-Type: text/xml 
Accept-Ranges: bytes 
Content-Length: 2192
Comment 42 Zeeshan Ali 2010-09-15 12:08:42 UTC
*** Bug 629582 has been marked as a duplicate of this bug. ***
Comment 43 Zeeshan Ali 2010-09-15 12:31:31 UTC
Fixed the newline issue in git master.

(In reply to comment #41)
> Content-Type: application/xml 
> 
> modified to
>
> Content-Type: text/xml 

Thanks for pointing that out. However, according to the UPnP Device description document this needs to be: text/xml; charset="utf-8". Would that work against OPPO?
Comment 44 huanghao 2010-09-15 12:58:42 UTC
yes
Comment 45 Zeeshan Ali 2010-09-15 13:05:46 UTC
(In reply to comment #44)
> yes

Good, in that case I just fixed this in gupnp git master.

Dear reporters,
  Please try to reproduce this against gupnp git master together with rygel from this tarball: http://static.fi/~zeenix/tmp/rygel-0.7.8.5-14071.tar.gz . As usual, don't forget to remove the cached xml files in '~/.config/Rygel'.
Comment 46 guyomel 2010-09-16 17:57:12 UTC
Victory ! My Oppo player the Rygel's share. Thank you a lot!

Just a last problem, Oppo didn't see any other videos than mkv files even if transcoding is enable...

But everything  else works great. 

Thanks