概述
在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中的SDL多线程使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复