Releases: mangui/flashls
v0.4.2.7
changes
- Use an object literal instead the Stats model to list properties
test link
http://flashls.org/flashls-0.4.2.7/examples/chromeless/
http://flashls.org/flashls-0.4.2.7/examples/flowplayer/
http://flashls.org/flashls-0.4.2.7/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.7/examples/osmf/StrobeMediaPlayback.html
v0.4.2.6
improvement
- Expose liveSlidingMain() & liveSlidingAltAudio() in HLS.as (#385)
- flashlsOSMF : in case playback is complete and user seeks, restart playback automatically if needed (#374)
test link
http://flashls.org/flashls-0.4.2.6/examples/chromeless/
http://flashls.org/flashls-0.4.2.6/examples/flowplayer/
http://flashls.org/flashls-0.4.2.6/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.6/examples/osmf/StrobeMediaPlayback.html
v0.4.2.5
improvement
- introduce hls.startLoad() :
- this allows to asynchronously set startLevel and start quality level loading, whereas previously start quality level loading it was triggered automatically from MANIFEST_PARSED event.
introduce HLSSettings.autoStartLoad (default true to keep existing behaviour as default) to control this behaviour.
- this allows to asynchronously set startLevel and start quality level loading, whereas previously start quality level loading it was triggered automatically from MANIFEST_PARSED event.
bugfixes
- FragmentLoader : reset _levelNext on seek() so that level switching happens faster, in case hls.currentLevel is triggered while a PTS analysis is in progress
test link
http://flashls.org/flashls-0.4.2.5/examples/chromeless/
http://flashls.org/flashls-0.4.2.5/examples/flowplayer/
http://flashls.org/flashls-0.4.2.5/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.5/examples/osmf/StrobeMediaPlayback.html
v0.4.2.4
improvements
- allow startLevel to be set in MANIFEST_PARSED event
- chromeless : track fps drop related events
bugfixes
- chromeless : fix permalink metrics page and wrong fragment playing duration in case of seeking
- fix smooth level switching reloading the previously loaded level
- StreamBuffer: avoid exception in seekFilterTags() in case seek position is located before buffered tags
test link
http://flashls.org/flashls-0.4.2.4/examples/chromeless/
http://flashls.org/flashls-0.4.2.4/examples/flowplayer/
http://flashls.org/flashls-0.4.2.4/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.4/examples/osmf/StrobeMediaPlayback.html
v0.4.2.3
improvements
- dispatch HLSEvent.FRAGMENT_SKIPPED when skipping a fragment
bugfixes
- only report MEDIA_TIME event if position/buffer length or playlist duration changed
- fix "I/O error on fragment loading" not always triggering switching to redundant stream (#375)
- fix seek in buffer resulting in audio loss (#378)
- live playlist fixes:
- fix playlist sliding drifting over time
- fix broken back buffer clipping
- fix seek in live buffer not working or resulting in wrong media position/buffer length being reported
- fix playback stalling after long pause
test link
http://flashls.org/flashls-0.4.2.3/examples/chromeless/
http://flashls.org/flashls-0.4.2.3/examples/flowplayer/
http://flashls.org/flashls-0.4.2.3/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.3/examples/osmf/StrobeMediaPlayback.html
v0.4.2.2
improvements
- implement retry mechanism for main manifest (#312)
- enable hardware video decoder by default
bugfixes
- fix bugs around emergency switch down on bw drop (#342)
- correctly handle audio-only/video-only streams with broken PMT signalling (#362)
- AAC/MP3 demuxer:limit SYNC WORD search window to 100 bytes after ID3 tags to avoid false positive and parsing MP3 with AAC demuxer (#363)
- flashlsOSMF: Fix HLSError to OSMF SECURITY_ERROR mapping (#367)
- TSDemuxer: don't push video tags if keyframe not found yet. this should reduce the nb of video artifacts on level switch with streams with fragments not starting with keyframes (#347)
test link
http://flashls.org/flashls-0.4.2.2/examples/chromeless/
http://flashls.org/flashls-0.4.2.2/examples/flowplayer/
http://flashls.org/flashls-0.4.2.2/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.2/examples/osmf/StrobeMediaPlayback.html
v0.4.2.1
bugfixes
- fix regression introduced by #342
test link
http://flashls.org/flashls-0.4.2.1/examples/chromeless/
http://flashls.org/flashls-0.4.2.1/examples/flowplayer/
http://flashls.org/flashls-0.4.2.1/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2.1/examples/osmf/StrobeMediaPlayback.html
v0.4.2
improvement
- #14 support redundant streams
- #342 Emergency switch down in case of fragment loading stalls
- parse all AAC/MP3 ID3 tags and dispatch them along with FRAGMENT_PLAYING event
- chromeless : clean-up demo page
API changes
- new
HLSEvent.FRAGMENT_LOAD_EMERGENCY_ABORTED
- related to #342
bugfixes
- fix live playback never starting in case live playlist slides before first fragment parsing
test link
http://flashls.org/flashls-0.4.2/examples/chromeless/
http://flashls.org/flashls-0.4.2/examples/flowplayer/
http://flashls.org/flashls-0.4.2/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.2/examples/osmf/StrobeMediaPlayback.html
v0.4.1.2
improvement
- #213 : monitor FPS drop when player is not throttling.
- throttling determined thanks to flash.events.ThrottleEvent, available with FP >= 11.2
- support level capping upon FPS drop detection.
- support smooth autolevel switch down upon FPS drop detection
- when live fragment loading stalls, don't flush buffer and seek ASAP, wait for current buffer to be drained before flushing/seeking.
API changes
HLSEvent.STAGE_SET
- triggered when Stage object has been attached to hls instanceHLSEvent.FPS_DROP
- triggered when FPS drop in last monitoring period is higher than given thresholdHLSEvent.FPS_DROP_LEVEL_CAPPING
- triggered when FPS drop triggers auto level cappingHLSEvent.FPS_DROP_SMOOTH_LEVEL_SWITCH
- triggered when FPS drop triggers a smooth auto level down switchingHLSEvent.LIVE_LOADING_STALLED
- triggered upon detection of live loading stallingHLSEvent.ID3_UPDATED
- switch ID3 data from Hex to Base64.
bugfixes
- #162 handle video PES packet with missing AUD NAL unit at the beginning and/or AUD NAL unit at the end of the PES packet
- #321 fix playback of TS fragment containing null packet (PID 0x1fff)
- #326 fix issue with pause/play button in Grindplayer
- JSURLStream: on load abortion, stop Base64 decoding timer to ensure that no data will be pushed to FragmentLoader.
- remove forced level capping on new manifest load
- avoid spurious logs and PMT reparsing with multiple audio streams
test link
http://flashls.org/flashls-0.4.1.2/examples/chromeless/
http://flashls.org/flashls-0.4.1.2/examples/flowplayer/
http://flashls.org/flashls-0.4.1.2/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.1.2/examples/osmf/StrobeMediaPlayback.html
v0.4.1.1
improvement
flashlsOSMF: speed-up level switching (use instant switch)
dispatch error in case of empty manifest
level loader: use retry mechanism in case of empty playlists
hls API:
- add hls.stats getter, useful to retrieve playback stats, refer to https://github.com/mangui/flashls/blob/dev/API.md#hlsstats
bugfixes
don't fast skip last fragment of a live playlist (#285)
don't start FragmentLoader automatically, start it on first seek() request (#284)
fix crash when playing HLS with data uri (#292)
fix invalid metrics value in FRAGMENT_PLAYING event : program_date and audio_only field were wrongly permuted (#293)
fix fragment load retry counter not being reset after fragment skip (#295)
fix playback being stuck after fragment skipping (#299)
live playlist : fix playback freeze when loading stalls (#300)
live playlist: fix playback not restarting after fragment loading errors (#287)
fix sliding not computed properly on ended live playlist (#303)
fix multiple FRAGMENT_PLAYING event sent with audio only playlists
fix manifest load retry counter not being reset properly after successful loading (#308)
Seek position became incorrect when segment loading have failed (#311)
test link
http://flashls.org/flashls-0.4.1.1/examples/chromeless/
http://flashls.org/flashls-0.4.1.1/examples/flowplayer/
http://flashls.org/flashls-0.4.1.1/examples/osmf/GrindPlayer.html
http://flashls.org/flashls-0.4.1.1/examples/osmf/StrobeMediaPlayback.html