@@ -10483,17 +10483,23 @@ StreamOutputFormat GetSubtitleFormat(std::string mimeType)
1048310483 */
1048410484void StreamAbstractionAAMP_MPD::GetStreamFormat(StreamOutputFormat &primaryOutputFormat, StreamOutputFormat &audioOutputFormat, StreamOutputFormat &auxOutputFormat, StreamOutputFormat &subtitleOutputFormat)
1048510485{
10486+ StreamOutputFormat format = FORMAT_ISO_BMFF; // Default format
10487+ if (ISCONFIGSET(eAAMPConfig_UseMp4Demux))
10488+ {
10489+ // Mp4Demuxer will set the format later once the init fragment is parsed
10490+ format = FORMAT_UNKNOWN;
10491+ }
1048610492 if(mMediaStreamContext[eMEDIATYPE_VIDEO] && mMediaStreamContext[eMEDIATYPE_VIDEO]->enabled )
1048710493 {
10488- primaryOutputFormat = FORMAT_ISO_BMFF ;
10494+ primaryOutputFormat = format ;
1048910495 }
1049010496 else
1049110497 {
1049210498 primaryOutputFormat = FORMAT_INVALID;
1049310499 }
1049410500 if(mMediaStreamContext[eMEDIATYPE_AUDIO] && mMediaStreamContext[eMEDIATYPE_AUDIO]->enabled )
1049510501 {
10496- audioOutputFormat = FORMAT_ISO_BMFF ;
10502+ audioOutputFormat = format ;
1049710503 }
1049810504 else
1049910505 {
@@ -10503,6 +10509,8 @@ void StreamAbstractionAAMP_MPD::GetStreamFormat(StreamOutputFormat &primaryOutpu
1050310509 if ((mMediaStreamContext[eMEDIATYPE_AUX_AUDIO] && mMediaStreamContext[eMEDIATYPE_AUX_AUDIO]->enabled) ||
1050410510 (mMediaStreamContext[eMEDIATYPE_SUBTITLE] && mMediaStreamContext[eMEDIATYPE_SUBTITLE]->enabled && mMediaStreamContext[eMEDIATYPE_SUBTITLE]->type == eTRACK_AUX_AUDIO))
1050510511 {
10512+ // Mp4Demuxer is not used in aux audio track as of now, so setting FORMAT_ISO_BMFF directly
10513+ // Aux audio to be deprecated soon
1050610514 auxOutputFormat = FORMAT_ISO_BMFF;
1050710515 }
1050810516 else
@@ -10533,6 +10541,7 @@ void StreamAbstractionAAMP_MPD::GetStreamFormat(StreamOutputFormat &primaryOutpu
1053310541 else
1053410542 {
1053510543 AAMPLOG_INFO("mimeType empty");
10544+ // Mp4Demux is skipped for subtitles
1053610545 subtitleOutputFormat = FORMAT_SUBTITLE_MP4;
1053710546 }
1053810547 }
@@ -14212,35 +14221,4 @@ bool StreamAbstractionAAMP_MPD::DoStreamSinkFlushOnDiscontinuity()
1421214221void StreamAbstractionAAMP_MPD::clearFirstPTS(void)
1421314222{
1421414223 mFirstPTS = 0.0;
14215- }
14216-
14217- void StreamAbstractionAAMP_MPD::GetStreamCodecInfo(AampCodecInfo &videoCodec, AampCodecInfo &audioCodec, AampCodecInfo &textCodec)
14218- {
14219- // Initialize with unknown format
14220- videoCodec = AampCodecInfo(FORMAT_UNKNOWN);
14221- audioCodec = AampCodecInfo(FORMAT_UNKNOWN);
14222- textCodec = AampCodecInfo(FORMAT_UNKNOWN);
14223-
14224- // Aux audio to be deprecated in future
14225- for (const auto& mediaStreamContext : mMediaStreamContext)
14226- {
14227- // TODO: Optimize later
14228- if (mediaStreamContext && mediaStreamContext->enabled && mediaStreamContext->playContext)
14229- {
14230- switch (mediaStreamContext->type)
14231- {
14232- case eTRACK_VIDEO:
14233- videoCodec = mediaStreamContext->playContext->getCodecInfo();
14234- break;
14235- case eTRACK_AUDIO:
14236- audioCodec = mediaStreamContext->playContext->getCodecInfo();
14237- break;
14238- case eTRACK_SUBTITLE:
14239- textCodec = mediaStreamContext->playContext->getCodecInfo();
14240- break;
14241- default:
14242- break;
14243- }
14244- }
14245- }
1424614224}
0 commit comments