欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

音视频多线程播放

程序员文章站 2022-04-11 15:33:33
...

多线程视频播放可以采用生产者模式来设计
一共三个线程,一个队列

  1. 数据读取线程(生产者)
  2. 音频播放线程(消费者)
  3. 视频播放线程(消费者)
//生产者线程
pthread_create(&(player->thread_read_from_stream),NULL,player_read_from_stream,(void*)player);

//消费者线程
DecoderData data1 = {player,video_stream_index}, *decoder_data1 = &data1;
pthread_create(&(player->decode_threads[video_stream_index]),NULL,decode_data,(void*)decoder_data1);

DecoderData data2 = {player,audio_stream_index}, *decoder_data2 = &data2;
pthread_create(&(player->decode_threads[audio_stream_index]),NULL,decode_data,(void*)decoder_data2);```