pv_media_output_node_input.cpp
void PVMediaOutputNodePort::SendData()
if (oActiveMediaOutputComp)
{
SendMediaData();
}
else if (iFrameStepMode == false)
{
uint32 delta = 0;
PVMFMediaOutputNodePortMediaTimeStatus status = CheckMediaTimeStamp(delta);
if (status == PVMF_MEDIAOUTPUTNODEPORT_MEDIA_ON_TIME)
{
SendMediaData();
}
else if (status == PVMF_MEDIAOUTPUTNODEPORT_MEDIA_LATE)
{
iCurrentMediaMsg.Unbind();
iFragIndex = 0;
}
在android平台上AndroidAudioOutput,AndroidSurfaceOutput是适配的media io。
AndroidAudioOutput是active的oActiveMediaOutputComp为true,数据在PVMediaOutputNodePort中不做同步,
void PVMediaOutputNodePort::SendData()
if (oActiveMediaOutputComp)
{
SendMediaData();
}
else if (iFrameStepMode == false)
{
uint32 delta = 0;
PVMFMediaOutputNodePortMediaTimeStatus status = CheckMediaTimeStamp(delta);
if (status == PVMF_MEDIAOUTPUTNODEPORT_MEDIA_ON_TIME)
{
SendMediaData();
}
else if (status == PVMF_MEDIAOUTPUTNODEPORT_MEDIA_LATE)
{
iCurrentMediaMsg.Unbind();
iFragIndex = 0;
}
在android平台上AndroidAudioOutput,AndroidSurfaceOutput是适配的media io。
AndroidAudioOutput是active的oActiveMediaOutputComp为true,数据在PVMediaOutputNodePort中不做同步,
AndroidSurfaceOutput是passive的oActiveMediaOutputComp为false,在PVMediaOutputNodePort做同步
pvmf_media_clock_guide.pdf
本文深入分析了PVMediaOutputNodePort类中的SendData函数,重点阐述了其在Android平台上如何适配AndroidAudioOutput和AndroidSurfaceOutput模块进行数据发送,并详细解释了在不同模式下数据发送的具体流程。
773

被折叠的 条评论
为什么被折叠?



