Bug on stream bitrate value disable/enable option after OGG/MP3 selection in Chrome - with solution
  • Hi,

    Thank you for building this remarkable application.

    After finally managed to get the system up well, in the stream bitrate setting page, there was a bug I found.
    At first, I thought 24 and 32 kbps were disabled from the system setting since the beginning (spending 2 hours messing with the codes).
    However, I found out finally that the problem lie on the javascript (specifically running in chrome browser).

    At init, 24 and 32 kbps were disabled, then when the "MP3" stream type is selected, then both will be enable, yet it never happened.
    In /js/airtime/preferences/streamsetting.js , there is a function: 

    function restrictOggBitrate(ele, on){
        var div = ele.closest("div");
        if(on){
            ...
        }else{
            div.find("select[id$=data-bitrate]").find("option[value='24']").attr("disabled","");
            div.find("select[id$=data-bitrate]").find("option[value='32']").attr("disabled","");
        }
    }

    as we can see, the "disabled" attribute was set to "". It was not working well in chrome. So i modified the code to:

    function restrictOggBitrate(ele, on){
        var div = ele.closest("div");
        if(on){
            ...
        }else{
            div.find("select[id$=data-bitrate]").find("option[value='24']").removeAttr("disabled");
            div.find("select[id$=data-bitrate]").find("option[value='32']").removeAttr("disabled");
        }
    }

    using "removeAttr", finally it works well.

    I think that's all as my story and suggestion. Hope it helps.


    Regards,

    NB: attached modified script