GNOME Bugzilla – Bug 684502
jpegenc produces data in subsampling mode that rtpjpegpay can't handle
Last modified: 2018-11-03 14:47:37 UTC
We probably need to add more data to the image/jpeg caps to specify it's subsampling mode so it can be configured, but I don't really understand how jpegenc works. Test case: gst-launch-1.0 videotestsrc ! 'video/x-raw, width=(int)160, height=(int)120, framerate=(fraction)30/1, format=(string)BGRx, pixel-aspect-ratio=(fraction)1/1' ! jpegenc ! rtpjpegpay ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0: Invalid component Additional debug info: gstrtpjpegpay.c(544): gst_rtp_jpeg_pay_read_sof (): /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0 ERROR: pipeline doesn't want to preroll.
So this needs to be negotiated via caps somehow, and the question is how. We could either (ab)use the "format" identifiers from raw video caps for this, or have some kind of {planar,packed,semiplanar}-{4:2:0,4:2:2,4:4:4} field.
This is still broken. I still don't understand the jpeg subformats ;)
*** Bug 763331 has been marked as a duplicate of this bug. ***
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/73.