基本流程图
2017-03-12 12:55:52 0 举报
该流程图展示了一个基本的程序或操作的步骤。首先,开始于一个起始点,然后进行一系列的判断或决策,根据不同的结果,程序或操作将进入不同的分支。每个分支可能包含多个步骤,这些步骤可能包括计算、输入/输出、数据处理等。最后,程序或操作将在结束点结束。这个流程图可以用于描述任何需要按照特定顺序执行的任务,例如烹饪食谱、计算机程序、生产流程等。
作者其他创作
大纲/内容
预加载回调
解封装
stateSupplier
allPreloadqueue
解码视频
audio task
渲染视频
Scene
- sceneId:String- autoPlay:bool- mute:bool- mCellCntInScreen:int- configs: AlgorithmConfigure
- SceneConfig(String sceneId);- setConfigs(AlgorithmConfigure)
MDL
preload queue
保护区
6
添加任务
socket
player api
fetchUrl
配置信息
video task
4
音视频首包
可删除
urls
isDash
远端资源
8
创建内核
预加载策略
Player(playing)
preloadapi
尝试执行
删除所有缓存
Tasks
不可删除区域
YES
add Task
并发线程数
StateSupplier
不可删除
用户行为
URLTask
TTPlayer
finishfailcanceled
其他页面
preload
创建解码器
execute queue
url
VideoModelTask
缓存管理
数据下载
清空队列
建连
统一文件夹
NO
cacheInfo
seek操作
Media
- mFormat:string- mVideoId:string- mDuration:int- mHotValue:int- mComments:int- mLikes:int
开始播放
mediaList 操作
TTVideoEngine
TTVideoEngine(iOS/Android)
获取新的任务
all finish
1
TTVideoEnginePreloader
可以进行预加载
downloadcancel
是否预加载
download
接口信息:APIVersioApiStringAuth
播放器实例
Delegate
测速
文件缓存
APP
req8
vid
CommonParam
- mMachineCapability:int- mHDRInfo:int- mScreenWidth:int- mScreenHeight:int
play 接口并发控制
get data
MediaDataLoader
prepared
首帧拆分
3
删除缓存
MDL 预加载任务处理
预加载数据
11
5
load progress
play status
dash预加载处理(videoModel)
IPreloadInfoSupplier
+float getDownloadSpeed;+int playCacheMs(sessionId)
触发 play
播放进度
Engine
播放音频
Engine 预加载流程
缓存进度
operations
加载数据
has urls
read
req10
缓存文件管理
预加载场景
PlayInfos
- (void)updateInfo:(NSInteger)key value:(id)value;
task2
call back
...
业务交互接口
IMediaManager
媒体资源下载
LRU 管理
解码音频
play 接口
场景
IPlayInfo
- (void)startPlay:(NSString *)sessionId;- (void)updateInfo:(NSString *)sessionId key:(NSInteger)key value:(id)value;- (void)stall:(NSString *)sessionId;- (void)hitCache:(NSString *)sessionId size:(NSInteger)size;- (void)stop:(NSString *)sessionId;
MDLManager
没有播放任务
..
DNS解析
首帧网络耗时消失
下一个
playing
7
req9
PreloAlgorithmConfigure
- mAlgorithmType:int- mStrategyJson:string- mAlgorithmName:string
AlgorithmConfigure()
9
VidTask
mdl api
时间线
获取 task
首包
参数信息:codecdashssl....
play info
init
req3
分辨率信息
PlayHistory
+ float averageDuration;+ float hitCacheRatio;+ float stallRatio;
业务
preparing
预加载首帧耗时
预加载策略模块
Vid信息
Downloader
预加载和 Engine 交互
2
Preload Strategy
获取缓存总大小
+ (void)addTask:+ (void)cancelTask:
SceneConfig
- maxSceneCount:int
- createScene(Scene scene)- destroyScene(String sceneId)- moveToScene(String sceneId)- existScene(String sceneId)
Configure
自定义缓存
配置解析
预加载资源
req4
完成失败被取消
VideoModel(多分辨率)
10
PreloadStrategy
- (void)preload:(nullable NSString *)sessionId;- (void)cancelPreload:(nullable NSString *)sessionId;
获取缓存信息
Urls信息
0 条评论
回复 删除
下一页