gstreamer/ext/dv/gstdv.c
Andy Wingo 48892690e6 ext/dv/gstdv.c (plugin_init): libdv is a marginal decoder, at best, on big endian systems. Drop its rank in that case...
Original commit message from CVS:
2006-04-21  Andy Wingo  <wingo@pobox.com>

* ext/dv/gstdv.c (plugin_init): libdv is a marginal decoder, at
best, on big endian systems. Drop its rank in that case. OTOH on
x86 it's quite fine. See changes from today in gst-ffmpeg as well.
2006-04-21 15:50:28 +00:00

55 lines
1.7 KiB
C

/* GStreamer
* Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
* <2005> Wim Taymans <wim@fluendo.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "gstdvdec.h"
#include "gstdvdemux.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
GstRank dvdec_rank;
if (!gst_element_register (plugin, "dvdemux", GST_RANK_PRIMARY,
gst_dvdemux_get_type ()))
return FALSE;
/* libdv does not correctly play back videos on big-endian machines. also it's
only optimized properly on x86-32 and x86-64. */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
rank = GST_RANK_PRIMARY;
#else
rank = GST_RANK_MARGINAL;
#endif
if (!gst_element_register (plugin, "dvdec", rank, gst_dvdec_get_type ()))
return FALSE;
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"dv",
"DV demuxer and decoder based on libdv (libdv.sf.net)",
plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);