ghostpad : Issue in setting pad mode for a bin created dynamically(when pipeline is running)
Submitted by Baby octopus
Link to original bug (#787323)
Description
Created attachment 359221
Sample application to reproduce the issue(based on test-segment-seek)
I have had this issue in my application which I'm able to reproduce in a small testbench
I have a pipeline gst-launch-1.0 playbin uri=xxx.mp4. When this file xxx.mp4 play is done,
- I create another srcBin ! typefind ! sink branch and add to the pipeline(and link). SrcBin is a bin encapsulating filesrc
- Call gst_bin_sync_children_states()
I see that the filesrc's pad activation function called 3 times, pull-pull-push mode. However, typefind thinks the pad in PULL mode. And this gives error pull range on pad bin_src_pad:proxypad16 but it wasnot activated in pull mode
No such issue is seen is srcBin is replaced with filesrc(make #if 0 in line 156)
It seems like some bug in ghostpad's pad activation when done when pipeline is running
Attachment 359221, "Sample application to reproduce the issue(based on test-segment-seek)":
ghostpad_test.c
Version: 1.12.1