-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TextTrack gets picked up on Android but not on iOS #1155
Comments
There were some changes to the text track code in 3.1.0. If you go back to 3.0.0, does that fix it? If so, the easiest way for me to diagnose this is if you can share the URL for your playlist. You can email me the info if it's not something you want public ([email protected]) |
@cobarx Thanks for the quick reply. I'm actually on 3.0.0, never went up to 3.1.0. I'm going to test it now with a public HLS video to see if I still reproduce it and will let you know what happens. |
@cobarx hey, so I tested it. I was always on 3.0.0. We never went to 3.1.0. The problem seems to be with the specific video I'm trying to play. I see the tracks on VLC and on an online HLS tester, but not on iOS. The data object that comes from the onLoad is empty. The weird thing is that Android does pick up the tracks. I'm going to go ahead and send you the playlist to your email to see if you're able to debug and maybe pinpoint the issue (it could be that the AVplayer doesn't pick up tracks for some videos). |
Just tested the video you sent me, and the text tracks are showing up in onLoad and on screen. I wonder if you're running into an issue because this is an http stream. Can you check that you have Allow Arbitrary Loads enabled in your Info.plist file as described here: My guess is you enabled insecure streams on a domain by domain basis and the video domain is enabled, but the text one isn't. Pretty easy to miss. Lmk if that's it. |
@cobarx so I had the domain by domain exception, but I did not have the |
The way HLS works is it acts as a playlist that combines all the various assets needed for the stream. For a given stream, there can be multiple video, audio, and text tracks, all of which can come from different servers. In the case of your playlist, there are multiple sub-playlists for different video resolutions:
However, they are all coming from the same server. So I doubt there is an issue with the wrong domain being enabled. I'm not sure what to tell you at the moment, since it's working fine for me. You'll need to check the console logs and set breakpoints in the native code to see if there is any kind of diagnostic info which can help out with this. I would also see if you can test this with an https server just to be extra sure. Your server has SSL, however the certificate isn't valid so I doubt it will work. |
@cobarx ok man awesome, thanks for the help. I will debug, test, and come back to let you know what happened. |
@cobarx hey can you please confirm which version you were able to test and see my playlist working on? Was it in 3.0.0 or in 3.1.0? Also, is there a chance to see your info.plist? I've been debugging with my co-worker but we've had no luck so far. For other external videos that we are testing (like http://sample.vodobox.com/planete_interdite/planete_interdite_alternate.m3u8) we do get the tracks correctly on iOS. We've tried changing the info.plist, debugging to see what data comes out from the onLoad, etc. Thanks again. |
@cobarx noticed you merged a new PR and closed this issue. Do you think any of those changes might help fix the issue I'm encountering? Thanks. |
Oops this issue got closed automatically when the PR was merged. That was just some minor code cleanups. It won't fix the issue you're running into. I'll test your video with 3.0.0 and 3.1.0 later this afternoon. |
@cobarx awesome, you're the man! |
@aecorredor I tested with 3.0.0, 3.1.0 and the latest master and it's appearing on all of them. If you're not seeing the textTracks in onLoad, that means they're failing to load. Other people have been running into similar issues and I'm not sure what's at fault. It seems like AVPlayer is finicky about http sources even with security turned off. Are you able to setup https on this server and see if that fixes it? I'd be curious to know if that resolves these issues. The relevant part of my Info.plist looks like:
|
@cobarx ok got it. I'm going to try to get that https server set up to test that. Either way, I'm still wondering why when we tested with Anyway, I'll try to get the server set up and see what happens. Thanks again! |
I am facing the exact same issue with AudioTracks on iOS did you manage to find out what it was @aecorredor ? |
Current behavior
The text track from my HLS videos get picked up on Android but not on iOS. The strange part is that before iOS was working fine (nothing changed on my code).
Reproduction steps
I am looking at the data that's coming back when onLoad triggers, this is how I was able to see the tracks for the same video coming back on Android but not on iOS.
Expected behavior
TextTracks get picked up both on iOS and Android.
Platform
Which player are you experiencing the problem on:
The text was updated successfully, but these errors were encountered: