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 721140 - test-appsrc gives error and not show result
test-appsrc gives error and not show result
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
git master
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-27 19:44 UTC by edward
Modified: 2015-07-29 07:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description edward 2013-12-27 19:44:46 UTC
I just compiled from git the components 
gst-gstreamer
base, good , ugly and gst-rtsp-server

Tried it out, test-video gives me good view and sound with VLC media player. NO problems here.

When i do test-appsrc:
$./test-appsrc 
stream ready at rtsp://127.0.0.1:8554/test
x264 [error]: baseline profile doesn't support 4:4:4


The error for x264 I get when I start the video in VLC media player.

edward@computer:~/git_gstreamer/gst-rtsp-server/examples$ ./test-appsrc 
stream ready at rtsp://127.0.0.1:8554/test
x264 [error]: baseline profile doesn't support 4:4:4

(lt-test-appsrc:8627): GLib-CRITICAL **: unblock_source: assertion `!SOURCE_DESTROYED (source)' failed

I use ubuntu-12.04.
first time i compiled from git.
normally use 0.10 (from packages) but I really want a rtsp-server from appsrc.
Comment 1 edward 2013-12-27 22:35:52 UTC
I tried the following (looking at sourcecode, and try to reproduce with gst-launch, although i cannot reproduce appsrc this way):

For info: THIS DOES NOT WORK

gst-launch-1.0 videotestsrc ! 'video/x-raw,format=RGB16,width=384,height=288' ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! queue ! rtph264pay name=pay0 pt=96 ! udpsink host=192.168.0.103 port=5000 auto-multicast=true

And this DOES WORK:
gst-launch-0.10 videotestsrc ! 'video/x-raw-rgb,width=384,height=288' ! ffmpegcolorspace ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! queue ! rtph264pay name=pay0 pt=96 ! udpsink host=192.168.0.103 port=5000 auto-multicast=true

maybe that aids in the troubleshooting (?)

(I think the above gst-launch-1.0 should work, so maybe I compiled it wrong, or do other people also get the same problem)?
Comment 2 Sebastian Dröge (slomo) 2014-01-03 10:05:09 UTC
> gst-launch-1.0 videotestsrc ! "video/x-raw,format=RGB16,width=384,height=288" ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! queue ! rtph264pay name=pay0 pt=96 ! udpsink host=127.0.0.1 port=5000
> gst-launch-1.0 udpsrc multicast-group=127.0.0.1 port=5000 ! "application/x-rtp,media=video,clock-rate=90000,encoding-name=H264" ! rtph264depay  ! avdec_h264 ! videoconvert ! xvimagesink


This works just fine here. Which version of GStreamer and the plugins are you using?


Also the test-appsrc example works just fine for me too. Can you get a backtrace of that warning with G_DEBUG=fatal_warnings?
Comment 3 edward 2014-01-03 21:01:49 UTC
2 comments:
1) about test-appsrc;
It does not crash but just shows nothing (back screen) with counter running in VLC media player.

Only when I abort the VLC media player I get a GLib-CRITICAL.

When I run gdb after I have set 'export G_DEBUG=fatal_warnings' I only get the following:

stream ready at rtsp://127.0.0.1:8554/test
[New Thread 0xb7863b40 (LWP 3386)]
[New Thread 0xb6c08b40 (LWP 3387)]
[New Thread 0xb62b6b40 (LWP 3388)]
[New Thread 0xb58ffb40 (LWP 3389)]
[New Thread 0xb50feb40 (LWP 3390)]
[New Thread 0xb44ffb40 (LWP 3391)]
[New Thread 0xb3cfeb40 (LWP 3392)]
[New Thread 0xb32ffb40 (LWP 3393)]
[New Thread 0xb2afeb40 (LWP 3394)]
[New Thread 0xb22fdb40 (LWP 3395)]
[New Thread 0xb1afcb40 (LWP 3396)]
x264 [error]: baseline profile doesn't support 4:4:4
[New Thread 0xb0b90b40 (LWP 3397)]
[New Thread 0xb038fb40 (LWP 3398)]
[New Thread 0xafb8eb40 (LWP 3399)]
[New Thread 0xaf38db40 (LWP 3400)]
[New Thread 0xaeb8cb40 (LWP 3401)]
[New Thread 0xae38bb40 (LWP 3402)]
[New Thread 0xac8c4b40 (LWP 3403)]
[New Thread 0xa800ab40 (LWP 3405)]
[Thread 0xa800ab40 (LWP 3405) exited]
[Thread 0xac8c4b40 (LWP 3403) exited]
[Thread 0xb0b90b40 (LWP 3397) exited]
[Thread 0xae38bb40 (LWP 3402) exited]
[Thread 0xaf38db40 (LWP 3400) exited]
[Thread 0xb038fb40 (LWP 3398) exited]
[Thread 0xafb8eb40 (LWP 3399) exited]
[Thread 0xaeb8cb40 (LWP 3401) exited]

(testing:3362): GLib-CRITICAL **: unblock_source: assertion `!SOURCE_DESTROYED (source)' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0xb7863b40 (LWP 3386)]

