Closed needz closed 7 years ago
@AquilesCanta, please let me know if you want me to set up an outside stream, so you can try to reproduce this issue on your end. Please suggest the best time and way to do it. Thanks.
I have just checked out r2.4.0 from github and successfully played the TS fragment from dropbox. Are you sure you are using that same file? Surely irrelevant, but FLAG_ALLOW_NON_IDR_FRAMES for the video to show. Can you provide a TS fragment that reproduces the issue? The live stream might make it much harder for me to reproduce.
That's the problem exactly. TS plays just fine on my side too, but the Live stream doesn't even start (where there is no such problem in version 2.2.0). Enigma2 doesn't send chunks of TS's, but it's just a continuous stream. Seems like ExoPlayer is unable to determine the length of the stream or something along these lines. The flag is set, it's not a problem.
I could share the live stream, so you can try to do it. Just let me know where to send it (privately) and appropriate time, when you can check it, since I will have to put it into standby mode for that period.
Can you send it to dev.exoplayer@gmail.com now? I have a few minutes to check it out.
Thanks for the stream. You should use MODE_SINGLE_PMT
(mode
argument in the TsExtractor constructor). What's going on is that the PAT of your stream is declaring more PMTs than actually exist, so ExoPlayer gets stuck waiting for them, not allowing preparation to finish. I'll make it the default mode for the next push.
Wow, thanks, I can confirm it's working with MODE_SINGLE_PMT. Maybe it could also be added as DefaultTsPayloadReaderFactory flag.
We'll be adding a convenience method to DefaultExtractorsFactory. However, we cannot change the fact that it is a extractor mode.
Issue description
When using Demo player in ExoPlayer version 2.4.0 to playback the local stream streamed from Enigma2 Satellite tuner, the player is stuck in loading mode without getting any track information and not switching any further (the tuner itself indicates that there is a stream request going on as it does when it is streaming). The same stream opens fine with Demo player in ExoPlayer version 2.2.0 with all default settings. I also tried version 2.3.1 and it has the same issue as 2.4.0.
I tried playing with various TsExtractor flags, but none of them helped. Then I recorded the same stream to a TS file (see attached link) and it opened just fine (also used FFMpeg extension for AC3 track, but it doesn't solve an issue in case of non-saved stream).
Are there any possible modifications in the code that could lead to this problem in the latest version? Maybe it has something to do with unknown prebuffer or content length? Is there anything I can try to tweak to make it playable as in version 2.2.0? Thanks.
Reproduction steps
Try to open the stream in Demo player in ExoPlayer version 2.4.0 (or 2.3.1)
Link to test content
The link is a local link served from Enigma2 Satellite tuner: http://192.168.0.102:8001/1:0:19:4E89:14:70:1680000:0:0:0: The link to the recorded TS file: https://www.dropbox.com/s/gg1aoal9slfy7av/vlc-output.ts?dl=0
Version of ExoPlayer being used
ExoPlayer 2.4.0
Device(s) and version(s) of Android being used
Nexus Player Nexus 5X
A full bug report captured from the device
ExoPlayer 2.4.0 Log:
ExoPlayer 2.2.0 Log: