mirror of
https://gitee.com/xia-chu/ZLMediaKit.git
synced 2026-05-06 10:57:50 +08:00
BUG修正:多文件播放(loadMP4File)时,后续文件track_index对应错误 (#4386)
每个mp4文件的音视频的track_index不会完全一致,需要做对应处理。
This commit is contained in:
parent
57fede9508
commit
98ac328318
@ -218,7 +218,10 @@ void MultiMP4Demuxer::openMP4(const string &files_string) {
|
||||
CHECK(!_demuxers.empty());
|
||||
_it = _demuxers.begin();
|
||||
for (auto &track : _it->second->getTracks(false)) {
|
||||
_tracks.emplace(track->getIndex(), track->clone());
|
||||
auto clone_track(track->clone());
|
||||
clone_track->setIndex(clone_track->getTrackType());
|
||||
_tracks.emplace(clone_track->getIndex(), clone_track);
|
||||
DebugL << "track index: " << track->getIndex() << " -> " << clone_track->getIndex();
|
||||
}
|
||||
}
|
||||
|
||||
@ -244,6 +247,7 @@ Frame::Ptr MultiMP4Demuxer::readFrame(bool &keyFrame, bool &eof) {
|
||||
for (;;) {
|
||||
auto ret = _it->second->readFrame(keyFrame, eof);
|
||||
if (ret) {
|
||||
ret->setIndex(ret->getTrackType());
|
||||
auto it = _tracks.find(ret->getIndex());
|
||||
if (it != _tracks.end()) {
|
||||
auto ret2 = std::make_shared<FrameStamp>(ret);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user