Start a new topic
Solved

bug playing an AAC audio caused by a very short last chunk

Greetings,


I've encountered an audio file which causes a problem when playing with Viblast.

Here is a test URL:

https://www.classicalarchives.com/test-20171024.htm


This file's duration is almost exactly 90 seconds, but it is actually quite a bit longer, and the streaming server divides it into 10 chunks, and the last chunk's duration is 0.023 seconds: the chunklist contains, e.g.

#EXTINF:0.023,

media_w1882343803_9.aac

#EXT-X-ENDLIST


When trying to play this file, the Viblast player goes into infinite loop when trying to download the last chunk and never ends the playback of this track.


If you open the developer console in the browser (such as Google Chrome or Firefox), you will see messages like this:


viblast.js:154 [00:32:56] [vb] Error(HlsPeer.cc:603): Cannot get chunk(chunkIdx=9-9). Request timedout (timeout=69)

XHR failed loading: GET "https://stream.classicalarchives.com/m/_definst_/mp4:test_vb.m4a/media_w298248132_9.aac"


Actually it looks like a bug in Viblast. Could you please look into this and fix it of possible?


Best wishes,

Vladimir



Hi, 

Thank you for the cert info. We are aware about it and will change the provider in the beginning of next year.

The new version is available - at the download section of the portal we display only the major version, but in fact the downloadable link points to the latest stable.


Thank you so much!


Please also update the documentation to mention the new configuration property (minimal-segment-request-timeout).


The new version is not yet available for download on the portal (I think I just have to wait a bit).


We have to use self-hosted version instead of the version hosted on cdn.viblast.com

because some of our customers are using Google Chrome on Windows XP, and it cannot connect to https://cdn.viblast.com (it shows an error ERR_SSL_VERSION_OR_CIPHER_MISMATCH).


Another minor thing to mention: latest dev version of Chrome shows this warning in the console:

The SSL certificate used to load resources from https://licensing.viblast.com: will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.


I'm sure that this problem will be addressed in due time.


Hello,

We just released the 6.50.1 version. It contains the fix we mentioned with the previous post.

Thank you again!

Thank you for the feedback.

We decided to introduce new configuration property: minimal-segment-request-timeout. By default its value is 200ms. If the calculated timeout is less, it will be replaced with the config parameter's value.


Thank you for your reply.


Usually Viblast tries to download the chunks well in advance to fill the buffer, so it is reasonable to not require it to complete downloading in such a short time as 69ms. I think it's good to increase the minimum timeout to 3*(duration of other chunks) or some fixed amount such as 30 seconds. The last chunk may appear to be very short, and a timeout of 3*(last chunk's duration) may cause such problems.


Hi,

Thank you for the report. 

The  timeout for chunk downloading depends on the chunk duration. In this case it is 3*23ms or 69ms and it is not enough.

We have to consider how to process such a corner case.

Login to post a comment