gst: handle blocks and size allocation for encoded format

In case of encoded video we get n_planes as 0 from the video info so
passing that as n_datas is failing during the buffer negotiation. Make
sure to use an appropriate value based on whether we have raw video or
not.

Co-authored-by: Taruntej Kanakamalla <taruntej@asymptotic.io>
This commit is contained in:
Arun Raghavan 2025-04-16 19:47:40 -04:00
parent 55f71520db
commit ebe9381236
6 changed files with 65 additions and 15 deletions

View file

@ -64,6 +64,7 @@ struct _GstPipeWireSrc {
GstCaps *possible_caps;
gboolean is_video;
gboolean is_rawvideo;
GstVideoInfo video_info;
#ifdef HAVE_GSTREAMER_DMA_DRM
GstVideoInfoDmaDrm drm_info;