Bugs with the HTML interface
Posted: 08 Jun 2008 14:59
Please, could someone that has access to bug-posting, post these bugs (no one ever answered me on IRC channel).
I saw two bugs on the HTML interface :
-1) Minor: Typo on H264: should be h264
When you do an asynchronous action, you must keep memory buffers of your action till it is fully completed.
In this case, author correctly allocates a buffer (new XMLHttpRequest), but:
-a) never deallocates it, relying on GC to do so: which can result in ill written browsers (I.E. !) consuming loads of memory as the request is done repetitively.
-b) all the allocated request are pointed by a unique variable: req. So if there is more than one "living" request, you keep only track of the last one and have no mean to access the previous requests.
There are several ways to make it correct.
What I did is I developped instead of that a linked chain of actions. Each action (corresponding to a click) has its own XMLHttpRequest buffer. Once the action is fulfilled, the buffer goes to "free pool" buffer. When a new action begins, you take a buffer from "free pool", or allocate a new one if "free pool" is out of free buffers.
There are many more ways to correct that.
I'll be glad to contribute... if someone can anwser me on IRC
I saw two bugs on the HTML interface :
-1) Minor: Typo on H264: should be h264
- Effect: when you use the SOUT interface, if you choose h264 transcode, nothing will be transcoded because VLC is case sensitive and there is no such thing as H264
Location of the bug: on line 176 of file %Install_dir%/http/dialogs/soutWorkaround: once you have finished choosing the options with the SOUT-helper, manually replace H264 with h264 in the SOUT string, then save.Code: Select all
<option value="H264">H264</option>
- Effect: can produce unreliable behaviour or crashes
Location of the bug: function at line 84 of function.jsWorkaround: user has to be careful, and wait enough time for every click to fulfill it's action.Code: Select all
function loadXMLDoc( url, callback )
When you do an asynchronous action, you must keep memory buffers of your action till it is fully completed.
In this case, author correctly allocates a buffer (new XMLHttpRequest), but:
-a) never deallocates it, relying on GC to do so: which can result in ill written browsers (I.E. !) consuming loads of memory as the request is done repetitively.
-b) all the allocated request are pointed by a unique variable: req. So if there is more than one "living" request, you keep only track of the last one and have no mean to access the previous requests.
There are several ways to make it correct.
What I did is I developped instead of that a linked chain of actions. Each action (corresponding to a click) has its own XMLHttpRequest buffer. Once the action is fulfilled, the buffer goes to "free pool" buffer. When a new action begins, you take a buffer from "free pool", or allocate a new one if "free pool" is out of free buffers.
There are many more ways to correct that.
I'll be glad to contribute... if someone can anwser me on IRC