fix jpeg getcaps so it negotiates correctly

Original commit message from CVS:
fix jpeg getcaps so it negotiates correctly
This commit is contained in:
Thomas Vander Stichele 2004-04-26 13:47:38 +00:00
parent 7d92cdad31
commit 46c2655999
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2004-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
* Makefile.am:
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_class_init), (gst_jpegenc_getcaps):
fix _getcaps so it only negotiates to its supported format
2004-04-25 Benjamin Otte <otte@gnome.org>
* gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int):

View file

@ -230,8 +230,10 @@ gst_jpegenc_getcaps (GstPad * pad)
GstCaps *caps;
const char *name;
int i;
GstStructure *structure;
GstStructure *structure = NULL;
/* we want to proxy properties like width, height and framerate from the
other end of the element */
otherpad = (pad == jpegenc->srcpad) ? jpegenc->sinkpad : jpegenc->srcpad;
caps = gst_pad_get_allowed_caps (otherpad);
if (pad == jpegenc->srcpad) {
@ -246,6 +248,11 @@ gst_jpegenc_getcaps (GstPad * pad)
gst_structure_remove_field (structure, "format");
}
/* ... but for the sink pad, we only do I420 anyway, so add that */
if (pad == jpegenc->sinkpad) {
gst_structure_set (structure, "format", GST_TYPE_FOURCC,
GST_STR_FOURCC ("I420"), NULL);
}
return caps;
}