mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
ext/mpeg2dec/gstmpeg2dec.c: Fix refcounting when cropping. Fixes #341677.
Original commit message from CVS: * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice): Fix refcounting when cropping. Fixes #341677.
This commit is contained in:
parent
4c6764332a
commit
73e2b0c311
2 changed files with 10 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2006-07-10 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice):
|
||||
Fix refcounting when cropping. Fixes #341677.
|
||||
|
||||
2006-07-09 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
Patch by: Grzegorz Lukasik <hauserx at gmail dot com>
|
||||
|
|
|
@ -428,6 +428,7 @@ crop_buffer (GstMpeg2dec * mpeg2dec, GstBuffer ** buf)
|
|||
|
||||
gst_buffer_set_caps (outbuf, GST_PAD_CAPS (mpeg2dec->srcpad));
|
||||
gst_buffer_stamp (outbuf, input);
|
||||
gst_buffer_unref (input);
|
||||
|
||||
*buf = outbuf;
|
||||
result = TRUE;
|
||||
|
@ -851,14 +852,13 @@ handle_slice (GstMpeg2dec * mpeg2dec, const mpeg2_info_t * info)
|
|||
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)),
|
||||
GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)));
|
||||
|
||||
if ((mpeg2dec->decoded_height > mpeg2dec->height) ||
|
||||
(mpeg2dec->decoded_width > mpeg2dec->width)) {
|
||||
crop_buffer (mpeg2dec, &outbuf);
|
||||
}
|
||||
|
||||
/* ref before pushing it out, so we still have the ref in our
|
||||
* array of buffers */
|
||||
gst_buffer_ref (outbuf);
|
||||
|
||||
/* do cropping if needed */
|
||||
crop_buffer (mpeg2dec, &outbuf);
|
||||
|
||||
ret = gst_pad_push (mpeg2dec->srcpad, outbuf);
|
||||
GST_DEBUG_OBJECT (mpeg2dec, "pushed with result %s", gst_flow_get_name (ret));
|
||||
|
||||
|
|
Loading…
Reference in a new issue