flowplayer / flash

Flowplayer Flash, the video player for the Web
http://flowplayer.org
282 stars 183 forks source link

url encoding #189

Closed CBCNewMedia closed 10 years ago

CBCNewMedia commented 10 years ago

commit bcd58baf00aaa0c4307923d073c18311d3757c02 of November 20, 2012 introduced a bug.

My clip URL looks like this:

http://pubads.g.doubleclick.net/gampad/ads?sz=576x324;iu=/NETWORKID/ADUNIT;ciu_szs=300x250;impl=s;gdfp_req=1;env=vp;output=xml_vast2;unviewed_position_start=1;url=URLOFVIDEOPAGE;correlator=1388428539;custom_params=city%3DChicago%26county%3DCook%26

(note that the custom_params variable contains a series of key/value pairs where the "=" and the "%3D" have already been url-encoded; this is per the Doubleclick/google documentation).

Such a URL cannot be reconstructed after the encoding that happens in flowplayer-src.js.

After the URL is run through queryescape(), it looks like this:

http://pubads.g.doubleclick.net/gampad/ads?sz%3D576x324;iu%3D/NETWORKID/ADUNIT;ciu_szs%3D300x250;impl%3Ds;gdfp_req%3D1;env%3Dvp;output%3Dxml_vast2;unviewed_position_start%3D1;url%3DURLOFVIDEOPAGE;correlator%3D1388428539;custom_params%3Dcity%3DChicago%26county%3DCook%26

There is no way to distinguish between the "=" and the "%3D", so there is no straightforward way to recover the original URL.

phloxic commented 10 years ago

I don't know how your clip url looks - but by far the majority of problems stem from the fact that perfectly legal urls (or other string values containing ampersands and/or equal signs) cause havoc when written into the Flash object on the page. Unless you provide a use case within the player where the retrieval of the original url value is relevant, I don't deem this important. Moreover you can always pass these values dynamically - even an initial clip url: in the onBegin clip event you can clip.update({url: whateveryoulike}) Closing.