Nothing has changed on our backend, but streams fail to play. The error code is different depending on which firmware version the Roku device is running. On version 7.2 the player returns "Unspecified or invalid track path/url". On version 7.5 the player returns an unknown error response: "An unexpected problem (but not server timeout or HTTP error) has been detected".
If the two lines above are removed from the player, or if a dummy file is added to theSetCertificatesFile call then video playback works.
I immediately though this may have something to do with the 7.5 firmware timeout bug, but it sounds like it's related to the specific ca_cert you are trying to use.
Have you tested with an roUrlTransfer to see if it errors with reason? Here are a few examples of using the wrong invalid, mismatched and valid ca bundles. Note i've combined multiple code lines for easy of execution, but make it's ugly.
url = "https://roku.com" port = CreateObject("roMessagePort")
'' Valid ca bundle, but wrong (not for the current url) cert = "pkg:/certs/wrong-bundle.crt" obj = CreateObject("roUrlTransfer")bj.SetPort(port)bj.SetUrl(url)bj.SetCertificatesFile(cert)bj.AsyncGetToString()bj.InitClientCertificates():event = wait(0, port) ?"code=";event.GetResponseCode();" reason=";event.GetFailureReason() code=-60 reason=SSL certificate problem: unable to get local issuer certificate
Checking the cert itself it does appear to be expired, but has been working in production far passed it's expiration date, which is odd.
The failing streams are becoming increasingly harder to diagnose. For instance, the production channel fails to load a stream, and when it does the subtitles are not displaying; if the same exact code is run on a side loaded channel then the stream plays and the subtitles display. Differences in results across v7.2 and v7.5 only exacerbate the problem.