~ubuntu-branches/ubuntu/quantal/gst-plugins-bad0.10/quantal-proposed

« back to all changes in this revision

Viewing changes to ext/xvid/gstxviddec.c

  • Committer: Bazaar Package Importer
  • Author(s): Ken VanDine
  • Date: 2011-07-19 14:32:43 UTC
  • mfrom: (18.4.21 sid)
  • Revision ID: james.westby@ubuntu.com-20110719143243-p7pnkh45akfp0ihk
Tags: 0.10.22-2ubuntu1
* Rebased on debian unstable, remaining changes:
  - debian/gstreamer-plugins-bad.install
    * don't include dtmf, liveadder, rtpmux, autoconvert and shm, we include 
      them in -good

Show diffs side-by-side

added added

removed removed

Lines of Context:
310
310
  xvid_dec_frame_t xframe;
311
311
  xvid_dec_stats_t xstats;
312
312
  gint ret;
313
 
  guint8 *data;
 
313
  guint8 *data, *dupe = NULL;
314
314
  guint size;
315
315
  GstFlowReturn fret;
316
316
 
333
333
  data = GST_BUFFER_DATA (buf);
334
334
  size = GST_BUFFER_SIZE (buf);
335
335
 
 
336
  /* xvidcore overreads the input buffer, we need to alloc some extra padding
 
337
   * to make things work reliably */
 
338
#define EXTRA_PADDING 16
 
339
  if (EXTRA_PADDING > 0) {
 
340
    dupe = g_malloc (size + EXTRA_PADDING);
 
341
    memcpy (dupe, data, size);
 
342
    memset (dupe + size, 0, EXTRA_PADDING);
 
343
    data = dupe;
 
344
  }
 
345
 
336
346
  do {                          /* loop needed because xvidcore may return vol information */
337
347
    /* decode and so ... */
338
348
    gst_xvid_init_struct (xframe);
412
422
  }
413
423
 
414
424
done:
 
425
  g_free (dupe);
415
426
  gst_buffer_unref (buf);
416
427
 
417
428
  return fret;