Bug 64610 - Realplayer plugin no longer works in Konqueror
Summary: Realplayer plugin no longer works in Konqueror
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: nsplugins (show other bugs)
Version: 3.3
Platform: Gentoo Packages Linux
: HI normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-20 19:05 UTC by Jesse Dowell
Modified: 2005-02-22 23:27 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Dowell 2003-09-20 19:05:10 UTC
Version:           unknown (using KDE 3.1.3)
Installed from:    Gentoo
Compiler:          gcc version 3.2.2
OS:          Linux (i686) release 2.4.20-gentoo-r5

After upgrading to KDE 3.1.3 the realplayer plugin simply doesn't work.....no crashes or anything...just a black box where the embeded realplayer used to appear in my 3.1.1 install.

My plugins tab in Konqueror shows that the plugin is recognized.

/usr/lib/mozilla/plugins/rpnp.so
MIME type audio/x-pn-realaudio-plugin
description RealPlayer Plugin Metafile
suffixes rpm

The site that I'm trying to view the video on is http://www.cbsnews.com - just click on any of the video links available on the homepage.

Mozilla does display the videos on this site using the same plugin.

Realplayer version is 8.0.3.421
Comment 1 Stephan Kulow 2003-09-20 21:39:37 UTC
please report to gentoo, it works fine here. 
Comment 2 George Staikos 2003-09-20 21:42:53 UTC
Doesn't work for me on Linux PPC (Yellow Dog) or SuSE 8.1.  Given that I'm the 
developer of nsplugins, I guess I should investigate a bit first... 
Comment 3 George Staikos 2003-12-01 05:11:15 UTC
I get type errors now.
Comment 4 w7aggag 2003-12-20 21:54:36 UTC
i report that this dose not work in mandrake 9.2 
Comment 5 Doug Glenn 2003-12-25 01:56:53 UTC
This fails in 3.1.4 Konq as well in the Suse 9.0  Works fine with Mozilla. Error with KFMEXEC opening file in temp dir.
Comment 6 Rudolf Kollien 2004-01-24 17:49:28 UTC
See the same in Konq 3.1.4 SuSE 9.0 Intel. Site loads and you can see where the player should appear. But nothing happens. 

Unfortunatelly the realplayer plugin doesn't function with mozilla 1.4 and above and firebird 0.7. Seems to be a problem with gcc3.x and the old plugins. Real doesn't provide a gcc3.x-plugin. The new project "helix" lacks of functionality. Specially the plugin doesn't run.
Comment 7 Robin Rosenberg 2004-03-17 12:05:48 UTC
Add Mandrake 10 too. For me it is http://www.sr.se/cgi-bin/webbradio/frameset.asp?audioID=&audioType=&audioFilePath=&intUnitID=&strChannel=&intplugin=1

(or www.sr.se and click on Webbradio)

I hacked the frame that embeds the player locally (setting base to the original site). It seems the explicit type attribute confuses konqueror. The mime type returned for the embedded object is actually "audio/x-pn-realaudio". I have both mime types mapped to realplayer in konqueror.

The frame containing the plugin can be accessed directly as http://www.sr.se/cgi-bin/webbradio/frm_stdPlayerTop.asp?intUnitID=132&intPlugin=1&strErrMsg=&strLoggo=sr_p1&strStream=createram.asp?namn=rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm

The following changes made realplayer popup on my machine.

*** srorig.html	2004-03-17 11:59:42.349242006 +0100
--- srfixed.html	2004-03-17 11:59:55.250199125 +0100
***************
*** 2,7 ****
--- 2,8 ----
  <html>
  <head>
  <title>Webbradio från Sveriges Radio .......................................</title>
+ <base href="http://www.sr.se/cgi-bin/webbradio/">
  <link rel="stylesheet" href="/Diverse/appdata/webbradio/css/player.css" type="text/css">
  <script type="text/javascript" language="javascript" src="/Diverse/appdata/webbradio/script/player.js"></script>
  </head>
***************
*** 21,27 ****
  <PARAM NAME="SRC" VALUE="createram.asp?namn=rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm">
  <PARAM NAME="autostart" VALUE="true">
  <PARAM NAME="Controls" VALUE="ControlPanel,StatusBar">
! <EMBED TYPE="audio/x-pn-realaudio-plugin"src="createram.asp?namn=rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm"NAME="SRRealPlayerNS"ID="SRRealPlayer"WIDTH="297"HEIGHT="50"NOJAVA="true"AUTOSTART="true"CONTROLS="ControlPanel,StatusBar">
  </EMBED>
  </OBJECT>
  
--- 22,28 ----
  <PARAM NAME="SRC" VALUE="createram.asp?namn=rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm">
  <PARAM NAME="autostart" VALUE="true">
  <PARAM NAME="Controls" VALUE="ControlPanel,StatusBar">
! <EMBED src="createram.asp?namn=rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm"NAME="SRRealPlayerNS"ID="SRRealPlayer"WIDTH="297"HEIGHT="50"NOJAVA="true"AUTOSTART="true"CONTROLS="ControlPanel,StatusBar">
  </EMBED>
  </OBJECT>
