[Bug 775948] New: omxvideodec: Support for egl_render on RPi breaks dynamic resolution changes
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sun Dec 11 12:42:32 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=775948
Bug ID: 775948
Summary: omxvideodec: Support for egl_render on RPi breaks
dynamic resolution changes
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-omx
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: minfrin at sharp.fm
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
When a dynamic resolution change occurs,
gst_omx_video_dec_reconfigure_output_port() is called in order to ensure the
change is negotiated correctly.
In the original code path, the format is obtained from the GPU and maintained
untouched:
format =
gst_omx_video_get_format_from_omx (port_def.format.video.eColorFormat);
On the RPI specifically, support for egl_render kicks in and hard codes the
format instead to RGBA:
state = gst_video_decoder_set_output_state (GST_VIDEO_DECODER (self),
GST_VIDEO_FORMAT_RGBA, port_def.format.video.nFrameWidth,
port_def.format.video.nFrameHeight, self->input_state);
This works fine if downstream supports RGBA, however omxh264enc does not and
attempts to renegotiate I420. After renegotiating to I420, the above code hard
codes the format back to RGBA and we hang.
The workaround is to skip egl_render, and the dynamic negotiation works again.
Question: why is it necessary to hard code RGBA here? Should we not just
respect the original format?
--
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