After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 172938 - [probe] Probe cb is called twice for the same data
[probe] Probe cb is called twice for the same data
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.8.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-04-07 12:18 UTC by Luca Ognibene
Modified: 2006-01-13 16:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Simple test case (2.17 KB, text/x-csrc)
2005-04-07 12:19 UTC, Luca Ognibene
Details

Description Luca Ognibene 2005-04-07 12:18:46 UTC
From irc:
sKaBoy> strange problem.. I have a pipeline like " .... ! identity ! mux ! ....
". If i attach a probe to the src pad of identity i get the same data 2 times..
I i attach it to the sink of mux it works fine :) The mux element is loop based
if this is important.. I'm using cvs of a month ago
BBB> sKaBoy, hm, may be get/chain both calling the probe on the pad
BBB> please file a bug, I'll be able to reproduce&fix
sKaBoy> BBB, ok, should i try with latest cvs and do a simple test-case or not ?
BBB> no, don't worry
BBB> just attach a testcase, if possible
BBB> like a single .c file reproducing it 
BBB> (if not too much effort)

Attaching a simple test case that find the fps for a simple pipeline:

luogni@shinji:~/Sorgenti/gst-tests$ gcc -o probe-cb probe-cb.c `pkg-config
--cflags --libs gstreamer-0.8`
luogni@shinji:~/Sorgenti/gst-tests$ ./probe-cb
[21,0]fps
[20,0]fps

luogni@shinji:~/Sorgenti/gst-tests$ gcc -o probe-cb probe-cb.c `pkg-config
--cflags --libs gstreamer-0.8` -DATTACH_TO_SINK
luogni@shinji:~/Sorgenti/gst-tests$ ./probe-cb
[11,0]fps
[10,0]fps

10fps is the right answer :)
Comment 1 Luca Ognibene 2005-04-07 12:19:30 UTC
Created attachment 39798 [details]
Simple test case
Comment 2 Ronald Bultje 2005-04-25 15:39:31 UTC
The bug, assuming a get->chain->loop pipeline element-chain:

* Opt iterates the loop-group, loop iterates, pulls data. Opt iterates previous
group.
* Previous data is iterated by calling the getfunction, push from get-to-chain,
push from chain-to-group-boundary. In both cases, the probes of the pads are called.
* Iteration in opt returns, opt returns control to loop-group, pull returns and
re-calls probes.

We can't just remove the probe-calling in _pull(), because that is needed in a
get->loop group. I don't know how to easily fix this. Anyone?
Comment 3 Andy Wingo 2005-07-16 12:43:20 UTC
Targeting to 0.8.x.
Comment 4 Andy Wingo 2005-11-14 10:58:27 UTC
Changing version to 0.8.x, removing target (there are no plans on fixing this atm)
Comment 5 Andy Wingo 2006-01-13 16:22:34 UTC
Closing as obsolete.