[Bug 792743] New: glcolorbalance causes decoderbin not to link with vaapih264enc !!
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sun Jan 21 01:36:06 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=792743
Bug ID: 792743
Summary: glcolorbalance causes decoderbin not to link with
vaapih264enc !!
Classification: Platform
Product: GStreamer
Version: 1.x
OS: Linux
Status: NEW
Severity: critical
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: tapascst at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
If I use below pipeline then I can broadcast to youtube successfully:
gst-launch-1.0 filesrc
location=Recorded_live_streaming_on__2018_01_20___13_56_33.219076__-0800.flv !
decodebin name=demux ! queue ! videorate ! video/x-raw,framerate=30/1 !
glupload ! glcolorconvert ! gldownload ! video/x-raw ! vaapih264enc dct8x8=true
cabac=true rate-control=cbr bitrate=8192 keyframe-period=60 max-bframes=0 !
flvmux name=mux ! rtmpsink sync=true async=true
location="rtmp://x.rtmp.youtube.com/XXXXX live=1" demux. ! queue !
progressreport ! audioconvert ! audiorate ! audioresample ! faac bitrate=128000
! audio/mpeg,mpegversion=4,stream-format=raw ! mux.
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Setting pipeline to PAUSED ...
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context,
gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
progressreport0 (00:00:05): 4 / 1984 seconds ( 0.2 %)
progressreport0 (00:00:10): 9 / 1984 seconds ( 0.5 %)
progressreport0 (00:00:15): 14 / 1984 seconds ( 0.7 %)
progressreport0 (00:00:20): 19 / 1984 seconds ( 1.0 %)
However, if I use glcolorbalance in this pipeline then it gives me following
error and I cannot stream to youtube any more:
gst-launch-1.0 filesrc
location=Recorded_live_streaming_on__2018_01_20___13_56_33.219076__-0800.flv !
decodebin name=demux ! queue ! videorate ! video/x-raw,framerate=30/1 !
glupload ! glcolorbalance ! glcolorconvert ! gldownload ! video/x-raw !
vaapih264enc dct8x8=true cabac=true rate-control=cbr bitrate=8192
keyframe-period=60 max-bframes=0 ! flvmux name=mux ! rtmpsink sync=true
async=true location="rtmp://x.rtmp.youtube.com/XXXXX live=1" demux. ! queue !
progressreport ! audioconvert ! audiorate ! audioresample ! faac bitrate=128000
! audio/mpeg,mpegversion=4,stream-format=raw ! mux.
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Setting pipeline to PAUSED ...
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context,
gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Redistribute latency...
<b><i>WARNING: from element /GstPipeline:pipeline0/GstDecodeBin:demux: Delayed
linking failed.
Additional debug info:
./grammar.y(510): gst_parse_no_more_pads ():
/GstPipeline:pipeline0/GstDecodeBin:demux:
failed delayed linking some pad of GstDecodeBin named demux to some pad of
GstQueue named queue0</i></b>
^Chandling interrupt.
Interrupt: Stopping pipeline ...
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
It seems like glcolorbalanc is causing decodebin not to link with vaapih264enc
since it is the only difference between above pipeline.
I am new to gstreamer and Can any one tell me what is wrong with 2nd pipeline
and why linking is failing ?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list