live555源码阅读(一)

功能说明

UsageEnvironment是个抽象接口类,不能直接实例化使用,其功能是通过子类逐步实现的,整个类层次结构如下:
live555源码阅读(一)_第1张图片
UsageEnvironment主要定义了两大类功能接口,一个是缓存错误信息字符串,一个是重载<<实现向stderr打印日志信息。
BasicUsageEnvironment0在UsageEnvironment的基础上实现了缓存错误信息字符串的功能。
BasicUsageEnvironment在BasicUsageEnvironment0的基础上继续实现了<<的重载功能,是UsageEnvironment的最终实现类,开发者可以直接使用。

BasicUsageEnvironment对象创建。

由于构造函数声明是protected的,因此不能直接new,只能通过createNew()静态成员函数创建对象。live555中其它对象也都采用同样的处理方法。
在构造函数中,初始化了Socket网络环境。
live555源码阅读(一)_第2张图片

BasicUsageEnvironment对象销毁。

由于析构函数声明是protected的,因此不能直接delete,要通过基类reclaim()安全释放对象。
live555源码阅读(一)_第3张图片

自定义实现

在live555中编程不需要修改其源码,要实现自己的功能,只需重载所需的抽象接口类。比如我们要实现向文件打印日志消息,而不是打印到控制台,就可以通过重载UsageEnvironment来实现。

你可能感兴趣的:(流媒体)