Skip to content

Commit

Permalink
Fixing buffer issues with RGBA
Browse files Browse the repository at this point in the history
  • Loading branch information
ross-newman committed May 13, 2024
1 parent 043065c commit a361d6c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
6 changes: 4 additions & 2 deletions src/qt6/QtRtpOpenH264Depayloader.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ void QtRtpOpenH264Depayloader::setStreamInfo(const mediax::rtp::StreamInformatio
m_depayloader.RegisterCallback(
[this](const mediax::rtp::RtpDepayloader &depay [[maybe_unused]], mediax::rtp::RtpFrameData frame) {
Frame frame_data;
frame_data.video.resize(frame.resolution.height * frame.resolution.width * 3);
memcpy(frame_data.video.data(), frame.cpu_buffer, frame.resolution.height * frame.resolution.width * 3);
int bits_per_pixel = mediax::BitsPerPixel(frame.encoding);
frame_data.video.resize(frame.resolution.height * frame.resolution.width * bits_per_pixel);
memcpy(frame_data.video.data(), frame.cpu_buffer,
frame.resolution.height * frame.resolution.width * bits_per_pixel);

frame_data.height = m_depayloader.GetHeight();
frame_data.width = m_depayloader.GetWidth();
Expand Down
7 changes: 5 additions & 2 deletions src/qt6/QtRtpVaapiH264Depayloader.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@ void QtRtpVaapiH264Depayloader::setStreamInfo(const mediax::rtp::StreamInformati
m_depayloader.RegisterCallback(
[this](const mediax::rtp::RtpDepayloader &depay [[maybe_unused]], mediax::rtp::RtpFrameData frame) {
Frame frame_data;
frame_data.video.resize(frame.resolution.height * frame.resolution.width * 3);
memcpy(frame_data.video.data(), frame.cpu_buffer, frame.resolution.height * frame.resolution.width * 3);

int bits_per_pixel = mediax::BitsPerPixel(frame.encoding);
frame_data.video.resize(frame.resolution.height * frame.resolution.width * bits_per_pixel);
memcpy(frame_data.video.data(), frame.cpu_buffer,
frame.resolution.height * frame.resolution.width * bits_per_pixel);

frame_data.height = m_depayloader.GetHeight();
frame_data.width = m_depayloader.GetWidth();
Expand Down

0 comments on commit a361d6c

Please sign in to comment.