PVMF_FORMAT_SPECIFIC_INFO_KEY_PCM (and
PVMF_FORMAT_SPECIFIC_INFO_KEY_YUV) key is new, and not all MIOs
support them. So, we have made this key optional. If a MIO chooses not
to support that key, we do send the information using the individual
keys. And, when this key is optional, we should not be sending the
error. So, in our latest codebase, we have the following line
commented out with a comment:
// TO DO: when all MIOs are updated to support this key - the error
event needs to be sent out
// for now - to maintain bw compatibility - don't send the error event
//iNode->ReportErrorEvent(PVMFErrPortProcessing, NULL,
PVMFMoutNodeErr_MediaIOSetParameterSync);

I don't know how Donut codebase has this line "uncommented". I don't
have control or visibility into what goes in to that branch.

For your immediate problem, I suggest you to comment out the line as
shown above.

-Ravi


On Dec 16, 12:30 pm, guru <[email protected]> wrote:
> hi Ravi,
>
> I am trying to understand from where the follow error is coming:
>
> 0x143e0):Time=389:AndroidAudioMIO::setParametersSyn
> c() Error, unrecognized key x-pvmf/media/
> format_specific_info_pcm;valtype=key_sp
> ecific_value
> E/PV      (  775): PVLOG:TID
> (0x143e0):Time=389:PVMediaOutputNodePort::ConfigMIO
> setParametersSync of PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed
> E/PV      (  775): PVLOG:TID
> (0x143e0):Time=389:PVMediaOutputNodePort::ConfigMIO
> setParametersSync of PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed
>
> here is the function call trace:
>
> OSCL_EXPORT_REF void PVMediaOutputNodePort::setParametersSync {
> ....> else if (pv_mime_strcmp(aParameters[i].key,
> PVMF_FORMAT_SPECIFIC_INFO_KEY_PCM) == 0)
>         {
>             PVMF_MOPORT_LOGDATAPATH((0,
> "PVMediaOutputNodePort::setParametersSync - FSI - Fmt=%s",
>                                      iSinkFormatString.get_str()));
>             status = ConfigMIO(&aParameters[i], aRet_kvp);
>             if (status != PVMFSuccess)
>                 OSCL_LEAVE(PVMFFailure);}
>
> ****************
> PVMFStatus PVMediaOutputNodePort::ConfigMIO(PvmiKvp* aParameters,
> PvmiKvp* &aRetParameters)
> {
> else if (pv_mime_strcmp(aParameters->key,
> PVMF_FORMAT_SPECIFIC_INFO_KEY_PCM) == 0)
>             {
>                 // this is
>                 //Do not send individual parameters to MIO component,
> send them all at once
>
>                 int32 err;
>                 OSCL_TRY(err, iNode->iMIOConfig->setParametersSync
> (iNode->iMIOSession, aParameters, 1, aRetParameters););
>
>                 if (err != OsclErrNone || aRetParameters)
>                 {
>                     PVMF_MOPORT_LOGERROR((0,
> "PVMediaOutputNodePort::ConfigMIO setParametersSync of
> PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed "));
>                     PVMF_MOPORT_LOGDATAPATH((0,
> "PVMediaOutputNodePort::ConfigMIO setParametersSync of
> PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed "));
>
>                     iNode->ReportErrorEvent(PVMFErrPortProcessing,
> NULL, PVMFMoutNodeErr_MediaIOSetParameterSync);
>                     return PVMFFailure;
>                 }}
>
> **************
>
> void AndroidAudioMIO::setParametersSync(PvmiMIOSession aSession,
> PvmiKvp* aParameters,
>                                         int num_elements, PvmiKvp * &
> aRet_kvp)
>
> here it is not maching with any of the
>
> MOUT_AUDIO_FORMAT_KEY
> MOUT_AUDIO_NUM_CHANNELS_KEY
> MOUT_AUDIO_SAMPLING_RATE_KEY
>
> my understand is: for PCM, these paremeters are not set so error is
> coming?. Since opencore is checking PVMF_FORMAT_SPECIFIC_INFO_KEY_PCM
> macro, if it is true, then he will call
> AndroidAudioMIO::setParametersSync from
> PVMediaOutputNodePort::ConfigMIO. at last failing.
>
> How opencore set these parameters?
>
> Regards
> Gururaja
>
> On Dec 15, 11:23 am, guru <[email protected]> wrote:
>
> > Hi Ravi,
>
> > Sorry for the delayed reply. I was not feeling well.
>
> > Actually I am using Cupcake version. I browsed the code base of the
> > Donut version, there also same error is printed.
>
> > Also other errors I am getting are:
>
> > a)****************************
> > E/        (  775): Case OMX_IndexParamAudioPcm:
> > E/        (  775): OMX_AACLC_COMP.c MyGetParameter OUT
> > E/        (  775): OMX_AACLC_COMP.c MyGetParameter IN
> > E/        (  775): OMX_AACLC_COMP.c MyGetParameter OUT
> > E/        (  775): OMX_AACLC_COMP.c MyGetParameter IN
> > E/        (  775): OMX_AACLC_COMP.c MyGetParameter OUT
> > PVLOG:TID(0x143e0):Time=388:PVMediaOutputNodePort::setParamet
> > ersSync - FSI - Fmt=audio/L16
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:AndroidAudioMIO::setParametersSyn
> > c() Error, unrecognized key x-pvmf/media/
> > format_specific_info_pcm;valtype=key_sp
> > ecific_value
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVMediaOutputNodePort::ConfigMIO
> > setParametersSync of PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVMediaOutputNodePort::ConfigMIO
> > setParametersSync of PVMF_FORMAT_SPECIFIC_INFO_KEY_AUDIO failed
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVMediaOutputNode:NodeErrorEvent
> > Type -19 EVData 0 EVCode 8
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVPlayerEngine::HandleNodeErrorEv
> > ent() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVPlayerEngine::HandleSinkNodeErr
> > orEvent() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVPlayerEngine::HandleSinkNodeErr
> > orEvent() Do nothing for this event -19
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVPlayerEngine::HandleSinkNodeErr
> > orEvent() Out
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=389:PVPlayerEngine::HandleNodeErrorEv
> > ent() Out
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=389:OsclError::Leave!
> > reason -1
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=389:OsclError::Leave!
> > reason -1
>
> > This is coming after calling GetParameter of my Component.
>
> > b) ******************************************************
> > PVLOG:TID(0x143e0):Time=390:EventHandlerThreadSafeCallbackAO:
> > :Run() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:EventHandlerThreadSafeCallbackAO:
> > :Run() - No more events, call PendForExec()
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:EventHandlerThreadSafeCallbackAO_
> > Audio::Run() - Calling Process Event
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::HandleNodeErrorEv
> > ent() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::HandleDecNodeErro
> > rEvent() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::HandleDecNodeErro
> > rEvent() Sending PVPlayerErrDatapathMediaData for error event -18, Add
> > EH comman
> > d if not present
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::AddCommandToQueue
> > () In CmdType 57, CmdId 5
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::SetEngineState()
> > In Current state 4, New state 19
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::AddCommandToQueue
> > () Type=57 ID=5 APIcmd=0 Tick=391
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::HandleDecNodeErro
> > rEvent() Out
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=391:PVPlayerEngine::HandleNodeErrorEv
> > ent() Out
>
> > c) ***********************************************************
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=392:PVPlayerEngine::Run()
> > In
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=392:PVPlayerEngine::Run()
> > Processing
> > Error Handling request
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoErrorHandling()
> >  In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoErrorHandling()
> >  Some Command is being processed, cancel it
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::SetEngineState()
> > In Current state 19, New state 18
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoCancelPendingNo
> > deDatapathCommand() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoCancelPendingNo
> > deDatapathCommand() Calling CancelAllCommands() on datapath
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerDatapath::CancelCommand()
> >  In X-MPEG4-AUDIO
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerDatapath::CancelCommand()
> >  Out
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoCancelPendingNo
> > deDatapathCommand() 1 CancelAllCommands are pending
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerEngine::DoCancelPendingNo
> > deDatapathCommand() Out
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=392:PVPlayerDatapath::Run()
> > Processin
> > g PVPDP_CANCEL case for X-MPEG4-AUDIO
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=392:PVPlayerDatapath::Run()
> > Calling C
> > ancelAllCommands() on sink node
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVMediaOutputNode::CancelAllComma
> > nds() called
> > E/PV      (  775): PVLOG:TID(0x143e0):Time=392:PVPlayerDatapath::Run()
> > Calling C
> > ancelAllCommands() on dec node
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVMediaOutputNode::DoCancelAllCom
> > mands In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVMediaOutputNode::DoCancelAllCom
> > mands Cancelling current command
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVMediaOutputNode::DoCancelAllCom
> > mands Cancelling all queued commands
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVMediaOutputNode:CommandComplete
> >  Id 9 Cmd 11 Status 1 Context 0 EVData 0 EVCode 0
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=392:PVPlayerDatapath::NodeCommandComp
> > leted() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() Out
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() Out
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() All node CancelAllCommands() requests completed
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerDatapath::NodeCommandComp
> > leted() Report Cancel() command completed successfully
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerEngine::HandlePlayerDatap
> > athEvent() In
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerEngine::HandlePlayerDatap
> > athEvent() Cancel in datapath completed for cancel command. Pending 1
> > E/PV      (  775): PVLOG:TID
> > (0x143e0):Time=393:PVPlayerEngine::HandlePlayerDatap
>
> ...
>
> read more »

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to