完善MediaRecord 类

This commit is contained in:
xiongziliang
2018-10-28 00:21:55 +08:00
parent 6364b14762
commit b2ebd84848
4 changed files with 31 additions and 23 deletions

View File

@@ -70,24 +70,24 @@ MediaRecorder::MediaRecorder(const string &strVhost_tmp,
MediaRecorder::~MediaRecorder() {
}
void MediaRecorder::inputH264(void* pData, uint32_t ui32Length, uint32_t ui32TimeStamp, int iType) {
if(_hlsMaker){
// _hlsMaker->inputH264(pData, ui32Length, ui32TimeStamp, iType);
void MediaRecorder::inputFrame(const Frame::Ptr &frame) {
if (_hlsMaker) {
_hlsMaker->inputFrame(frame);
}
#ifdef ENABLE_MP4V2
if(_mp4Maker){
// _mp4Maker->inputH264(pData, ui32Length, ui32TimeStamp, iType);
if (_mp4Maker) {
_mp4Maker->inputFrame(frame);
}
#endif //ENABLE_MP4V2
}
void MediaRecorder::inputAAC(void* pData, uint32_t ui32Length, uint32_t ui32TimeStamp) {
if(_hlsMaker){
// _hlsMaker->inputAAC(pData, ui32Length, ui32TimeStamp);
void MediaRecorder::addTrack(const Track::Ptr &track) {
if (_hlsMaker) {
_hlsMaker->addTrack(track);
}
#ifdef ENABLE_MP4V2
if(_mp4Maker){
// _mp4Maker->inputAAC(pData, ui32Length, ui32TimeStamp);
if (_mp4Maker) {
_mp4Maker->addTrack(track);
}
#endif //ENABLE_MP4V2
}

View File

@@ -39,7 +39,7 @@ using namespace toolkit;
namespace mediakit {
class MediaRecorder {
class MediaRecorder : public MediaSink{
public:
typedef std::shared_ptr<MediaRecorder> Ptr;
MediaRecorder(const string &strVhost,
@@ -48,15 +48,19 @@ public:
bool enableHls = true,
bool enableMp4 = false);
virtual ~MediaRecorder();
protected:
/**
* 输入frame
* @param frame
*/
void inputFrame(const Frame::Ptr &frame) override ;
void inputH264( void *pData,
uint32_t ui32Length,
uint32_t ui32TimeStamp,
int iType);
void inputAAC( void *pData,
uint32_t ui32Length,
uint32_t ui32TimeStamp);
/**
* 添加track内部会调用Track的clone方法
* 只会克隆sps pps这些信息 而不会克隆Delegate相关关系
* @param track
*/
void addTrack(const Track::Ptr & track) override;
private:
std::shared_ptr<HLSMaker> _hlsMaker;
#ifdef ENABLE_MP4V2