1

this.videoView.setVideoURI(Uri.parse(url+"&ext=.m3u8"));

The call never reaches the server. With http everything works fine. On all other Android devices (!=Google TV) HTTPS also works fine.

The url has the format:

https://example.com/index.php?videoId=3&sessionId=xxxxxxxxxxxxxxxxxxx&ext=.m3u8

This is an PHP script that will return an m3u8 HLS file. But the server is never even called.

This is the same if I remove the '&ext=.m3u8' part.

The certificate is NOT self-signed. Other calls to the HTTPS server, made by the app succeed without a problem.

Edit: Error is not helpful either. 0/0 (what/extra) I am using the Sony NSZ-GS7 with Android GoogleTV 3.2

Torge
  • 2,174
  • 1
  • 23
  • 33
  • There is very little information in your question. Can you provide more detail? – Krispy Feb 18 '13 at 01:58
  • Also have you read: http://stackoverflow.com/questions/14783914/playing-m3u8-file-through-https-on-android-2-3 – Krispy Feb 18 '13 at 01:58
  • As requested I added some more details. If you need something perticular, please say so. I con't think of any more useful information. – Torge Feb 19 '13 at 08:24
  • I'm curious about the headers that are sent from the server. Can you do a curl log dump and add it to your question. Also, as Les stated below in his answer I have heard of issues with HLS and and HTTPS. – Krispy Feb 19 '13 at 14:29
  • The server never gets called (as to ssl_access_log), as described, so in conclusion he does not send any headers in response. – Torge Feb 20 '13 at 12:26

1 Answers1

0

There are two issues above, 1) our HLS player doesn't accept HTTPS, and it requires .m3u8 before the ? (ie. .php isn't acceptable)

I'm not sure I'd go w/ Krispy's suggestion, unless the secondary files, .m3u8's and .ts's don't use https. You could, of course, build a small proxy in your app that resides on the TV, and relay's https requests using https.

  • So this is final? Why only on Google TV? It works fine on Honeycomb tablets as well as 4+ handies. Is this mentioned in the official documentation anywhere? Also why does the link work fine with "http"? if ".php isn't acceptable" The proxy idea occurred me as well, but would be a hilarious workaround introducing additional level of complexity which I would rather not have to resort to. – Torge Feb 19 '13 at 08:30
  • The current version of Google TV has a different media layer internally than standard Android. It may be fixed in the next release. At the time, engineering thought that no one would use Https w/ HSL, they'd rather use AES w/ rotating keys. – Les Vogel - Google DevRel Feb 19 '13 at 16:57
  • We use AES with rotating keys. The TS files are encrypted and delivered by http. But we need to protect the key delivery to the app by https as the links to the keys are in plaintext in the m3u8 together with the link to the ts files by HLS standard. And everyone listening in, could easily grab the keys and decode the content himself. So please fix this. – Torge Feb 20 '13 at 12:24