Linking v4l2convert to kmssink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The following pipeline works correctly on a imx6ull-evk:

gst-launch-1.0 -v videotestsrc ! video/x-raw,format=BGRx,width=320,height=240 \
! v4l2convert ! video/x-raw,format=BGRx,width=160,height=120 ! fbdevsink

Now I would like to use kmssink instead of fbdevsink:

export GST_DEBUG="kmssink:7"
gst-launch-1.0 -v videotestsrc ! video/x-raw,format=BGRx,width=320,height=240 \
! v4l2convert ! video/x-raw,format=BGRx,width=160,height=120 ! kmssink
can-scale=false

Setting pipeline to PAUSED ...
0:00:00.940630791   249  0x1e394c0 INFO                 kmssink
gstkmssink.c:364:log_drm_version:<kmssink0> DRM v1.0.0 [mxsfb-drm �—
MXSFB Controller DRM �— 20160824]
0:00:00.946571791   249  0x1e394c0 INFO                 kmssink
gstkmssink.c:409:get_drm_caps:<kmssink0> prime import (�✓) / prime
export (�✓) / async page flip (�✗)
0:00:00.951843708   249  0x1e394c0 INFO                 kmssink
gstkmssink.c:542:ensure_allowed_caps:<kmssink0> ignoring format RG16
0:00:00.956671416   249  0x1e394c0 DEBUG                kmssink
gstkmssink.c:579:ensure_allowed_caps:<kmssink0> allowed caps =
video/x-raw, format=(string)BGRx, width=(int)[ 120, 65535 ],
height=(int)[ 1
20, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.960598125   249  0x1e394c0 INFO                 kmssink
gstkmssink.c:789:gst_kms_sink_start:<kmssink0> connector id = 35 /
crtc id = 33 / plane id = 31
0:00:00.965056000   249  0x1e394c0 INFO                 kmssink
gstkmssink.c:811:gst_kms_sink_start:<kmssink0> display size: pixels =
480x272 / millimeters = 95x54
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 480
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 272
0:00:01.011140500   249  0x1e3d838 DEBUG
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps
= video/x-raw, format=(string)BGRx, width=(int)320, height=(int)240,
framerat
e=(fraction)30/1, multiview-mode=(string)mono,
interlace-mode=(string)progressive, colorimetry=(string)1:1:5:1,
pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
video/x-raw, format=(string)BGRx, width=(int)320, height=(int)240,
framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mod
e=(string)progressive, colorimetry=(string)1:1:5:1,
pixel-aspect-ratio=(fraction)1/1
kmssink gstkmssink.c:1015:gst_kms_sink_get_caps:<kmssink0> Proposing
caps video/x-raw, format=(string)BGRx, width=(int)480,
height=(int)272, framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=
(fraction)1/1; video/x-raw, format=(string)BGRx, width=(int)[ 120,
65535 ], height=(int)[ 120, 65535 ], framerate=(fraction)[ 0/1,
2147483647/1 ], pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/v4l2convert:v4l2convert0.GstPad:src: caps =
video/x-raw, framerate=(fraction)30/1, multiview-mode=(string)mono,
interlace-mode=(string)progressive, format=(string)BGRx, width=(int)
160, height=(int)120, pixel-aspect-ratio=(fraction)1/1
0:00:01.026995416   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1015:gst_kms_sink_get_caps:<kmssink0> Proposing caps
video/x-raw, format=(string)BGRx, width=(int)480, height=(int)272,
framer
ate=(fraction)[ 0/1, 2147483647/1 ], pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)BGRx, width=(int)[ 120, 65535 ],
height=(int)[ 120, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps =
video/x-raw, framerate=(fraction)30/1, multiview-mode=(string)mono,
interlace-mode=(string)progressive, format=(string)BGRx, width=(int
)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1
0:00:01.034106458   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1015:gst_kms_sink_get_caps:<kmssink0> Proposing caps
video/x-raw, format=(string)BGRx, width=(int)480, height=(int)272,
framer
ate=(fraction)[ 0/1, 2147483647/1 ], pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)BGRx, width=(int)[ 120, 65535 ],
height=(int)[ 120, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
0:00:01.038949625   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1117:gst_kms_sink_calculate_display_ratio:<kmssink0>
scaling to 160x120
0:00:01.043342583   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1158:gst_kms_sink_set_caps:<kmssink0> negotiated caps =
video/x-raw, framerate=(fraction)30/1, multiview-mode=(string)mono, in
terlace-mode=(string)progressive, format=(string)BGRx, width=(int)160,
height=(int)120, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps =
video/x-raw, framerate=(fraction)30/1, multiview-mode=(string)mono,
interlace-mode=(string)progressive, format=(string)BGRx,
width=(int)160,
 height=(int)120, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps =
video/x-raw, framerate=(fraction)30/1, multiview-mode=(string)mono,
interlace-mode=(string)progressive, format=(string)BGRx, width=(in
t)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1
0:00:01.052128833   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1204:gst_kms_sink_propose_allocation:<kmssink0> propose
allocation
/GstPipeline:pipeline0/v4l2convert:v4l2convert0.GstPad:sink: caps =
video/x-raw, format=(string)BGRx, width=(int)320, height=(int)240,
framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mod
e=(string)progressive, colorimetry=(string)1:1:5:1,
pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
video/x-raw, format=(string)BGRx, width=(int)320, height=(int)240,
framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mo
de=(string)progressive, colorimetry=(string)1:1:5:1,
pixel-aspect-ratio=(fraction)1/1
0:00:01.082080458   249  0x1e3d838 TRACE                kmssink
gstkmssink.c:1357:gst_kms_sink_import_dmabuf:<kmssink0> Found a dmabuf
with 1 planes and 1 memories
0:00:01.679061083   249  0x1e3d838 LOG                  kmssink
gstkmssink.c:1408:gst_kms_sink_import_dmabuf:<kmssink0> found these
prime ids: 22, 0, 0, 0
0:00:01.687960166   249  0x1e3d838 LOG                  kmssink
gstkmssink.c:1416:gst_kms_sink_import_dmabuf:<kmssink0> setting KMS
mem 0x1e65178 to DMABuf mem 0x1e64f28 with fb id = 38
0:00:01.692443458   249  0x1e3d838 TRACE                kmssink
gstkmssink.c:1602:gst_kms_sink_show_frame:<kmssink0> displaying fb 38
0:00:01.697410416   249  0x1e3d838 TRACE                kmssink
gstkmssink.c:1659:gst_kms_sink_show_frame:<kmssink0> drmModeSetPlane
at (160,76) 160x120 sourcing at (0,0) 160x120
0:00:01.701847291   249  0x1e3d838 DEBUG                kmssink
gstkmssink.c:1707:gst_kms_sink_show_frame:<kmssink0> result = { 160,
76, 160, 120} / src = { 0, 0, 160 120 } / dst = { 0, 0, 480 272 }
0:00:01.706981083   249  0x1e3d838 WARN                 kmssink
gstkmssink.c:1711:gst_kms_sink_show_frame:<kmssink0> error:
drmModeSetPlane failed: Resource temporarily unavailable (11)
ERROR: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0:
GStreamer encountered a general resource error.
Additional debug info:
../sys/kms/gstkmssink.c(1711): gst_kms_sink_show_frame ():
/GstPipeline:pipeline0/GstKMSSink:kmssink0:
drmModeSetPlane failed: Resource temporarily unavailable (11)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data
stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop ():
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...
#

Does anyone know what needs to be changed in the PXP or mxfdb driver
to allow the
Gstreamer pipeline to work with kmssink?

Thanks,

Fabio Estevam




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux