Skip to content

Releases: mangui/flashls

v0.4.2.7

v0.4.2.6

16 Sep 15:14
Compare
Choose a tag to compare

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

07 Sep 14:27
Compare
Choose a tag to compare

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.

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

03 Sep 16:43
Compare
Choose a tag to compare

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

02 Sep 14:57
Compare
Choose a tag to compare

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

21 Aug 16:38
Compare
Choose a tag to compare

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

v0.4.2

31 Jul 10:14
Compare
Choose a tag to compare

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

15 Jul 16:38
Compare
Choose a tag to compare

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 instance
  • HLSEvent.FPS_DROP - triggered when FPS drop in last monitoring period is higher than given threshold
  • HLSEvent.FPS_DROP_LEVEL_CAPPING - triggered when FPS drop triggers auto level capping
  • HLSEvent.FPS_DROP_SMOOTH_LEVEL_SWITCH - triggered when FPS drop triggers a smooth auto level down switching
  • HLSEvent.LIVE_LOADING_STALLED - triggered upon detection of live loading stalling
  • HLSEvent.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

19 Jun 09:08
Compare
Choose a tag to compare

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:

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