Comment 8 Ryan Gammon 2004-05-05 00:38:00 UTC
This issues also affects the Helix Player (https://player.helixcommunity.org)

It is being/has been discussed on the kfm-devel@kde.org mailing lists, with Koos Vriezen being someone who is fairly familiar with the issue.

The problematic commit:
http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/khtml/html/html_objectimpl.cpp.diff?r1=1.108&r2=1.109

I understand that this commit had something to do with the java plugin.

My description:
I'm having problems with khtml. It seems to be looking for a service by the name of "audio/x-pn-realaudio", whereas the generated nsplugin.desktop file contains audio/x-pn-realaudio-plugin (ie - has a -plugin suffix).

From Koos:
I'm tempted to propose a change in the logic and strip -plugin after loading a plugin failed, but otoh aren't we creating a double list of khtml plugable mime's and eg. Xine based player should start adding -plugin variants too.

My response:
I'd make khtml try the -plugin version first, and fall back to retrying without the -plugin, where the latter is a hack in terms of the letter of the mime type laws (the types should be different, and, in our casem audio/x-pn-realaudio != audio/x-pn-realaudio-plugin).
Comment 9 Patrizio Bassi 2004-08-04 19:46:34 UTC
3.3 beta2 has still this problem
Comment 10 Philippe ROUBACH 2004-08-05 15:58:10 UTC
I confirm

realplayer 0.4.0.186 plugin does not work with KDE 3.1.3 Konqueror 3.1.4
I have "the message unable to load Netsacape plugin for....."
It works Well with Mozilla 1.4
Comment 11 James Richard Tyrer 2004-09-01 09:16:40 UTC
The problem has not been fixed in 3.3.0

First, according to Real dox, these two MIME types are not the same:

audio/x-pn-realaudio-plugin
Patterns=*.rpm;*.RPM

audio/x-pn-realaudio
Patterns=*.ra;*.rm;*.ram;*.RA;*.RM;*.RA

The first one appears to be missing and the second one doesn't have the "Patterns".

After fixing this apparent problem another problem occurs:

Set the "File Associations" for: audio/x-pn-realaudio-plugin

"Show file in embedded viewer"

"Netscape plugin viewer (nsplugin)"

Try to use it, it doesn't work -- nothing but a black rectangle -- and the "Service" disapears.  Open the "File Associations" KCM again and it is gone.

--
JRT
Comment 12 Koos Vriezen 2004-10-23 21:34:12 UTC
CVS commit by vriezen: 

Move '-plugin' suffix strip to KHTMLPart::createPart. According to BR64610
real/helix doesn't generate audio/x-pn-realaudio but only
audio/x-pn-realaudio-plugin mimetype.

CCBUG: 64610


  M +9 -2      khtml_part.cpp   1.1032
  M +0 -3      html/html_objectimpl.cpp   1.121
  M +2 -4      rendering/render_frames.cpp   1.190


--- kdelibs/khtml/rendering/render_frames.cpp  #1.189:1.190
@@ -693,7 +693,5 @@ void RenderPartObject::updateWidget()
               }
               else if(objbase->classId.contains(QString::fromLatin1("CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA")))
-                  //if we support -plugin suffixes
-                  //serviceType = "audio/x-pn-realaudio-plugin";
-                  serviceType = "audio/x-pn-realaudio";
+                  serviceType = "audio/x-pn-realaudio-plugin";
               else if(objbase->classId.contains(QString::fromLatin1("8AD9C840-044E-11D1-B3E9-00805F499D93")) ||
                       objbase->classId.contains(QString::fromLatin1("CAFEEFAC-0014-0000-0000-ABCDEFFEDCBA")))

--- kdelibs/khtml/html/html_objectimpl.cpp  #1.120:1.121
@@ -61,7 +61,4 @@ void HTMLObjectBaseElementImpl::setServi
     if ( pos!=-1 )
         serviceType.truncate( pos );
-    pos = serviceType.find( "-plugin" );
-    if ( pos!=-1 )
-        serviceType.truncate( pos );
 }
 

--- kdelibs/khtml/khtml_part.cpp  #1.1031:1.1032
@@ -4200,6 +4200,13 @@ KParts::ReadOnlyPart *KHTMLPart::createP
   KTrader::OfferList offers = KTrader::self()->query( mimetype, "KParts/ReadOnlyPart", constr, QString::null );
 
+  if ( offers.isEmpty() ) {
+    int pos = mimetype.find( "-plugin" );
+    if (pos < 0)
+        return 0L;
+    QString stripped_mime = mimetype.left( pos );
+    offers = KTrader::self()->query( stripped_mime, "KParts/ReadOnlyPart", constr, QString::null );
   if ( offers.isEmpty() )
     return 0L;
+  }
 
   KTrader::OfferList::Iterator it = offers.begin();


Comment 13 George Staikos 2005-02-22 23:27:38 UTC
helix player works in HEAD