When I change the media_factory to:
 gst_rtsp_media_factory_set_launch (factory,
      "( appsrc name=mysrc ! videoconvert ! video/x-raw,format=I420 ! x264enc ! rtph264pay name=pay0 pt=96 )");

I get a white screen instead of a black one (but not alternating black/white) and I do not get the 4:4:4 message.

Concerning gstreamer-git version. It was a checkout from 26 or 27-12.
gst-launch-1.0 --gst-version ==> GStreamer Core Library version 1.3.0.1

About the gst-launch-commands I will tell you more about the failure:

My command for the udpsrc was in all cases:
gst-launch-0.10 udpsrc port=5000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! ffdec_h264 ! xvimagesink sync=false

and that did not work with the gst-launch-1.0 videotestsrc, and did work with the gst-launch-0.10 videotestsrc.

I swear I could remember also seeing the 4:4:4 message when startup of gst-launch-1.0, but I saw nothing when I reproduced it now.

In the combi videotestrsc with 1.0 and udpsrc 0.1 actually the 0.1 udspsrc crashes with:
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-negotiated (-4)

Sebastian, when I try your gst-launch-1.0 udpsrc they both run ok (just like you mentioned), although I do not seem to have xvimagesink for 1.0 but used autovideosink instead.

I assumed that the resulting udp-stream (sink) would be the same in 0.1 and 1. But it looks like its different, otherwise udpsrc of gstreamer 0.10 would not crash at videotestsrc 1.0 (as it does not when I launch viodetestsrc in 0.1.)

If you have more questions I am more than welcome to help. Preferably this weekend, because on monday I am going on a long holiday.
Comment 4 Vincent Penquerc'h 2014-04-04 14:45:38 UTC
I recently saw this SOURCE_DESTROYED assert, and after puzzling a bit, it, er, "went away" when I updated my glib. I'm now using 2.41.0 (might not be released yet, it's from git, so try latest), and I was using 2.32.4. This might be your issue.
Comment 5 Wim Taymans 2014-04-10 15:20:52 UTC
I think the warning was because of Bug #701283
Comment 6 Wim Taymans 2014-04-10 15:25:12 UTC
You need to put videoconvert before xvimagesink, 4:4:4 h264 produces Y444 from avdec_h264, which needs to be converted before xvimagesink can handle that.
Comment 7 Wim Taymans 2014-06-24 07:56:43 UTC
Closing. please reopen if it still happens after applying above comments.
Comment 8 Gaurav 2015-07-29 07:27:34 UTC
Has this is bug been resolved ??
I am facing same issue. 
If the ug is resolved kindly specify the procedure to rectify it