Bug 193843 - Song preview not working for www.7digital.de
Summary: Song preview not working for www.7digital.de
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kmplayer
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Koos Vriezen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-24 08:26 UTC by Michael Seiwert
Modified: 2025-06-09 21:05 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Seiwert 2009-05-24 08:26:00 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

The little flash song preview on www.7digital.de doesn't seem to work with  knpplayer. If one presses the play button the player shows "undefined". Please see the log for details:

It works with Firefox & rekonq. 

kio_http(4036) HTTPProtocol::sendQuery: ============ Sending Header:
kio_http(4036) HTTPProtocol::sendQuery: "GET /static/img/ply16_0.gif HTTP/1.1"
kio_http(4036) HTTPProtocol::sendQuery: "Host: www.7digital.de"
kio_http(4036) HTTPProtocol::sendQuery: "Connection: Keep-Alive"
kio_http(4036) HTTPProtocol::sendQuery: "User-Agent: Mozilla/5.0 (compatible; Konqueror/4.2; Linux) KHTML/4.2.3 (like Gecko)"
kio_http(4036) HTTPProtocol::sendQuery: "Referer: http://www.7digital.de/artists/lady-gaga/poker-face-1/"
kio_http(4036) HTTPProtocol::sendQuery: "Accept: image/png, image/jpeg, video/x-mng, image/jp2, image/gif;q=0.5,*/*;q=0.1"
kio_http(4036) HTTPProtocol::sendQuery: "Accept-Encoding: x-gzip, x-deflate, gzip, deflate"
kio_http(4036) HTTPProtocol::sendQuery: "Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5"
kio_http(4036) HTTPProtocol::sendQuery: "Accept-Language: de, en-US, en"
kio_http(4036) HTTPProtocol::sendQuery: "Cookie: ttPreviews=0; ttBasket=0; uid=42F4D4E64CAB1A04CDE23A1CD744DDE1B22DAEB0278B39784A1331BEBBE012032251C381F39E11
615F1C24461143C4028379BCDA19B6ACB22CD449BF6D90682AE9FCF12A79ACEEA1C99D27D98435C9A6BA09E6A1C3DCDBED1E9DBDEC56AF4426A49131D87B55E4B39654AABDAFD5600228237E46BF5
B13C005434B453F35DF4DF5481E01B81F0C2861AF28495DCE8672; __utmz=79228306.1243108950.23.6.utmcsr=lastfm.de|utmccn=(referral)|utmcmd=referral|utmcct=/music/herbi
e%20nichols/_/the%20third%20world; ASP.NET_SessionId=54c3a0edtrtajx45mzpmn4y5; SevenDigital.Web.Session=sid2=fec846a1-a272-4f45-a2fd-99d84ed13295; __utma=792
28306.357941317.1237622090.1243108950.1243145905.24; __utmc=79228306; __utmb=79228306.2.10.1243145905"
kio_http(4036) HTTPProtocol::readResponseHeader: ============ Received Status Response:
kio_http(4036) HTTPProtocol::readResponseHeader: "HTTP/1.1 200 OK
"
QClipboard: Cannot transfer data, no data available
QClipboard: Cannot transfer data, no data available
knotify(5368) KNotify::event: 18679  ref= 0
konversation(11339)/kdeui (KNotification) KNotification::slotReceivedId: 0
konversation(11339)/kdeui (KNotification) KNotification::close: 0
konversation(11339)/kdeui (KNotification) KNotification::~KNotification: -2
knotify(5368) KNotify::event: 18680  ref= 0
kwin(5363)/kdeui (KNotification) KNotification::slotReceivedId: 0
kwin(5363)/kdeui (KNotification) KNotification::close: 0
kwin(5363)/kdeui (KNotification) KNotification::~KNotification: -2
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__obj_0=eval(\"window.__flash__request('loadFile','[object Object]','
window.playFirstItem')\")")"
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__res=typeof(this.__kmplayer__obj_0)")"
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__obj_0=null")"
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__obj_0=eval(\"eval(\\\"var __flash_temp = undefined; __flash_temp;\\
\\n\\\")\")")"
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__res=typeof(this.__kmplayer__obj_0)")"
konqueror(3957)/khtml (part) khtml::ChildFrame::liveConnectEvent: "eval("this.__kmplayer__obj_0=null")"
konqueror(3957) KMPlayerLiveConnectExtension::get: ESC[01;35mgetESC[00m  "id"
konqueror(3957) KMPlayerLiveConnectExtension::get: ESC[01;35mgetESC[00m  "nodeType"
konqueror(3957) KMPlayerLiveConnectExtension::get: ESC[01;35mgetESC[00m  "style"
konqueror(3957) KMPlayerLiveConnectExtension::get: ESC[01;35mgetESC[00m  "className"
konqueror(3957) KMPlayer::NpPlayer::request_stream: NpPlayer::request  "/npplayer1/stream_1"  ' "undefined?109" '   tg: "" post 0
konqueror(3957) KMPlayer::NpPlayer::request_stream: NpPlayer::request  "/npplayer1/stream_1"  ' "http://www.7digital.de/artists/lady-gaga/poker-face-1/undefi
ned?109" ' "http://www.7digital.de/static/flash/previewplayer.swf" -> "undefined?109"
konqueror(3957) KMPlayer::NpPlayer::streamRedirected: redirected  1  to  "http://www.7digital.de/artists/lady-gaga/poker-face-1/undefined?109"
konqueror(3957) KMPlayer::NpStream::open: NpStream  1  open  "http://www.7digital.de/artists/lady-gaga/poker-face-1/undefined?109"
Comment 1 Michael Seiwert 2009-05-24 08:26:41 UTC
I'm using the latest svn snapshot of kmplayer.
Comment 2 Koos Vriezen 2009-05-24 20:55:03 UTC
This is a part of the log you can find in the part's console window (with dbus one can show the kmplayer control panel and then show this console window)

dbusPluginMessage org.kde.kmplayer.backend get us
NPN_UTF8FromIdentifier loadFile
get loadFile => o:function
dbusPluginMessage org.kde.kmplayer.backend call usas
call 0:loadFile(s:[object Object], s:window.playFirstItem, NPN_UTF8FromIdentifier loadFile
string [object Object]
string window.playFirstItem
NPN_UTF8FromIdentifier loadFile
NPN_GetValue 15
Invoke __flash__request
evaluate window.__flash__request('loadFile','[object Object]','window.playFirstItem')  => s:<invoke name="loadFile" returntype="javascript"><arguments><string>[object Object]</string><string>window.playFirstItem</string></arguments></invoke>
string <invoke name="loadFile" returntype="javascript"><arguments><string>[object Object]</string><string>window.playFirstItem</string></arguments></invoke>
NPN_Evaluate:evaluate eval("var __flash_temp = undefined; __flash_temp;\n")  =>u:undefined

What's happening is that a call from javascript passes a javascript object ([object Object]), which unfortunately is converted to that string instead.
The current implementation of the LiveConnectExtension::call() can only pass strings as arguments. So in order to support this, both LiveConnect as, in this case kmplayer, needs to be fixed.
Comment 3 Koos Vriezen 2009-05-30 22:00:55 UTC
SVN commit 975717 by vriezen:

Redirect js function calls, so we can pass js objects too

BUG:193843
Squeezed this out of the current liveconnect interface.
Thanks for reporting!

 M  +126 -15   kmplayer_part.cpp  
 M  +3 -0      kmplayer_part.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=975717
Comment 4 Michael Seiwert 2009-05-31 12:43:10 UTC
Works like a charm, thank you very much! Keep up the excellent work on kmplayer, we appreciate it!
Comment 5 Michael Seiwert 2010-06-24 16:35:06 UTC
This doesn't work anymore for kmplayer, kdelibs, kdebase trunk. Could you please have a look into this ?
Comment 6 Michael Seiwert 2010-06-24 16:39:20 UTC
Another testcase would be the sound previews on www.jpc.de. If you click on a preview you get "Error: node : TypeError: Attempt to use a non-function object or a value as a function." as error in the JS script dialog.
Comment 7 Koos Vriezen 2010-06-24 19:07:26 UTC
kmplayer in trunk is currently broken wrt js bindings for flash using
kdelibs trunk. May take a while for this to work again.
Comment 8 Christoph Cullmann 2025-06-09 21:05:01 UTC
This project is unfortunately no longer maintained.

If a new maintainer wants to step up and take care, the project is archived here:

https://invent.kde.org/multimedia/kmplayer

You can just clone it in your private namespace on invent.kde.org and if you have started to work on it and fixed/implemented something get it reviewed and the project unarchived.

Sorry for the inconveniences.