diff --git a/ChangeLog b/ChangeLog index c5cfdc7ca8..5752de747f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-11-28 Julien MOUTTE + + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put): + Use calculated video geometry from _setcaps instead of buffer + caps to respect pixel aspect ratio. (fixes #322388) + 2005-11-28 Julien MOUTTE * docs/libs/tmpl/gstcolorbalance.sgml: diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index dde51a475e..5178586df8 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -613,8 +613,10 @@ gst_xvimagesink_xvimage_put (GstXvImageSink * xvimagesink, gst_xvimagesink_xwindow_update_geometry (xvimagesink, xvimagesink->xwindow); - src.w = xvimage->width; - src.h = xvimage->height; + /* We use the calculated geometry from _setcaps as a source to respect + source and screen pixel aspect ratios. */ + src.w = GST_VIDEO_SINK_WIDTH (xvimagesink); + src.h = GST_VIDEO_SINK_HEIGHT (xvimagesink); dst.w = xvimagesink->xwindow->width; dst.h = xvimagesink->xwindow->height;