diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-07-06 20:49:52 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-07-06 20:49:52 +0000 |
commit | 292fec2a0bd1f221a46ad69c5100995d04c01057 (patch) | |
tree | 658db299e0e03b2454ff840730569d79539e67c4 /ext/jpeg/gstjpegenc.c | |
parent | a8183e9a3fa87cf4247c7df16207f440ea4069c0 (diff) |
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Diffstat (limited to 'ext/jpeg/gstjpegenc.c')
-rw-r--r-- | ext/jpeg/gstjpegenc.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index b2a8fc1d..ccd5bbce 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -52,6 +52,8 @@ static void gst_jpegenc_class_init (GstJpegEnc *klass); static void gst_jpegenc_init (GstJpegEnc *jpegenc); static void gst_jpegenc_chain (GstPad *pad,GstBuffer *buf); +static GstPadLinkReturn gst_jpegenc_link (GstPad *pad, GstCaps *caps); + static GstBuffer *gst_jpegenc_get (GstPad *pad); static void gst_jpegenc_resync (GstJpegEnc *jpegenc); @@ -123,6 +125,7 @@ gst_jpegenc_init (GstJpegEnc *jpegenc) jpegenc->sinkpad = gst_pad_new("sink",GST_PAD_SINK); gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->sinkpad); gst_pad_set_chain_function(jpegenc->sinkpad,gst_jpegenc_chain); + gst_pad_set_link_function(jpegenc->sinkpad, gst_jpegenc_link); gst_pad_set_get_function(jpegenc->sinkpad,gst_jpegenc_get); jpegenc->srcpad = gst_pad_new("src",GST_PAD_SRC); gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->srcpad); @@ -151,6 +154,29 @@ gst_jpegenc_init (GstJpegEnc *jpegenc) } +static GstPadLinkReturn +gst_jpegenc_link (GstPad *pad, GstCaps *caps) +{ + GstJpegEnc *jpegenc = GST_JPEGENC (gst_pad_get_parent (pad)); + + if (!GST_CAPS_IS_FIXED (caps)) + return GST_PAD_LINK_DELAYED; + + gst_caps_get (caps, + "framerate", &jpegenc->fps, + "width", &jpegenc->width, + "height", &jpegenc->height, + NULL); + + caps = GST_CAPS_NEW ("jpegdec_srccaps", + "video/x-jpeg", + "width", GST_PROPS_INT (jpegenc->width), + "height", GST_PROPS_INT (jpegenc->height), + "framerate", GST_PROPS_FLOAT (jpegenc->fps)); + + return gst_pad_try_set_caps (jpegenc->srcpad, caps); +} + static void gst_jpegenc_resync (GstJpegEnc *jpegenc) { |