Skip to content
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

Resolved intermittent crash while seeking, added support for manifest files with CR-LF line breaks #492

Merged
merged 17 commits into from
Apr 15, 2016

Conversation

neilrackett
Copy link
Contributor

This pull request includes the following changes:

  • FragmentLoader.as now checks for missing _fragPrevious data while analysing PTS to prevent crashes caused by a TypeError: Error #1009: Cannot access a property or method of a null object reference error during seek operations, which we have been seeing intermittently with some VOD streams
  • A numAudioTracks getter has been added to HLS.as as a convenient way of checking for the availability of alternative audio (for example when displaying a menu, etc)
  • Changes have been made to Manifest.as, and a new StringUtil.as class added, to support manifest files that have been encoded with line breaks or other whitespace characters not in the expected Linux format, for example those using CR-LF line breaks instead of just LF

@neilrackett neilrackett changed the title Resolved intermittent crash while seeking Resolved intermittent crash while seeking, added support for manifest files using CR-LF line breaks Mar 7, 2016
@neilrackett neilrackett changed the title Resolved intermittent crash while seeking, added support for manifest files using CR-LF line breaks Resolved intermittent crash while seeking, added support for manifest files with CR-LF line breaks Mar 7, 2016
@mangui
Copy link
Owner

mangui commented Mar 9, 2016

thanks @neilrackett , I am not comfortable with a PR with so many things inside.
best would be to split it into several PRs and also don't push swf/swc , i will take care of updating them.

@@ -16,6 +17,8 @@
<classEntry path="org.mangui.osmf.plugins.traits.HLSSeekTrait"/>
<classEntry path="org.mangui.osmf.plugins.traits.HLSTimeTrait"/>
<classEntry path="org.mangui.osmf.plugins.utils.ErrorManager"/>
<classEntry path="org.mangui.hls.loader.SubtitlesFragmentLoader"/>
<classEntry path="org.mangui.hls.utils.hls_internal"/>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not existing files ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed (leftover from another branch)

@neilrackett
Copy link
Contributor Author

Hi @mangui, the PR started as a single item, but GitHub obviously includes all additional commits in the request, so I had to expand it -- I'll see what I can do to make PRs in more bite size chunks in the future (and won't commit SWF/SWC files).

I've removed class references and StringUtil methods not used in this branch, but let me know if there are any other tweaks to make before you can accept the PR.

# Conflicts:
#	bin/debug/flashls.swc
#	bin/debug/flashlsChromeless.swf
#	bin/debug/flashlsFlowPlayer.swf
#	bin/debug/flashlsOSMF.swc
#	bin/debug/flashlsOSMF.swf
#	bin/release/flashls.swc
#	bin/release/flashlsChromeless.swf
#	bin/release/flashlsFlowPlayer.swf
#	bin/release/flashlsOSMF.swc
#	bin/release/flashlsOSMF.swf
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<actionScriptProperties analytics="false" mainApplicationPath="flashls.as" projectUUID="e938451b-f4d1-4796-ba95-b9054fce71fa" version="11">
<compiler additionalCompilerArguments="-locale=en_US&#13;&#10;-define+=CONFIG::LOGGING,false" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" useFlashSDK="false" verifyDigests="true" warn="true">
<compiler additionalCompilerArguments="-locale=en_US&#13;&#10;-define+=CONFIG::LOGGING,false" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="true" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" useFlashSDK="false" verifyDigests="true" warn="false">
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes not related to the PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted

AudioTrackController.audioTracks using new Vector.<AltAudioTrack>() to
prevent crash when reading HLS.audioTracks.length before audio is ready
@@ -259,7 +259,7 @@ package org.mangui.hls {
public function set audioTrack(val : int) : void {
_audioTrackController.audioTrack = val;
}

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry I am a bit pedantic, but there are some useless whitespace there :-/

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not any more.

@mangui mangui merged commit 6ca83cb into mangui:dev Apr 15, 2016
@mangui
Copy link
Owner

mangui commented Apr 15, 2016

thanks for your contribution ... and patience !

mangui added a commit that referenced this pull request Apr 15, 2016
related to #492
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants