From 9dc7089430b7647ce4848c686818dfb6fbd2a376 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Wed, 5 May 2004 11:29:49 +0000 Subject: [PATCH] ext/jpeg/gstjpegenc.c: fix DURATION on outgoing buffers Original commit message from CVS: * ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type), (gst_jpegenc_chain): fix DURATION on outgoing buffers * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_sink_event): debug using time formats * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_sink_link): windows with width/height 0 generate X errors, so don't allow them --- ChangeLog | 12 ++++++++++++ sys/ximage/ximagesink.c | 6 +++--- sys/xvimage/xvimagesink.c | 16 +++++++++------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index e52320285c..5c2604849b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-05-05 Thomas Vander Stichele + + * ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type), + (gst_jpegenc_chain): + fix DURATION on outgoing buffers + * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_sink_event): + debug using time formats + * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), + (gst_xvimagesink_sink_link): + windows with width/height 0 generate X errors, so don't allow them + 2004-05-05 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (src_templ), diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index 7dabbb44e0..8aa6a98689 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -50,7 +50,7 @@ GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_ALWAYS, GST_STATIC_CAPS ("video/x-raw-rgb, " "framerate = (double) [ 1.0, 100.0 ], " - "width = (int) [ 0, MAX ], " "height = (int) [ 0, MAX ]") + "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]") ); enum @@ -655,8 +655,8 @@ gst_ximagesink_xcontext_get (GstXImageSink * ximagesink) "red_mask", G_TYPE_INT, xcontext->visual->red_mask, "green_mask", G_TYPE_INT, xcontext->visual->green_mask, "blue_mask", G_TYPE_INT, xcontext->visual->blue_mask, - "width", GST_TYPE_INT_RANGE, 0, G_MAXINT, - "height", GST_TYPE_INT_RANGE, 0, G_MAXINT, + "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, + "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate", GST_TYPE_DOUBLE_RANGE, 1.0, 100.0, NULL); g_mutex_unlock (ximagesink->x_lock); diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index 67a1cfb71d..d0d6d798a2 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -51,11 +51,11 @@ static GstStaticPadTemplate gst_xvimagesink_sink_template_factory = GST_PAD_ALWAYS, GST_STATIC_CAPS ("video/x-raw-rgb, " "framerate = (double) [ 1.0, 100.0 ], " - "width = (int) [ 0, MAX ], " - "height = (int) [ 0, MAX ]; " + "width = (int) [ 1, MAX ], " + "height = (int) [ 1, MAX ]; " "video/x-raw-yuv, " "framerate = (double) [ 1.0, 100.0 ], " - "width = (int) [ 0, MAX ], " "height = (int) [ 0, MAX ]") + "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]") ); enum @@ -653,8 +653,8 @@ gst_xvimagesink_get_xv_support (GstXvImageSink * xvimagesink, "blue_mask", G_TYPE_INT, formats[i].red_mask, "green_mask", G_TYPE_INT, formats[i].green_mask, "red_mask", G_TYPE_INT, formats[i].blue_mask, - "width", GST_TYPE_INT_RANGE, 0, G_MAXINT, - "height", GST_TYPE_INT_RANGE, 0, G_MAXINT, + "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, + "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate", GST_TYPE_DOUBLE_RANGE, 1.0, 100.0, NULL); /* For RGB caps we store them and the image @@ -677,8 +677,8 @@ gst_xvimagesink_get_xv_support (GstXvImageSink * xvimagesink, case XvYUV: format_caps = gst_caps_new_simple ("video/x-raw-yuv", "format", GST_TYPE_FOURCC, formats[i].id, - "width", GST_TYPE_INT_RANGE, 0, G_MAXINT, - "height", GST_TYPE_INT_RANGE, 0, G_MAXINT, + "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, + "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate", GST_TYPE_DOUBLE_RANGE, 1.0, 100.0, NULL); break; default: @@ -1041,6 +1041,8 @@ gst_xvimagesink_sink_link (GstPad * pad, const GstCaps * caps) gst_structure_get_int (structure, "pixel_height", &xvimagesink->pixel_height); /* Creating our window and our image */ + g_assert (GST_VIDEOSINK_WIDTH (xvimagesink) > 0); + g_assert (GST_VIDEOSINK_HEIGHT (xvimagesink) > 0); if (!xvimagesink->xwindow) xvimagesink->xwindow = gst_xvimagesink_xwindow_new (xvimagesink, GST_VIDEOSINK_WIDTH (xvimagesink), GST_VIDEOSINK_HEIGHT (xvimagesink));