<!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>