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 741906 - caps negotiation pb with empathy-call ?
caps negotiation pb with empathy-call ?
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 743569
 
 
Reported: 2014-12-23 13:27 UTC by Fabrice Bellet
Modified: 2015-02-24 08:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
empath-call gst debug log (compressed) (173.78 KB, application/x-bzip)
2014-12-23 13:29 UTC, Fabrice Bellet
Details

Description Fabrice Bellet 2014-12-23 13:27:18 UTC
I cannot establish a video call with a peer, when the gstreamer pipeline contains the vaapi elements. It fails with this error :

empathy-Message: Element error: Internal data flow error. -- gstbasesrc.c(2933): gst_base_src_loop (): /GstPipeline:pipeline0/FsRtpConference:fsrtpconference0/GstBin:bin2/GstNiceSrc:nicesrc2:
streaming task paused, reason not-negotiated (-4)

(empathy-call:1335): GStreamer-WARNING **: Element 'empathygstvideosrc0' already has parent

(empathy-call:1335): empathy-WARNING **: Could not add video input to pipeline

I'm running Fedora 21 (libva 1.4.1, gstreamer1 1.4.4, empathy 3.12.7, libnice 0.1.7), and gstreamer1-vaapi from git master.

[bellet@gandi-2 ~]$ vainfo 
libva info: LIBVA_TRACE is on, save log into /tmp/vaapi.27778.023115d0
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.36 (libva 1.4.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Sandybridge Mobile - 1.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc


I'll attach the log file obtained from :

GST_PLUGIN_PATH=~/Development/gstreamer-vaapi/gst/vaapi/.libs /usr/libexec/empathy-call --gst-debug='*vaapi*:5,*rtp*:5,*caps*:5,*nice*:5' > /tmp/log.txt 2>&1

The peer is running the same version of Fedora 21, without gstreamer1-vaapi.
Comment 1 Fabrice Bellet 2014-12-23 13:29:44 UTC
Created attachment 293258 [details]
empath-call gst debug log (compressed)
Comment 2 Fabrice Bellet 2014-12-23 14:04:48 UTC
Maybe the problem is located more precisely here (caps cannot intersect) :

0:00:19.672604485  8108 0x7f0ff40250f0 INFO             vaapidecode gstvaapidecode.c:963:gst_vaapidecode_query:<vaapidecode0> query type caps
0:00:19.672608380  8108 0x7f0ff40250f0 DEBUG               GST_PADS gstpad.c:3589:gst_pad_query:<vaapidecode0:sink> sent query 0x7f0fd8001de0 (caps), result 1
0:00:19.672612413  8108 0x7f0ff40250f0 DEBUG               GST_CAPS gstutils.c:2776:gst_pad_query_caps:<vaapidecode0:sink> query returned video/mpeg, mpegversion=(int)2, profile=(string){ simple, main }; video/x-h264, profile=(string){ main, high, constrained-baseline, stereo-high }; video/x-wmv, wmvversion=(int)3, format=(string)WVC1, profile=(string)advanced; video/x-wmv, wmvversion=(int)3, profile=(string){ simple, main }
0:00:19.672623478  8108 0x7f0ff40250f0 DEBUG               GST_PADS gstpad.c:2941:gst_pad_query_accept_caps_default:<vaapidecode0:sink> allowed caps subset video/mpeg, mpegversion=(int)2, profile=(string){ simple, main }; video/x-h264, profile=(string){ main, high, constrained-baseline, stereo-high }; video/x-wmv, wmvversion=(int)3, format=(string)WVC1, profile=(string)advanced; video/x-wmv, wmvversion=(int)3, profile=(string){ simple, main }, caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
0:00:19.672638504  8108 0x7f0ff40250f0 DEBUG               GST_PADS gstpad.c:3095:gst_pad_query_default:<vaapidecode0:sink> not forwarding 0x7f0fd8002230 (accept-caps) query
0:00:19.672643160  8108 0x7f0ff40250f0 DEBUG               GST_PADS gstpad.c:3589:gst_pad_query:<vaapidecode0:sink> sent query 0x7f0fd8002230 (accept-caps), result 1
0:00:19.672647920  8108 0x7f0ff40250f0 DEBUG                default gstutils.c:2886:gst_pad_peer_query_accept_caps:<'':src_internal> query returned 0
0:00:19.672651569  8108 0x7f0ff40250f0 DEBUG            autoconvert gstautoconvert.c:643:gst_auto_convert_activate_element:<autoconvert1> Could not set '':src_internal to video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
0:00:19.672657823  8108 0x7f0ff40250f0 DEBUG            autoconvert gstautoconvert.c:608:factory_can_intersect:<autoconvert1> Factories <avdec_h264> static caps video/x-h264, alignment=(string)au, stream-format=(string){ avc, byte-stream } and caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal can not intersect
0:00:19.672665442  8108 0x7f0ff40250f0 WARN             autoconvert gstautoconvert.c:796:gst_auto_convert_sink_setcaps:<autoconvert1> Could not find a matching element for caps
0:00:19.672668678  8108 0x7f0ff40250f0 DEBUG               GST_PADS gstpad.c:5156:gst_pad_send_event_unchecked:<autoconvert1:sink> sent event, ret not-negotiated
Comment 3 sreerenj 2015-02-23 08:20:00 UTC
Does this issue is reproducible with current gstreamer-vaapi master branch??
(there are couple of patches already landed to fix some negotiation issues)
Comment 4 Fabrice Bellet 2015-02-23 21:07:45 UTC
Yes, it works with gstreamer-vaapi master. Thanks!
Comment 5 Víctor Manuel Jáquez Leal 2015-02-24 08:28:23 UTC
(In reply to Fabrice Bellet from comment #4)
> Yes, it works with gstreamer-vaapi master. Thanks!

\o/