mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 04:35:34 +08:00
[fix] fix crash due to invalid XVideoFrame size
This commit is contained in:
@@ -36,7 +36,8 @@ int ResolutionAdapter::ResolutionDowngrade(const XVideoFrame* video_frame,
|
|||||||
|
|
||||||
new_frame->width = target_width;
|
new_frame->width = target_width;
|
||||||
new_frame->height = target_height;
|
new_frame->height = target_height;
|
||||||
new_frame->data = new char[target_width * target_height * 3 / 2];
|
new_frame->size = target_width * target_height * 3 / 2;
|
||||||
|
new_frame->data = new char[new_frame->size];
|
||||||
|
|
||||||
libyuv::NV12Scale((const uint8_t*)(video_frame->data), video_frame->width,
|
libyuv::NV12Scale((const uint8_t*)(video_frame->data), video_frame->width,
|
||||||
(const uint8_t*)(video_frame->data +
|
(const uint8_t*)(video_frame->data +
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ int IceTransportController::SendVideo(const XVideoFrame* video_frame) {
|
|||||||
new_frame.data = nullptr;
|
new_frame.data = nullptr;
|
||||||
new_frame.width = video_frame->width;
|
new_frame.width = video_frame->width;
|
||||||
new_frame.height = video_frame->height;
|
new_frame.height = video_frame->height;
|
||||||
|
new_frame.size = video_frame->size;
|
||||||
if (target_width_.has_value() && target_height_.has_value()) {
|
if (target_width_.has_value() && target_height_.has_value()) {
|
||||||
if (target_width_.value() < video_frame->width &&
|
if (target_width_.value() < video_frame->width &&
|
||||||
target_height_.value() < video_frame->height) {
|
target_height_.value() < video_frame->height) {
|
||||||
|
|||||||
Reference in New Issue
Block a user