From 592426595ee8725eb272ac5a882963cab99bf5f5 Mon Sep 17 00:00:00 2001 From: Aryan Salmanpour Date: Mon, 13 Nov 2023 14:38:29 -0500 Subject: [PATCH] Fix a seg fault when saving a frame in SaveSurfToFile (#60) --- utils/rocvideodecode/roc_video_dec.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/utils/rocvideodecode/roc_video_dec.cpp b/utils/rocvideodecode/roc_video_dec.cpp index 2ae1cb49a6..0aefdc893b 100644 --- a/utils/rocvideodecode/roc_video_dec.cpp +++ b/utils/rocvideodecode/roc_video_dec.cpp @@ -370,10 +370,14 @@ int RocVideoDecoder::HandleVideoSequence(RocdecVideoFormat *pVideoFormat) { output_surface_info_.num_chroma_planes = num_chroma_planes_; if (out_mem_type_ == OUT_SURFACE_MEM_DEV_INTERNAL) { output_surface_info_.output_surface_size_in_bytes = surface_stride_ * (surface_vstride_ + (chroma_vstride_ * num_chroma_planes_)); - } else if (out_mem_type_ == OUT_SURFACE_MEM_DEV_COPIED) + output_surface_info_.mem_type = OUT_SURFACE_MEM_DEV_INTERNAL; + } else if (out_mem_type_ == OUT_SURFACE_MEM_DEV_COPIED) { output_surface_info_.output_surface_size_in_bytes = GetFrameSizePitched(); - else + output_surface_info_.mem_type = OUT_SURFACE_MEM_DEV_COPIED; + } else { output_surface_info_.output_surface_size_in_bytes = GetFrameSize(); + output_surface_info_.mem_type = OUT_SURFACE_MEM_HOST_COPIED; + } disp_rect_.b = videoDecodeCreateInfo.display_area.bottom; disp_rect_.t = videoDecodeCreateInfo.display_area.top;