[Bug 785967] videoenc/dec : delay input buffers allocation until first buffer is received
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Aug 20 18:29:32 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=785967
Thibault Saunier <tsaunier at gnome.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tsaunier at gnome.org
--- Comment #24 from Thibault Saunier <tsaunier at gnome.org> ---
This broke very simple encoding pipeline on RPI:
commit 07e80c9425237bfb38684cd255af248068657935
Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date: Mon Aug 7 11:45:29 2017 -0400
omxvideoenc: delay buffer configuration until component is enabled
No significant change for now. Just delay the input port configuration
of the buffer size related fields (stride, slice height, buffer size)
until the component is activated.
This will allow us to use the actual stride/height of the first input
and so avoid the buffer copying code path in most cases.
Tested on rpi and zynqultrascaleplus.
https://bugzilla.gnome.org/show_bug.cgi?id=785967
:040000 040000 d0656b6181267d3218768f354ee2138e6713e10f
3656d708113e3eefb75645f08bfd5e4a624e3ac1 M omx
Very simple encoding pipelines fail:
```
bash-4.3# GST_DEBUG="2,*omx*:4" gst-launch-1.0 videotestsrc ! omxh264enc !
fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.087341219 1969 0x19ae950 WARN videoencoder
gstvideoencoder.c:678:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
rejected caps video/x-raw, width=(int)320, height=(int)240,
framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.089955653 1969 0x19ae950 WARN videoencoder
gstvideoencoder.c:678:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
rejected caps video/x-raw, width=(int)320, height=(int)240,
framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.090013361 1969 0x19ae950 WARN GST_PADS
gstpad.c:4224:gst_pad_peer_query:<videotestsrc0:src> could not send sticky
events
0:00:00.103096156 1969 0x19ae950 WARN videoencoder
gstvideoencoder.c:678:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
rejected caps video/x-raw, width=(int)320, height=(int)240,
framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.107846793 1969 0x19ae950 WARN videoencoder
gstvideoencoder.c:678:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
rejected caps video/x-raw, width=(int)320, height=(int)240,
framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.108003773 1969 0x19ae950 WARN basesrc
gstbasesrc.c:3055:gst_base_src_loop:<videotestsrc0> error: Internal data stream
error.
0:00:00.108068252 1969 0x19ae950 WARN basesrc
gstbasesrc.c:3055:gst_base_src_loop:<videotestsrc0> error: streaming stopped,
reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3055): gst_base_src_loop ():
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:00.113733840 1969 0x19ae950 WARN videoencoder
gstvideoencoder.c:678:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
rejected caps video/x-raw, width=(int)320, height=(int)240,
framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.115415563 1969 0x19af640 INFO omx
gstomx.c:764:gst_omx_component_free:<omxh264enc-omxh264enc0> Unloading
component 0x18e35e0 video_encode
0:00:00.115460824 1969 0x19af640 INFO omx
gstomx.c:1787:gst_omx_port_deallocate_buffers_unlocked:<omxh264enc-omxh264enc0>
Deallocating buffers of video_encode port 200
0:00:00.115614366 1969 0x19af640 INFO omx
gstomx.c:1787:gst_omx_port_deallocate_buffers_unlocked:<omxh264enc-omxh264enc0>
Deallocating buffers of video_encode port 201
```
--
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