<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16830">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Hi,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>when using a "tee" (simply 1 in and 1 out, 
hopefully transparent behaviour) and dmabufs, is tee somehow influencing the 
behaviour?</FONT></DIV>
<DIV><FONT size=2 face=Arial>Is there some difference between 1.8.2 (which I 
still have in use) or newest versions?</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>E.g. following two examples (only relevant parts, 
simplified):</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>1) videodec ! sink</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>2) videodec ! tee ! sink</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>I see diffences in who is allocating the dmabuf 
memories, once it is videodec, once it is sink.</FONT></DIV>
<DIV><FONT size=2 face=Arial>Also propose allocation / decide allocation seems 
to be different.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Here is a trace of the case with tee:</FONT></DIV>
<DIV><FONT size=2 face=Arial>(especially message "didn't get downstream 
ALLOCATION hints" from videodec)</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>0:00:00.967190334 [336m  551[00m   
0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:5075:store_sticky_event:<identity0:sink>[00m notify 
caps<BR>0:00:00.967252000 [336m  551[00m   0x357890 
[33;01mLOG    [00m [00;01;37;44m      
GST_PROPERTIES 
gstobject.c:463:gst_object_dispatch_properties_changed:<identity0>[00m 
deep notification from sink (caps)<BR>0:00:00.967320667 [336m  
551[00m   0x357890 [33;01mLOG    [00m 
[00;01;37;44m      GST_PROPERTIES 
gstobject.c:463:gst_object_dispatch_properties_changed:<pipeline0>[00m 
deep notification from sink 
(caps)<BR>/GstPipeline:pipeline0/GstIdentity:identity0.GstPad:sink: caps = 
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1920\,\ 
height\=\(int\)1080\,\ interlace-mode\=\(string\)progressive\,\ 
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\ 
colorimetry\=\(string\)bt709\,\ 
framerate\=\(fraction\)121/3"<BR>0:00:00.967569334 [336m  
551[00m   0x357890 [33;01mLOG    [00m 
[00;01;31;41m            
GST_PADS gstpad.c:5240:gst_pad_push_event_unchecked:<tee0:src_0>[00m sent 
event 0x75b0ca00 (caps) to peerpad <identity0:sink>, ret 
ok<BR>0:00:00.967652000 [336m  551[00m   0x357890 [37mDEBUG  
[00m 
[00;01;31;41m            
GST_PADS gstpad.c:3787:push_sticky:<tee0:src_0>[00m event caps marked 
received<BR>0:00:00.967723000 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:5591:gst_pad_send_event_unchecked:<tee0:sink>[00m sent 
event, ret ok<BR>0:00:00.967785000 [336m  551[00m   0x357890 
[33;01mLOG    [00m 
[00;01;31;41m            
GST_PADS gstpad.c:5069:store_sticky_event:<tee0:sink>[00m stored sticky 
event caps<BR>0:00:00.967844000 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:5075:store_sticky_event:<tee0:sink>[00m notify 
caps<BR>0:00:00.967902334 [336m  551[00m   0x357890 
[33;01mLOG    [00m [00;01;37;44m      
GST_PROPERTIES 
gstobject.c:463:gst_object_dispatch_properties_changed:<tee0>[00m deep 
notification from sink (caps)<BR>0:00:00.967970334 [336m  
551[00m   0x357890 [33;01mLOG    [00m 
[00;01;37;44m      GST_PROPERTIES 
gstobject.c:463:gst_object_dispatch_properties_changed:<pipeline0>[00m 
deep notification from sink 
(caps)<BR>/GstPipeline:pipeline0/GstTee:tee0.GstPad:sink: caps = "video/x-raw\,\ 
format\=\(string\)I420\,\ width\=\(int\)1920\,\ height\=\(int\)1080\,\ 
interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ 
chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)bt709\,\ 
framerate\=\(fraction\)121/3"<BR>0:00:00.968214000 [336m  
551[00m   0x357890 [33;01mLOG    [00m 
[00;01;31;41m            
GST_PADS 
gstpad.c:5240:gst_pad_push_event_unchecked:<v4l2video12videodec0:src>[00m 
sent event 0x75b0ca00 (caps) to peerpad <tee0:sink>, ret 
ok<BR>0:00:00.968294334 [336m  551[00m   0x357890 [37mDEBUG  
[00m 
[00;01;31;41m            
GST_PADS gstpad.c:3787:push_sticky:<v4l2video12videodec0:src>[00m event 
caps marked received<BR>0:00:00.968362334 [336m  551[00m   
0x357890 [37mDEBUG  [00m 
[00m               
query gstquery.c:674:gst_query_new_custom:[00m creating new query 0x75b05a30 
allocation<BR>0:00:00.968423334 [336m  551[00m   0x357890 
[37mDEBUG  [00m [00m        videodecoder 
gstvideodecoder.c:3719:gst_video_decoder_negotiate_pool:<v4l2video12videodec0>[00m 
do query ALLOCATION<BR>0:00:00.968472667 [336m  551[00m   
0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:4031:gst_pad_peer_query:<v4l2video12videodec0:src>[00m 
peer query 0x75b05a30 (allocation)<BR>0:00:00.968538334 [336m  
551[00m   0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:3904:gst_pad_query:<tee0:sink>[00m doing query 
0x75b05a30 (allocation)<BR>0:00:00.968606000 [336m  551[00m   
0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:3361:gst_pad_query_default:<tee0:sink>[00m not 
forwarding 0x75b05a30 (allocation) query<BR>0:00:00.968672667 [336m  
551[00m   0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:3927:gst_pad_query:<tee0:sink>[00m sent query 0x75b05a30 
(allocation), result 0<BR>0:00:00.968764667 [336m  551[00m   
0x357890 [37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:3972:gst_pad_query:<tee0:sink>[00m query 
failed<BR>0:00:00.968820334 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00;01;31;41m            
GST_PADS gstpad.c:4093:gst_pad_peer_query:<v4l2video12videodec0:src>[00m 
query failed<BR>0:00:00.968873000 [336m  551[00m   0x357890 
[37mDEBUG  [00m [00m        videodecoder 
gstvideodecoder.c:3722:gst_video_decoder_negotiate_pool:<v4l2video12videodec0>[00m 
didn't get downstream ALLOCATION hints<BR>0:00:00.968925334 [336m  
551[00m   0x357890 [37mDEBUG  [00m 
[00m                
v4l2 
gstv4l2object.c:4302:gst_v4l2_object_decide_allocation:<v4l2video12videodec0>[00m 
decide allocation<BR>0:00:00.969036000 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m                
v4l2 
gstv4l2object.c:4343:gst_v4l2_object_decide_allocation:<v4l2video12videodec0>[00m 
allocation: size:0 min:0 max:0 pool:(NULL)<BR>0:00:00.969101667 [336m  
551[00m   0x357890 [37mDEBUG  [00m 
[00m            GST_META 
gstmeta.c:87:gst_meta_api_type_register:[00m register API 
"GstVideoMetaAPI"<BR>0:00:00.969179000 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m            GST_META 
gstmeta.c:94:gst_meta_api_type_register:[00m   adding tag 
"video"<BR>0:00:00.969236667 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m            GST_META 
gstmeta.c:94:gst_meta_api_type_register:[00m   adding tag 
"memory"<BR>0:00:00.969289000 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m            GST_META 
gstmeta.c:94:gst_meta_api_type_register:[00m   adding tag 
"colorspace"<BR>0:00:00.969340667 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m            GST_META 
gstmeta.c:94:gst_meta_api_type_register:[00m   adding tag 
"size"<BR>0:00:00.969438667 [336m  551[00m   0x357890 
[37mDEBUG  [00m 
[00m                
v4l2 
gstv4l2object.c:1088:gst_v4l2_get_driver_min_buffers:<v4l2video12videodec0>[00m 
driver requires a minimum of 2 buffers<BR>0:00:00.969497000 [336m  
551[00m   0x357890 [37mDEBUG  [00m 
[00m                
v4l2 
gstv4l2object.c:4401:gst_v4l2_object_decide_allocation:<v4l2video12videodec0>[00m 
streaming mode: using our own pool 
<v4l2video12videodec0:pool:src><BR>0:00:00.969708000 [336m  
551[00m   0x357890 [33;01mWARN   [00m 
[00m           structure 
gststructure.c:1935:priv_gst_structure_append_to_gstring:[00m No value transform 
to serialize field 'params' of type 'GstAllocationParams'<BR>0:00:00.969591000 
[336m  551[00m   0x357890 [37mDEBUG  [00m 
[00m                
v4l2 
gstv4l2object.c:4475:gst_v4l2_object_decide_allocation:<v4l2video12videodec0>[00m 
setting own pool config to GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\ 
format\=\(string\)I420\,\ width\=\(int\)1920\,\ height\=\(int\)1080\,\ 
interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ 
chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)bt709\,\ 
framerate\=\(fraction\)121/3", size=(uint)3133440, min-buffers=(uint)6, 
max-buffers=(uint)0, allocator=(GstAllocator)"NULL", 
params=(GstAllocationParams)NULL;<BR>0:00:00.969943667 [336m  
551[00m   0x357890 [33;01mWARN   [00m 
[00m           structure 
gststructure.c:1935:priv_gst_structure_append_to_gstring:[00m No value transform 
to serialize field 'params' of type 'GstAllocationParams'<BR>0:00:00.969827000 
[336m  551[00m   0x357890 [37mDEBUG  [00m 
[00m      v4l2bufferpool 
gstv4l2bufferpool.c:504:gst_v4l2_buffer_pool_set_config:<v4l2video12videodec0:pool:src>[00m 
config GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\ 
format\=\(string\)I420\,\ width\=\(int\)1920\,\ height\=\(int\)1080\,\ 
interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ 
chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)bt709\,\ 
framerate\=\(fraction\)121/3", size=(uint)3133440, min-buffers=(uint)6, 
max-buffers=(uint)0, allocator=(GstAllocator)"NULL", 
params=(GstAllocationParams)NULL;<BR></FONT></DIV>
<DIV><FONT size=2 face=Arial>Best regards,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Martin</FONT></DIV>
<DIV><FONT size=2 face=Arial> </DIV></FONT>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV></BODY></HTML>