diff options
-rw-r--r-- | gst/avi/gstavidemux.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index cf7b0c12..7a3166cf 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -3583,16 +3583,11 @@ swap_line (guint8 * d1, guint8 * d2, guint8 * tmp, gint bytes) memcpy (d2, tmp, bytes); } -/* - * Helper for gst_avi_demux_insert() - */ -static gboolean -gst_avi_demux_is_uncompressed (guint32 fourcc) -{ - return fourcc == GST_RIFF_DIB || - fourcc == GST_RIFF_rgb || - fourcc == GST_RIFF_RGB || fourcc == GST_RIFF_RAW; -} + +#define gst_avi_demux_is_uncompressed(fourcc) \ + (fourcc == GST_RIFF_DIB || \ + fourcc == GST_RIFF_rgb || \ + fourcc == GST_RIFF_RGB || fourcc == GST_RIFF_RAW) /* * Invert DIB buffers... Takes existing buffer and @@ -3608,6 +3603,9 @@ gst_avi_demux_invert (avi_stream_context * stream, GstBuffer * buf) gint bpp, stride; guint8 *tmp = NULL; + if (stream->strh->type != GST_RIFF_FCC_vids) + return buf; + if (!gst_avi_demux_is_uncompressed (stream->strh->fcc_handler)) { return buf; /* Ignore non DIB buffers */ } |