mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-25 20:27:34 +08:00
Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit
This commit is contained in:
commit
684cd21ba1
@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The ZLMediaKit project authors. All Rights Reserved.
|
* Copyright (c) 2016 The ZLMediaKit project authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This file is part of ZLMediaKit(https://github.com/ZLMediaKit/ZLMediaKit).
|
* This file is part of ZLMediaKit(https://github.com/ZLMediaKit/ZLMediaKit).
|
||||||
@ -163,16 +163,24 @@ public:
|
|||||||
_render = SDL_CreateRenderer(_win, -1, SDL_RENDERER_ACCELERATED);
|
_render = SDL_CreateRenderer(_win, -1, SDL_RENDERER_ACCELERATED);
|
||||||
}
|
}
|
||||||
if (_render && !_texture) {
|
if (_render && !_texture) {
|
||||||
_texture = SDL_CreateTexture(_render, SDL_PIXELFORMAT_IYUV,
|
if (pFrame->format == AV_PIX_FMT_NV12) {
|
||||||
SDL_TEXTUREACCESS_STREAMING,
|
_texture = SDL_CreateTexture(
|
||||||
pFrame->width,
|
_render, SDL_PIXELFORMAT_NV12, SDL_TEXTUREACCESS_STREAMING, pFrame->width, pFrame->height);
|
||||||
pFrame->height);
|
} else {
|
||||||
|
_texture = SDL_CreateTexture(
|
||||||
|
_render, SDL_PIXELFORMAT_IYUV, SDL_TEXTUREACCESS_STREAMING, pFrame->width, pFrame->height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (_texture) {
|
if (_texture) {
|
||||||
SDL_UpdateYUVTexture(_texture, nullptr,
|
//需要更新sdl到最新(>=2.0.16)
|
||||||
pFrame->data[0], pFrame->linesize[0],
|
if (pFrame->format == AV_PIX_FMT_NV12) {
|
||||||
pFrame->data[1], pFrame->linesize[1],
|
SDL_UpdateNVTexture(
|
||||||
pFrame->data[2], pFrame->linesize[2]);
|
_texture, nullptr, pFrame->data[0], pFrame->linesize[0], pFrame->data[1], pFrame->linesize[1]);
|
||||||
|
} else {
|
||||||
|
SDL_UpdateYUVTexture(
|
||||||
|
_texture, nullptr, pFrame->data[0], pFrame->linesize[0], pFrame->data[1], pFrame->linesize[1],
|
||||||
|
pFrame->data[2], pFrame->linesize[2]);
|
||||||
|
}
|
||||||
|
|
||||||
//SDL_UpdateTexture(_texture, nullptr, pFrame->data[0], pFrame->linesize[0]);
|
//SDL_UpdateTexture(_texture, nullptr, pFrame->data[0], pFrame->linesize[0]);
|
||||||
SDL_RenderClear(_render);
|
SDL_RenderClear(_render);
|
||||||
@ -190,4 +198,4 @@ private:
|
|||||||
void *_hwnd = nullptr;
|
void *_hwnd = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* YUVDISPLAYER_H_ */
|
#endif /* YUVDISPLAYER_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user