【Live555】live555源码详解(四):Medium媒体基础类

7、Media

Medai所依赖关系图

【Live555】live555源码详解(四):Medium媒体基础类_第1张图片

依赖Medai关系图

【Live555】live555源码详解(四):Medium媒体基础类_第2张图片

Media和UsageEnvironment关联图

【Live555】live555源码详解(四):Medium媒体基础类_第3张图片

7.1 Medium

所有的媒体类都是从medium继承的,如下图所示:
【Live555】live555源码详解(四):Medium媒体基础类_第4张图片
静态函数:

lookupByName	:查询媒体,调用友元类的接口:MediaLookupTable::ourMedia(env)->lookup(mediumName);
close			;关闭媒体,调用友元类的接口:MediaLookupTable::ourMedia(env)->remove(name)

主要接口:

envir	:返回 UsageEnvironment
name	:返回 fMediumName

测试测试特定类型的媒体:

isSource()
isSink()
isRTCPInstance()
isRTSPClient()
isRTSPServer()
isMediaSession()
isServerMediaSession()

7.2 MediaLookupTable

MediaLookupTable协作图:
【Live555】live555源码详解(四):Medium媒体基础类_第5张图片

官方解释:
一种数据结构,通过其字符串名称查找媒介。
(它仅用于实现“Medium”,但我们在这里让它可见,以备开发人员想要使用它来遍历我们创建的整个“Medium”对象集。)

静态函数:

ourMedia	:由 UsageEnvironment 返回 MediaLookupTable
getTable	:返回 HashTable

7.3 _Tables

_Tables协作图
【Live555】live555源码详解(四):Medium媒体基础类_第6张图片

UsageEnvironment字段 “liveMediaPriv” 所指的结构:
主要接口;

getOurTables	:返回UsageEnvironment::liveMediaPriv,如果没有,先新建_Tables,然后env.liveMediaPriv指向它;
reclaimIfPossible	:自我销毁

你可能感兴趣的:(视频,live555)