Ticket #1351 (closed bug: fixed)
Adaptive: Some additional bugs
| Reported by: | jeroen | Owned by: | jeroen |
|---|---|---|---|
| Priority: | Milestone: | Plugins | |
| Component: | flash | Keywords: | |
| Cc: | Forum thread: |
Description (last modified by jeroen) (diff)
A few bugs, kindly provided by Matt:
Absolute URLs in playlists. You seem to be supporting absolute URLs in the main manifest file, but not in the individual playlists.Audio-only levels. You're checking for an AAC extension, but in the URL for my audio-only level doesn't have an AAC extension. So it's failing with a "no aac or avs found" error.- Android problems. I've tested this in the chromeless player testing page and I get the same problem with all of the videos. Android will start playing the video but will only play to about 4 seconds in (2 fragments?). I can seek the video and it will repeat the same thing. It's possible that it's just a problem with the Flash plugin for Android.
Change History
comment:2 Changed 23 months ago by jeroen
- Description modified (diff)
Dropping audio-only streams is hard while decoding is already in progress. Added an additional check to drop sub-100k bitrate levels as well; that's the best I can think of for now.
comment:3 Changed 23 months ago by jeroen
- Status changed from new to closed
- Resolution set to fixed
Android support is flakey, but better than Flash-in-Android. The issue with the provider locking up also seems to be a result of the Android Flash client. For Android, it's probably best for now to support just a progressive MP4 for 2.1/2.2 and native HLS streams (video tag) for 2.3 and 3.x. For live streaming, it's probably best to only do 2.3 / 3.x, since the RTP/RTSP features of Android are flakey too.
I did some tests with various HLS streams on 2.3 (Samsung Galaxy). The results:
- Both single streams and variant streams work.
- Both live and on-demand streams work (indicated by #EXT-X-ENDLIST)
- There's various quirks around the ordering of tags in the playlists. For example the #EXT-X-TARGETDURATION should be at the top of a playlist in order for the video to be scrub-able.
- Metadata (captions, chapters, etc) in streams is not supported. The device will refuse to play.
- MP3 audio (as opposed to AAC) seems not supported. I have only one test stream, which completely locked up the phone.
- Seeking works smoothest with streams in which each TS fragment starts with a keyframe.
- Seeking seems to lock up the player if a TS fragment does not start with a PES a/v header (done by e.g. the open source segmenter.c)

Both relative links, server absolutes (/) and full http:// absolutes are now supported for either playlists or fragments. Querystring parameters are taken into account (not forwarded to child URLs).