我是靠谱客的博主 虚拟夕阳,这篇文章主要介绍FFMpeg中的SDL多线程使用,现在分享给大家,希望可以做个参考。

在FFmpeg的player中用到了SDL多线程,去读取音视频文件,解码音频,解码视频,解码字幕,读写队列;来看SDL_Thread,SDL_cond,SDL_mutex关系

SDL是一个c语言写的多媒体库,功能非常强大,并且支持音视频渲染,有的游戏中也有用到;

直接看代码注释:

// sdlthread.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include "SDL.h"

SDL_cond* cond = SDL_CreateCond(); //创建一个条件信号量
SDL_mutex* mutex = SDL_CreateMutex();创建一个互斥锁

int index = 0;

//第一个线程函数
static int MyThread(void *data) {
	while (1) {
		SDL_LockMutex(mutex);//线程启动后,先加锁
		index++;
		std::cout << "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" << index << "n";
		if (index % 2 == 0) {
	

最后

以上就是虚拟夕阳最近收集整理的关于FFMpeg中的SDL多线程使用的全部内容,更多相关FFMpeg中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部