GNOME Bugzilla – Bug 743639
Forward scheduling query to a peer pad on multiqueue and baseparse
Last modified: 2018-11-03 12:25:03 UTC
Created attachment 295644 [details] [review] Forward scheduling query to a peer pad on multiqueue and baseparse Decoder element demands to know about scheduling flags such as bandwidthlimited is enabled or not. In our product environment, our decoder element which uses H/W resources wants to know in playbin pipeline that it is streaming case or not. Our approach is that to use a scheduling query likes uridecodebin for deploying typefind and Q2. But, we encountered a problem that scheduling query is not forwarding to a source element such as souphttpsrc. We reviewed the log and found out that baseparse and multiqueue are not forwarding it to a peerpad because of 'gst_pad_query_default' handler with GST_PAD_FALG_PROXY_SCHEDULING. ======================================== 0:00:00.690352917 2581 0x7280a6f0 DEBUG GST_PADS gstpad.c:3028:gst_pad_query_default:<multiqueue0:src_1> not forwarding 0x71e0df20 (scheduling) query 0:00:00.896709625 2581 0x71e0e000 DEBUG GST_PADS gstpad.c:3028:gst_pad_query_default:<h264parse0:src> not forwarding 0x713080f0 (scheduling) query ======================================== Could you explain why it is not forwarding? it this a concept?? We hope that you would explain about it. Thus, we implemented the scheduling query in multiqueue and baseparse. Anyway, please check and review it.
The answer is just to mark those source pads with GST_PAD_SET_PROXY_SCHEDULING, which would make sense for those elements.
No, because even if upstream of multiqueue/baseparse supports PULL mode, this still doesn't make those elements support PULL mode for upstream. You need to explicitly handle the queries.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/89.