Beispiel #1
0
/* Destroys and cleans up the input stream */
void destroyInputStream(void) {
	PLINKED_BLOCKING_QUEUE_ENTRY entry, nextEntry;

	if (oaesContext != NULL)
	{
		// FIXME: This crashes trying to free ctx->key
        // oaes_free(oaesContext);
		oaesContext = NULL;
	}

	entry = LbqDestroyLinkedBlockingQueue(&packetQueue);

	while (entry != NULL) {
		nextEntry = entry->flink;

		// The entry is stored in the data buffer
		free(entry->data);

		entry = nextEntry;
	}

	initialized = 0;
}
Beispiel #2
0
/* Cleans up control stream */
void destroyControlStream(void) {
    PltCloseEvent(&invalidateRefFramesEvent);
    freeFrameInvalidationList(LbqDestroyLinkedBlockingQueue(&invalidReferenceFrameTuples));
}
// Tear down the audio stream once we're done with it
void destroyAudioStream(void) {
    if ((AudioCallbacks.capabilities & CAPABILITY_DIRECT_SUBMIT) == 0) {
        freePacketList(LbqDestroyLinkedBlockingQueue(&packetQueue));
    }
    RtpqCleanupQueue(&rtpReorderQueue);
}
/* Tear down the audio stream once we're done with it */
void destroyAudioStream(void) {
	callbacks.release();

	freePacketList(LbqDestroyLinkedBlockingQueue(&packetQueue));
}