Tee and allocation queries?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Tee and allocation queries?

Martin Maurer
Hi,
 
when using a "tee" (simply 1 in and 1 out, hopefully transparent behaviour) and dmabufs, is tee somehow influencing the behaviour?
Is there some difference between 1.8.2 (which I still have in use) or newest versions?
 
E.g. following two examples (only relevant parts, simplified):
 
1) videodec ! sink
 
2) videodec ! tee ! sink
 
I see diffences in who is allocating the dmabuf memories, once it is videodec, once it is sink.
Also propose allocation / decide allocation seems to be different.
 
Here is a trace of the case with tee:
(especially message "didn't get downstream ALLOCATION hints" from videodec)
 
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
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)
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)
/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"
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
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
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
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
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
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)
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)
/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"
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
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
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
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
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)
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)
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
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
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
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
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
0:00:00.968925334 [336m  551[00m   0x357890 [37mDEBUG  [00m [00m                v4l2 gstv4l2object.c:4302:gst_v4l2_object_decide_allocation:<v4l2video12videodec0>[00m decide allocation
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)
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"
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"
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"
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"
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"
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
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>
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'
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;
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'
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;
Best regards,
 
Martin
 
 
 
 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Tee and allocation queries?

Sebastian Dröge-3
On Mon, 2016-12-12 at 07:03 +0100, Martin Maurer wrote:
> Hi,
>  
> when using a "tee" (simply 1 in and 1 out, hopefully transparent
> behaviour) and dmabufs, is tee somehow influencing the behaviour?
> Is there some difference between 1.8.2 (which I still have in use) or
> newest versions?

There is no difference in tee, and it will always drop ALLOCATION
queries currently: https://bugzilla.gnome.org/show_bug.cgi?id=730758

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment