The 'width' and 'height' caps for 'jpegenc' do not match what is displayed by 'gst-inspect'.
Using version 1.18.4 on Windows:
Running gst-inspect-1.0 jpegenc
displays (in part) the following, indicating a minimum value of "1" for both the 'width' and 'height' caps:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-raw
format: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)NV21, (string)NV12, (string)RGB, (string)BGR, (string)RGBx, (string)xRGB, (string)BGRx, (string)xBGR, (string)GRAY8 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
However, running a videotestsrc ! video/x-raw,width=1,height=1 ! jpegenc ! fakesink
pipeline results (in part) in the following message in console:
GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:760:gst_parse_perform_link: could not link videotestsrc0 to jpegenc0, jpegenc0 can't handle caps video/x-raw, width=(int)1, height=(int)1
This pipeline also results in the message:
videotestsrc ! video/x-raw,width=15,height=15 ! jpegenc ! fakesink
This pipeline does not result in the message:
videotestsrc ! video/x-raw,width=16,height=16 ! jpegenc ! fakesink
So the runtime believes that 'width' and 'height' can be as low as "16", but gst-streamer
believes that they can be as low as "1"--so this discrepancy should be fixed.