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.
This commit is contained in:
Andy Wingo 2006-04-21 15:50:28 +00:00
parent a945c1582d
commit 48892690e6
2 changed files with 17 additions and 2 deletions

View file

@ -1,3 +1,9 @@
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 Michael Smith <msmith@fluendo.com>
* configure.ac:

View file

@ -28,12 +28,21 @@
static gboolean
plugin_init (GstPlugin * plugin)
{
GstRank dvdec_rank;
if (!gst_element_register (plugin, "dvdemux", GST_RANK_PRIMARY,
gst_dvdemux_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "dvdec", GST_RANK_SECONDARY,
gst_dvdec_get_type ()))
/* 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;