//////////////////////////////////////////////////////////////////////////////////// ////// pvHttpDownloadInput implementation //////////////////////////////////////////////////////////////////////////////////// bool pvHttpDownloadInput::getValidMediaData(INPUT_DATA_QUEUE &aDataInQueue, PVMFSharedMediaDataPtr &aMediaData, bool &isEOS) { isEOS = false; //aMediaData.Bind(iCurrentInputMediaData); do { // There should be at least one media msg in the queue if (aDataInQueue.empty()) return false; // Check if the next incoming media msg is an EOS or not // Introducing a boolean variable aEOSMsg is for simulating connection shutdown cases bool aEOSMsg = aDataInQueue[0]->getFormatID() == PVMF_MEDIA_CMD_EOS_FORMAT_ID; if (aEOSMsg) { isEOS = true; aDataInQueue.erase(aDataInQueue.begin()); return true; } convertToPVMFMediaData(iCurrentInputMediaData, aDataInQueue[0]); aDataInQueue.erase(aDataInQueue.begin()); } while (isValidInput() == false); aMediaData.Bind(iCurrentInputMediaData); return true; }
PVMFStatus PVMFBufferDataSink::PutData(PVMFSharedMediaMsgPtr aMsg) { OSCL_UNUSED_ARG(aMsg); iNumPktsReceived++; PVMFSharedMediaDataPtr mediaData; convertToPVMFMediaData(mediaData, aMsg); iNumBytesReceived += (mediaData->getFilledSize()); if (mediaData->getErrorsFlag()) iNumPktErrorsReceived++; return PVMFSuccess; }
OSCL_EXPORT_REF void PvmfPortBaseImpl::LogMediaMsgInfo(PVMFSharedMediaMsgPtr aMediaMsg, const char* msg, int32 qsize) //log media msg info, description, and associated q-depth. { OSCL_UNUSED_ARG(msg); OSCL_UNUSED_ARG(qsize); if (!iDatapathLogger) return; switch (aMediaMsg->getFormatID()) { case PVMF_MEDIA_CMD_BOS_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "BOS" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , qsize )); } break; case PVMF_MEDIA_CMD_EOS_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "EOS" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , qsize )); } break; case PVMF_MEDIA_CMD_BOC_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "BOC" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , qsize )); } break; case PVMF_MEDIA_CMD_EOC_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "EOC" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , qsize )); } break; case PVMF_MEDIA_MSG_DATA_FORMAT_ID: { PVMFSharedMediaDataPtr mediaData; convertToPVMFMediaData(mediaData, aMediaMsg); LOGDATAPATH( (0, "PORT %s %s MediaData SeqNum %d, SId %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , mediaData->getSeqNum() , mediaData->getStreamID() , mediaData->getTimestamp() , qsize )); } break; default: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %d, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , aMediaMsg->getFormatID() , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , qsize )); } break; } }
void PvmfPortBaseImpl::LogMediaMsgInfo(PVMFSharedMediaMsgPtr aMediaMsg, const char* msg, PvmfPortBaseImplQueue&q) //log media msg info, description, and associated q-depth. { // to avoid compiler warnings when logger is not available OSCL_UNUSED_ARG(msg); OSCL_UNUSED_ARG(q); switch (aMediaMsg->getFormatID()) { case PVMF_MEDIA_CMD_BOS_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "BOS" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; case PVMF_MEDIA_CMD_EOS_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "EOS" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; case PVMF_MEDIA_CMD_BOC_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "BOC" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; case PVMF_MEDIA_CMD_EOC_FORMAT_ID: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %s, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , "EOC" , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; case PVMF_MEDIA_MSG_DATA_FORMAT_ID: { PVMFSharedMediaDataPtr mediaData; convertToPVMFMediaData(mediaData, aMediaMsg); LOGDATAPATH( (0, "PORT %s %s MediaData SeqNum %d, SId %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , mediaData->getSeqNum() , mediaData->getStreamID() , mediaData->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; default: { LOGDATAPATH( (0, "PORT %s %s MediaCmd FmtId %d, SeqNum %d, SId %d, ClipID %d, TS %d, Q-depth %d/%d", iPortName.get_cstr() , msg , aMediaMsg->getFormatID() , aMediaMsg->getSeqNum() , aMediaMsg->getStreamID() , aMediaMsg->getClipID() , aMediaMsg->getTimestamp() , q.iQ.size() , q.iCapacity )); } break; } }