From 0850096f5a6e49b711684b8b22fe025bf700f597 Mon Sep 17 00:00:00 2001 From: pingkai Date: Thu, 6 Feb 2020 10:48:14 +0800 Subject: [PATCH] refactor(HLSStream): refactor createDemuxer func Signed-off-by: pingkai --- framework/demuxer/play_list/HLSStream.cpp | 39 ++++++++++++----------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/framework/demuxer/play_list/HLSStream.cpp b/framework/demuxer/play_list/HLSStream.cpp index 4907b71ca..43ce7285d 100644 --- a/framework/demuxer/play_list/HLSStream.cpp +++ b/framework/demuxer/play_list/HLSStream.cpp @@ -319,30 +319,12 @@ namespace Cicada { ret = createDemuxer(); if (ret >= 0) { - int nbStream = mPDemuxer->GetNbStreams(); - AF_LOGI("file have %d streams\n", nbStream); - // open all stream in demuxer - Stream_meta meta{}; - - for (int i = 0; i < nbStream; ++i) { - mPDemuxer->GetStreamMeta(&meta, i, false); - - if (meta.type == mPTracker->getStreamType() - || mPTracker->getStreamType() == STREAM_TYPE_MIXED) { - mPDemuxer->OpenStream(i); - } - - releaseMeta(&meta); - } - mIsOpened_internal = true; } else { AF_LOGE("open demuxer error %d\n", ret); return ret; } - mPacketFirstPts = getPackedStreamPTS(); - // mStatus = status_inited; if (mPdataSource) { @@ -430,6 +412,27 @@ namespace Cicada { } ret = mPDemuxer->initOpen(); + + if (ret >= 0) { + int nbStream = mPDemuxer->GetNbStreams(); + AF_LOGI("file have %d streams\n", nbStream); + // open all stream in demuxer + Stream_meta meta{}; + + for (int i = 0; i < nbStream; ++i) { + mPDemuxer->GetStreamMeta(&meta, i, false); + + if (meta.type == mPTracker->getStreamType() + || mPTracker->getStreamType() == STREAM_TYPE_MIXED) { + mPDemuxer->OpenStream(i); + } + + releaseMeta(&meta); + } + + mPacketFirstPts = getPackedStreamPTS(); + } + return ret; }