调整结构, 清理关系, 取消继承 MP4FileDisk, 改为成员

Fix #1018
This commit is contained in:
wxf
2021-08-03 21:48:19 +08:00
parent f833bfb031
commit e03d15053d
2 changed files with 20 additions and 7 deletions

View File

@@ -22,17 +22,24 @@ namespace mediakit {
MP4Demuxer::MP4Demuxer() {}
MP4Demuxer::~MP4Demuxer() {
_mov_reader = nullptr;
closeFile();
closeMP4();
}
void MP4Demuxer::openMP4(const string &file){
openFile(file.data(),"rb+");
_mov_reader = createReader();
void MP4Demuxer::openMP4(const string &file) {
closeMP4();
_mp4_file = std::make_shared<MP4FileDisk>();
_mp4_file->openFile(file.data(), "rb+");
_mov_reader = _mp4_file->createReader();
getAllTracks();
_duration_ms = mov_reader_getduration(_mov_reader.get());
}
void MP4Demuxer::closeMP4() {
_mov_reader.reset();
_mp4_file.reset();
}
int MP4Demuxer::getAllTracks() {
static mov_reader_trackinfo_t s_on_track = {
[](void *param, uint32_t track, uint8_t object, int width, int height, const void *extra, size_t bytes) {