[vlc-devel] httplive bug fixes

Sergio M. Ammirata, Ph.D. sergio at ammirata.net
Sun Oct 2 19:11:54 CEST 2011

The current implementation of the httplive input filter as a design flaw. It
is reloading the meta index file (directory to all other streams)
constantly. This will basically break compatibility with any server that
dynamically calculates the bitrate of the streams based on content and will
also break compatibility with servers that embed session management into the
links (wowza for example).

The following patch addresses this issue and also fixes a few bugs:

1) It keeps track of the number of additions to the playlist and trigger the
download thread when new items are added.

2) Incorrect parameter passed to the vlc_UrlParse function:
-                vlc_UrlParse(&segment->url, p->url.psz_buffer, 0);
+                vlc_UrlParse(&segment->url, p->url.psz_path, 0);

3) Change the default wait time for playlist reload to (0.5 x wait) for live
streams instead of the (1 x wait). With the current setting, live streams
will stall.

4) Move the definition of the wait variable to the correct place (it was
inside the loop, which made the redefinition of its value useless).

5) Change the way the retrieval back-off algorithm works to something more
reasonable. The way it was, it could never recover when it went all the way
to 3 times the wait time. Now, it goes to have the wait time for a retry and
then goes back to normal.

6) I added a new option that will let the user specify the specific stream
to use from the meta index file. This option is useful if you do not want to
switch between bitrates when they are available.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20111002/a2eb109d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vlc_httplive.patch
Type: application/octet-stream
Size: 10662 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20111002/a2eb109d/attachment.obj>

More information about the vlc-devel mailing list