mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-13 03:31:45 +08:00
无音频时生成静音音频,防止播放器加载画面太慢
修复MAC下SDL必须在主线程渲染的问题
This commit is contained in:
@@ -73,16 +73,29 @@ int main(int argc, char *argv[]) {
|
||||
H264Decoder decoder;
|
||||
YuvDisplayer displayer;
|
||||
player->setOnVideoCB([&](const H264Frame &frame) {
|
||||
#ifndef __MACH__
|
||||
SDLDisplayerHelper::Instance().doTask([&, frame]() {
|
||||
AVFrame *pFrame = nullptr;
|
||||
bool flag = decoder.inputVideo((unsigned char *) frame.data.data(), frame.data.size(), frame.timeStamp,
|
||||
&pFrame);
|
||||
if (flag) {
|
||||
//DebugL << pFrame->pkt_pts;
|
||||
displayer.displayYUV(pFrame);
|
||||
EventPoller::Instance().sync([&](){
|
||||
displayer.displayYUV(pFrame);
|
||||
});
|
||||
}
|
||||
return true;
|
||||
});
|
||||
#else
|
||||
AVFrame *pFrame = nullptr;
|
||||
bool flag = decoder.inputVideo((unsigned char *) frame.data.data(), frame.data.size(), frame.timeStamp,
|
||||
&pFrame);
|
||||
if (flag) {
|
||||
//DebugL << pFrame->pkt_pts;
|
||||
displayer.displayYUV(pFrame);
|
||||
}
|
||||
#endif
|
||||
|
||||
});
|
||||
|
||||
EventPoller::Instance().runLoop();
|
||||
|
||||
Reference in New Issue
Block a user