Exemplo n.º 1
0
void listenerStopStream(tl_state_t *pTLState)
{
	AVB_TRACE_ENTRY(AVB_TRACE_TL);

	if (!pTLState) {
		AVB_LOG_ERROR("Invalid TLState");
		AVB_TRACE_EXIT(AVB_TRACE_TL);
		return;
	}

	listener_data_t *pListenerData = pTLState->pPvtListenerData;
	if (!pListenerData) {
		AVB_LOG_ERROR("Invalid listener data");
		AVB_TRACE_EXIT(AVB_TRACE_TL);
		return;
	}

	openavbListenerAddStat(pTLState, TL_STAT_RX_CALLS, pListenerData->nReportCalls);
	openavbListenerAddStat(pTLState, TL_STAT_RX_FRAMES, pListenerData->nReportFrames);
	openavbListenerAddStat(pTLState, TL_STAT_RX_LOST, openavbAvtpLost(pListenerData->avtpHandle));
	openavbListenerAddStat(pTLState, TL_STAT_RX_BYTES, openavbAvtpBytes(pListenerData->avtpHandle));

	AVB_LOGF_INFO("RX "STREAMID_FORMAT", Totals: calls=%" PRIu64 ", frames=%" PRIu64 ", lost=%" PRIu64 ", bytes=%" PRIu64,
		STREAMID_ARGS(&pListenerData->streamID),
		openavbListenerGetStat(pTLState, TL_STAT_RX_CALLS),
		openavbListenerGetStat(pTLState, TL_STAT_RX_FRAMES),
		openavbListenerGetStat(pTLState, TL_STAT_RX_LOST),
		openavbListenerGetStat(pTLState, TL_STAT_RX_BYTES));

	if (pTLState->bStreaming) {
		openavbAvtpShutdownListener(pListenerData->avtpHandle);
		pTLState->bStreaming = FALSE;
	}

	AVB_TRACE_EXIT(AVB_TRACE_TL);
}
Exemplo n.º 2
0
EXTERN_DLL_EXPORT U64 openavbTLStat(tl_handle_t handle, tl_stat_t stat)
{
	AVB_TRACE_ENTRY(AVB_TRACE_TL);
	U64 val = 0;

	tl_state_t *pTLState = (tl_state_t *)handle;

	if (!pTLState) {
		AVB_LOG_ERROR("Invalid handle");
		AVB_TRACE_EXIT(AVB_TRACE_TL);
		return 0;
	}

	if (pTLState->cfg.role == AVB_ROLE_TALKER) {
		val = openavbTalkerGetStat(pTLState, stat);
	}
	else if (pTLState->cfg.role == AVB_ROLE_LISTENER) {
		val = openavbListenerGetStat(pTLState, stat);
	}

	AVB_TRACE_EXIT(AVB_TRACE_TL);
	return val;
}