Ejemplo n.º 1
0
static void stop_video(void)
{
	struct obs_core_video *video = &obs->video;
	void *thread_retval;

	if (video->video) {
		video_output_stop(video->video);
		if (video->thread_initialized) {
			pthread_join(video->video_thread, &thread_retval);
			video->thread_initialized = false;
		}
	}

}
Ejemplo n.º 2
0
int video_stop (dtvideo_context_t * vctx)
{
    if (vctx->video_status > VIDEO_STATUS_INITED)
    {
        dtvideo_output_t *video_out = &vctx->video_out;
        video_output_stop (video_out);
        //dtvideo_filter_t *video_filter=&vctx->video_filt;
        //video_filter_stop(video_filter);
        dtvideo_decoder_t *video_decoder = &vctx->video_dec;
        video_decoder_stop (video_decoder);
        vctx->video_status = VIDEO_STATUS_STOPPED;
    }
    return 0;
}
Ejemplo n.º 3
0
void video_output_close(video_t video)
{
	if (!video)
		return;

	video_output_stop(video);

	for (size_t i = 0; i < video->inputs.num; i++)
		video_input_free(&video->inputs.array[i]);
	da_free(video->inputs);

	event_destroy(video->update_event);
	event_destroy(video->stop_event);
	pthread_mutex_destroy(&video->data_mutex);
	pthread_mutex_destroy(&video->input_mutex);
	bfree(video);
}
Ejemplo n.º 4
0
static void obs_free_video()
{
	struct obs_video *video = &obs->video;

	if (video->video) {
		void *thread_retval;

		video_output_stop(video->video);
		if (video->thread_initialized) {
			pthread_join(video->video_thread, &thread_retval);
			video->thread_initialized = false;
		}

		video_output_close(video->video);
		video->video = NULL;
	}
}
Ejemplo n.º 5
0
void video_output_close(video_t video)
{
	if (!video)
		return;

	video_output_stop(video);

	if (video->output) {
		media_remove_output(video->media, video->output);
		media_output_destroy(video->output);
	}

	event_destroy(&video->update_event);
	event_destroy(&video->stop_event);
	pthread_mutex_destroy(&video->data_mutex);
	bfree(video);
}
Ejemplo n.º 6
0
void video_output_close(video_t *video)
{
	if (!video)
		return;

	video_output_stop(video);

	for (size_t i = 0; i < video->inputs.num; i++)
		video_input_free(&video->inputs.array[i]);
	da_free(video->inputs);

	for (size_t i = 0; i < video->info.cache_size; i++)
		video_frame_free((struct video_frame*)&video->cache[i]);

	os_sem_destroy(video->update_semaphore);
	pthread_mutex_destroy(&video->data_mutex);
	pthread_mutex_destroy(&video->input_mutex);
	bfree(video);
}