91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于FFMPEG_SDL2_音視頻播放_參考音頻時鐘,在vs2010上測試ok,是博文《基于FFMPEG+SDL2播放video---音視頻同步(參考音頻時鐘)》中的代碼,博文鏈接:https://blog.csdn.net/u011003120/article/details/82626615

資源截圖

代碼片段和文件信息

#if?0
#else
#include?
#include?

#define?__STDC_CONSTANT_MACROS
extern?“C“
{
#include?“libavcodec/avcodec.h“
#include?“libavformat/avformat.h“
#include?“libswscale/swscale.h“
#include?“libswresample/swresample.h“
#include?“libavutil/time.h“
#include?“sdl/SDL.h“
#include?“sdl/SDL_thread.h“
};

#define?FILENAME?“屌絲男士.mov“


#define?VIDEO_PICTURE_QUEUE_SIZE???????1
#define?SDL_AUDIO_BUFFER_SIZE?????????????1024
#define?MAX_AUDIO_frame_SIZE??????????????192000
#define?MAX_AUDIOQ_SIZE?????????????????????????(5?*?16?*?1024)
#define?MAX_VIDEOQ_SIZE??????????????????????????(5?*?256?*?1024)

#define?FF_REFRESH_EVENT?????????????????????????(SDL_USEREVENT?+?1)
#define?FF_QUIT_EVENT????????????????????????????????(SDL_USEREVENT?+?2)
#define?FF_ALLOC_EVENT?????????????????????????????(SDL_USEREVENT+3)

#define?AV_SYNC_THRESHOLD??????????????????????0.01
#define?AV_NOSYNC_THRESHOLD?????????????????10.0

typedef?struct?PacketQueue?
{
????AVPacketList?*first_pkt?*last_pkt;
????int?nb_packets;
????int?size;
????SDL_mutex?*mutex;
????SDL_cond?*cond;
}?PacketQueue;

typedef?struct?_VideoPicture_
{
AVframe*?pframe;
double?pts;
int?frameWidth;
int?frameHeight;
int?allocated;
}VideoPicture;

typedef?struct?_VideoState_
{
AVFormatContext?*pFormatCtx;

/*?video?*/
int?videoStreamIndex;
AVStream*?pVideoStream;
PacketQueue?videoQueue;
VideoPicture?pictQueue[VIDEO_PICTURE_QUEUE_SIZE];
int?pictSize;
int?pictRindex;??????????????????????????//取出索引
int?pictWindex;?????????????????????????//寫入索引
double?videoClock;
double?frameLastDelay;??????????//兩幀PTS之間的差值
double?frameLastPTS;?????????????//上一幀的PTS
double?frameTimer;????????????????//什么作用?

/*?audio?*/
int?audioStreamIndex;
AVStream*?pAudioStream;
PacketQueue?audioQueue;
uint8_t?audioBuf[(MAX_AUDIO_frame_SIZE?*?3)?/?2];
unsigned?int?audioBufSize;
unsigned?int?audioBufIndex;
AVframe?audioframe;
AVPacket?audioPkt;
uint8_t?*audioPktData;
int?audioPktSize;
int?outBufferSize;
struct?SwrContext?*au_convert_ctx;
double?audioClock;

/*?sdl?*/
SDL_mutex?*pictQueueMutex;
SDL_cond?*pictQueueCond;
SDL_Thread?*videoThrd;
SDL_Thread?*parseThrd;

char?fileName[128];
int?quit;
int?flag;

struct?SwsContext?*sws_ctx;
}VideoState;

VideoState?*global_video_state;

void?packet_queue_init(PacketQueue?*q)?
{
????memset(q?0?sizeof(PacketQueue));
????q->mutex?=?SDL_CreateMutex();
????q->cond?=?SDL_CreateCond();
}

int?packet_queue_put(PacketQueue?*q?AVPacket?*pkt)?{
????AVPacketList?*pkt1;

????if(av_dup_packet(pkt)?????????return?-1;
????}

????pkt1?=?(AVPacketList?*)av_malloc(sizeof(AVPacketList));
????if?(!pkt1)
????????return?-1;

????pkt1->pkt?=?*pkt;
????pkt1->next?=?NULL;

????SDL_LockMutex(q->mutex);

????if?(!q->last_pkt)????//隊列為空
????????q->first_pkt?=?pkt1;
????else
????????q->last_pkt->next?=?pkt1;??//將當前鏈表的最后一個結點的next指向pkt1

??

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-09-10?15:20??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\
?????文件????18936320??2018-08-27?18:38??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\avcodec-55.dll
?????文件?????1340928??2018-08-27?18:30??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\avdevice-55.dll
?????文件?????2034688??2018-08-27?18:30??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\avfilter-4.dll
?????文件?????5342720??2018-08-27?18:33??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\avformat-55.dll
?????文件??????418304??2018-08-27?18:30??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\avutil-52.dll
?????目錄???????????0??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\
?????文件?????????866??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\cl.command.1.tlog
?????文件???????17752??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\CL.read.1.tlog
?????文件?????????584??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\CL.write.1.tlog
?????文件????????5248??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.Build.CppClean.log
?????文件???????43008??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.exe
?????文件?????????658??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.exe.embed.manifest
?????文件?????????724??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.exe.embed.manifest.res
?????文件?????????616??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.exe.intermediate.manifest
?????文件??????461344??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.ilk
?????文件??????????94??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.lastbuildstate
?????文件??????560128??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test.pdb
?????文件?????????266??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL2_Play_Video_Audio_Sync_Test_manifest.rc
?????文件???????58350??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\FFMPEG_SDL_Play_Video_Audio.obj
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link-cvtres.read.1.tlog
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link-cvtres.write.1.tlog
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.9948-cvtres.read.1.tlog
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.9948-cvtres.write.1.tlog
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.9948.read.1.tlog
?????文件???????????2??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.9948.write.1.tlog
?????文件????????2802??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.command.1.tlog
?????文件????????5290??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.read.1.tlog
?????文件????????1466??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\link.write.1.tlog
?????文件?????????622??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\mt.command.1.tlog
?????文件?????????350??2018-09-10?15:19??FFMPEG_SDL2_Play_Video_Audio_Sync_Test\Debug\mt.read.1.tlog
............此處省略196個文件信息

評論

共有 條評論