@@ -157,9 +157,14 @@ impl UserStreamState {
157157 let width = width as usize ;
158158 let height = height as usize ;
159159
160+ println ! ( "{width}x{height}" ) ;
161+
160162 let metas = unsafe { from_raw_parts ( buffer. metas , buffer. n_metas as usize ) } ;
161163 let datas = unsafe { from_raw_parts ( buffer. datas , buffer. n_datas as usize ) } ;
162164
165+ println ! ( "Metas: {metas:?}" ) ;
166+ println ! ( "Datas: {datas:?}" ) ;
167+
163168 // First check if memory buffers were sent
164169 let mem_data: SmallVec < [ _ ; 3 ] > = datas
165170 . iter ( )
@@ -176,7 +181,13 @@ impl UserStreamState {
176181 } else {
177182 let dma_data: SmallVec < [ _ ; 3 ] > = datas
178183 . iter ( )
179- . filter ( |data| data. type_ == spa:: sys:: SPA_DATA_DmaBuf )
184+ . filter ( |data| {
185+ println ! ( "{data:?}" ) ;
186+ println ! ( "\t {:?}" , unsafe { data. chunk. read_unaligned( ) } ) ;
187+ data. flags & spa:: sys:: SPA_DATA_FLAG_READABLE
188+ == spa:: sys:: SPA_DATA_FLAG_READABLE
189+ && data. type_ == spa:: sys:: SPA_DATA_DmaBuf
190+ } )
180191 . collect ( ) ;
181192
182193 if dma_data. is_empty ( ) {
@@ -187,12 +198,12 @@ impl UserStreamState {
187198 let first_data = dma_data[ 0 ] ;
188199
189200 // check that the fd of all dma buf's are the same, as different ones are currently not supported
190- if dma_data. iter ( ) . any ( |data| data. fd != first_data. fd ) {
191- log:: warn!(
192- "Got dma buffers with different fds, discarding as this is not supported"
193- ) ;
194- return ;
195- }
201+ // if dma_data.iter().any(|data| data.fd != first_data.fd) {
202+ // log::warn!(
203+ // "Got dma buffers with different fds, discarding as this is not supported"
204+ // );
205+ // return;
206+ // }
196207
197208 self . handle_dma_data ( metas, datas, dma_data)
198209 } ;
0 commit comments