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 735870 - glimagesink: Crashes in pipelines with a tee
glimagesink: Crashes in pipelines with a tee
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-09-02 08:29 UTC by valx76
Modified: 2014-09-07 18:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description valx76 2014-09-02 08:29:13 UTC
I talked to __tim and slomo (IRC), and the pipeline should be OK.


Server pipeline (RPI/Linux) : raspivid -t 0 -w 640 -h 480 -fps 25 -b 1200000 -p 0,0,640,480 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=__ port=__

Client pipeline (Android) : tcpclientsrc host=__ port=__ ! gdpdepay ! rtph264depay ! decodebin ! tee name=t ! queue ! videoconvert ! autovideosink sync=false t. ! queue ! videorate ! video/x-raw,framerate=5/1 ! videoscale ! video/x-raw,width=160,height=120 ! facedetect min-size-width=40 min-size-height=40


NOTE - Without the tee/queue elements, it's working (really slow) : tcpclientsrc host=__ port=__ ! gdpdepay ! rtph264depay ! decodebin ! videoconvert ! videoscale ! video/x-raw,width=320,height=240 ! facedetect min-size-width=60 min-size-height=60 ! autovideosink sync=false



Cut debug log here : http://pastebin.com/qbGcGp1p
Comment 1 valx76 2014-09-04 13:13:09 UTC
Backtrace log (slomo's request) : http://pastebin.com/yPEsgthu
Comment 2 valx76 2014-09-04 14:00:32 UTC
Here is some tests (all are crashing).
NOTE: That's on Android.


tcpclientsrc host=__ port=__ ! gdpdepay ! rtph264depay ! decodebin ! tee name=t ! queue ! videoconvert ! autovideosink sync=false t. ! queue ! videorate ! video/x-raw,framerate=5/1 ! videoscale ! video/x-raw,width=320,height=240 ! identity ! fakesink sync=false


videotestsrc ! tee name=t ! queue ! videoconvert ! autovideosink sync=false t. ! queue ! videorate ! video/x-raw,framerate=5/1 ! videoscale ! video/x-raw,width=320,height=240 ! identity ! fakesink sync=false


videotestsrc ! tee name=t ! queue ! autovideosink sync=false  t. ! queue ! fakesink sync=false


videotestsrc ! tee name=t ! queue ! glimagesink sync=false  t. ! queue ! fakesink sync=false
Comment 3 Sebastian Dröge (slomo) 2014-09-04 15:15:47 UTC
probably because tee rejects ALLOCATION queries. All works fine on Linux with mesa, even when forcing EGL.
Comment 4 valx76 2014-09-05 09:33:28 UTC
I was using the 1.3.0 for Android.
In the 1.4.1, it's working fine :) !