Commit ad661999 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

mimic: remove ancient codec

This was used by MSN messenger in prehistoric times, it's safe
to say no one needs or wants this any more these days. For
decoding old recordings there's still a decoder in ffmpeg.

https://bugzilla.gnome.org/show_bug.cgi?id=597616
parent 43736e5c
......@@ -84,6 +84,7 @@ CRUFT_FILES = \
$(top_builddir)/tests/check/elements/selector \
$(top_builddir)/tests/check/elements/valve \
$(top_builddir)/tests/check/pipelines/metadata \
$(top_builddir)/tests/check/pipelines/mimic \
$(top_builddir)/tests/examples/jack/jack_client \
$(top_builddir)/tests/examples/scaletempo/scaletempo-demo \
$(top_builddir)/tests/examples/switch/switcher \
......@@ -125,6 +126,7 @@ CRUFT_DIRS = \
$(top_srcdir)/ext/ivorbis \
$(top_srcdir)/ext/jack \
$(top_srcdir)/ext/metadata \
$(top_srcdir)/ext/mimic \
$(top_srcdir)/ext/mpg123 \
$(top_srcdir)/ext/swfdec \
$(top_srcdir)/ext/tarkin \
......
......@@ -2547,16 +2547,6 @@ AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
AC_SUBST(MODPLUG_LIBS)
])
dnl *** mimic ***
translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
MIMIC_REQUIRED=1.0
PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
HAVE_MIMIC=yes, HAVE_MIMIC=no)
AC_SUBST(MIMIC_CFLAGS)
AC_SUBST(MIMIC_LIBS)
])
dnl *** mjpegtools version info ***
dnl some may prefer older version (given quirks above)
dnl hm, no version info seems available within mjpegtools headers
......@@ -3550,7 +3540,6 @@ AM_CONDITIONAL(USE_LIBDE265, false)
AM_CONDITIONAL(USE_LIBMMS, false)
AM_CONDITIONAL(USE_LINSYS, false)
AM_CONDITIONAL(USE_MODPLUG, false)
AM_CONDITIONAL(USE_MIMIC, false)
AM_CONDITIONAL(USE_MPEG2ENC, false)
AM_CONDITIONAL(USE_MPLEX, false)
AM_CONDITIONAL(USE_MUSEPACK, false)
......@@ -3871,7 +3860,6 @@ ext/libvisual/Makefile
ext/Makefile
ext/modplug/Makefile
ext/mpeg2enc/Makefile
ext/mimic/Makefile
ext/mplex/Makefile
ext/musepack/Makefile
ext/nas/Makefile
......
......@@ -82,8 +82,6 @@ EXTRA_HFILES = \
$(top_srcdir)/ext/kate/gstkatetag.h \
$(top_srcdir)/ext/kate/gstkatetiger.h \
$(top_srcdir)/ext/ladspa/gstladspa.h \
$(top_srcdir)/ext/mimic/gstmimenc.h \
$(top_srcdir)/ext/mimic/gstmimdec.h \
$(top_srcdir)/ext/modplug/gstmodplug.h \
$(top_srcdir)/ext/mpeg2enc/gstmpeg2enc.hh \
$(top_srcdir)/ext/mplex/gstmplex.hh \
......
......@@ -182,7 +182,6 @@
<xi:include href="xml/plugin-geometrictransform.xml" />
<xi:include href="xml/plugin-gsm.xml" />
<xi:include href="xml/plugin-jpegformat.xml" />
<xi:include href="xml/plugin-mimic.xml" />
<xi:include href="xml/plugin-mms.xml" />
<xi:include href="xml/plugin-modplug.xml" />
<xi:include href="xml/plugin-mpeg2enc.xml" />
......
<plugin>
<name>mimic</name>
<description>Mimic codec</description>
<filename>../../ext/mimic/.libs/libgstmimic.so</filename>
<basename>libgstmimic.so</basename>
<version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
<origin>Unknown package origin</origin>
<elements>
<element>
<name>mimdec</name>
<longname>Mimic Decoder</longname>
<class>Codec/Decoder/Video</class>
<description>MSN Messenger compatible Mimic video decoder element</description>
<author>Andre Moreira Magalhaes &lt;andre.magalhaes@indt.org.br&gt;, Rob Taylor &lt;robtaylor@fastmail.fm&gt;, Philippe Khalaf &lt;burger@speedy.org&gt;, Ole André Vadla Ravnås &lt;oleavr@gmail.com&gt;,Olivier Crête &lt;olivier.crete@collabora.co.uk</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-mimic</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw, format=(string)RGB, framerate=(fraction)0/1, width=(int)320, height=(int)240; video/x-raw, format=(string)RGB, framerate=(fraction)0/1, width=(int)160, height=(int)120</details>
</caps>
</pads>
</element>
<element>
<name>mimenc</name>
<longname>Mimic Encoder</longname>
<class>Codec/Encoder/Video</class>
<description>MSN Messenger compatible Mimic video encoder element</description>
<author>Andre Moreira Magalhaes &lt;andre.magalhaes@indt.org.br&gt;,Olivier Crête &lt;olivier.crete@collabora.co.uk</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw, format=(string)RGB, framerate=(fraction)[ 1/1, 30/1 ], width=(int)320, height=(int)240; video/x-raw, format=(string)RGB, framerate=(fraction)[ 1/1, 30/1 ], width=(int)160, height=(int)120</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-mimic</details>
</caps>
</pads>
</element>
</elements>
</plugin>
\ No newline at end of file
......@@ -196,12 +196,6 @@ else
MPEG2ENC_DIR=
endif
if USE_MIMIC
MIMIC_DIR=mimic
else
MIMIC_DIR=
endif
if USE_MPLEX
MPLEX_DIR=mplex
else
......@@ -472,7 +466,6 @@ SUBDIRS=\
$(LIBVISUAL_DIR) \
$(MODPLUG_DIR) \
$(MPEG2ENC_DIR) \
$(MIMIC_DIR) \
$(MPLEX_DIR) \
$(MUSEPACK_DIR) \
$(NAS_DIR) \
......@@ -542,7 +535,6 @@ DIST_SUBDIRS = \
gtk \
qt \
modplug \
mimic \
mpeg2enc \
mplex \
musepack \
......
......@@ -27,7 +27,6 @@ subdir('libde265')
subdir('libmms')
#subdir('libvisual')
#subdir('lv2')
#subdir('mimic')
#subdir('modplug')
#subdir('mpeg2enc')
#subdir('mplex')
......
plugin_LTLIBRARIES = libgstmimic.la
libgstmimic_la_SOURCES = gstmimic.c gstmimdec.c gstmimenc.c
libgstmimic_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MIMIC_CFLAGS)
libgstmimic_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) $(MIMIC_LIBS)
libgstmimic_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstmimic_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
noinst_HEADERS = gstmimdec.h gstmimenc.h
This diff is collapsed.
/*
* GStreamer
* Copyright (c) 2005 INdT.
* @author Andre Moreira Magalhaes <andre.magalhaes@indt.org.br>
* @author Philippe Khalaf <burger@speedy.org>
*
* 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., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_MIM_DEC_H__
#define __GST_MIM_DEC_H__
#include <gst/gst.h>
#include <gst/base/gstadapter.h>
#include <mimic.h>
G_BEGIN_DECLS
#define GST_TYPE_MIM_DEC \
(gst_mim_dec_get_type())
#define GST_MIM_DEC(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MIM_DEC,GstMimDec))
#define GST_MIM_DEC_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MIM_DEC,GstMimDecClass))
#define GST_IS_MIM_DEC(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MIM_DEC))
#define GST_IS_MIM_DEC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MIM_DEC))
typedef struct _GstMimDec GstMimDec;
typedef struct _GstMimDecClass GstMimDecClass;
struct _GstMimDec
{
GstElement element;
GstPad *sinkpad, *srcpad;
/* Protected by stream lock */
GstAdapter *adapter;
MimCtx *dec;
gint buffer_size;
gboolean need_segment;
};
struct _GstMimDecClass
{
GstElementClass parent_class;
};
GType gst_mim_dec_get_type (void);
G_END_DECLS
#endif /* __GST_MIM_DEC_H__ */
This diff is collapsed.
/*
* GStreamer
* Copyright (c) 2005 INdT.
* @author Andre Moreira Magalhaes <andre.magalhaes@indt.org.br>
* @author Philippe Khalaf <burger@speedy.org>
*
* 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., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_MIM_ENC_H__
#define __GST_MIM_ENC_H__
#include <glib.h>
#include <gst/gst.h>
#include <mimic.h>
G_BEGIN_DECLS
#define GST_TYPE_MIM_ENC \
(gst_mim_enc_get_type())
#define GST_MIM_ENC(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MIM_ENC,GstMimEnc))
#define GST_MIM_ENC_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MIM_ENC,GstMimEncClass))
#define GST_IS_MIM_ENC(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MIM_ENC))
#define GST_IS_MIM_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MIM_ENC))
typedef struct _GstMimEnc GstMimEnc;
typedef struct _GstMimEncClass GstMimEncClass;
struct _GstMimEnc
{
GstElement element;
GstPad *sinkpad, *srcpad;
/* Protected by the object lock */
MimCtx *enc;
MimicResEnum res;
gint buffer_size;
guint32 frames;
guint16 height, width;
gboolean paused_mode;
GstSegment segment;
GstEvent *pending_segment;
GstClockTime last_buffer;
GstClockID clock_id;
gboolean stop_paused_mode;
};
struct _GstMimEncClass
{
GstElementClass parent_class;
};
GType gst_mim_enc_get_type (void);
G_END_DECLS
#endif /* __GST_MIM_ENC_H__ */
/*
* GStreamer
* Copyright (c) 2005 INdT.
* @author Andre Moreira Magalhaes <andre.magalhaes@indt.org.br>
* @author Philippe Khalaf <burger@speedy.org>
*
* 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., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "gstmimenc.h"
#include "gstmimdec.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
if (!gst_element_register (plugin, "mimenc", GST_RANK_NONE,
GST_TYPE_MIM_ENC) ||
!gst_element_register (plugin, "mimdec", GST_RANK_NONE, GST_TYPE_MIM_DEC)
)
return FALSE;
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
mimic,
"Mimic codec",
plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
......@@ -59,7 +59,6 @@ BuildRequires: xvidcore-devel
BuildRequires: libmms-devel
BuildRequires: mjpegtools-devel
BuildRequires: twolame-devel
BuildRequires: libmimic-devel
Obsoletes: gstreamer-plugins-flumpegdemux < 0.10.15-9
......@@ -244,7 +243,6 @@ make ERROR_CFLAGS='' ERROR_CXXFLAGS=''
%{_libdir}/gstreamer-%{majorminor}/libgstgeometrictransform.so
%{_libdir}/gstreamer-%{majorminor}/libgstid3tag.so
%{_libdir}/gstreamer-%{majorminor}/libgstinterlace.so
%{_libdir}/gstreamer-%{majorminor}/libgstmimic.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpegpsdemux.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsdemux.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsmux.so
......
......@@ -132,12 +132,6 @@ else
check_kate=
endif
if USE_MIMIC
check_mimic=pipelines/mimic
else
check_mimic=
endif
if HAVE_ORC
check_orc = orc/bayer orc/audiomixer orc/compositor
else
......@@ -288,7 +282,6 @@ check_PROGRAMS = \
elements/rtponviftimestamp \
elements/id3mux \
pipelines/mxf \
$(check_mimic) \
libs/mpegvideoparser \
libs/mpegts \
libs/h264parser \
......
.dirstamp
colorspace
mxf
mimic
tagschecking
streamheader
/* GStreamer
*
* unit test for mimic
*
* Copyright 2009 Collabora Ltd.
* @author: Olivier Crete <olivier.crete@collabora.co.uk>
* Copyright 2009 Nokia Corp.
*
* 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., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
static GMainLoop *loop;
static void
eos_message_cb (GstBus * bus, GstMessage * message, gpointer user_data)
{
GST_DEBUG ("Received eos");
g_main_loop_quit (loop);
}
GST_START_TEST (test_mimic_pipeline)
{
GstElement *pipeline;
GError *error = NULL;
GstBus *bus;
const gchar *bin_str = "videotestsrc num-buffers=10 ! mimenc ! "
"mimdec ! fakesink";
pipeline = gst_parse_launch (bin_str, &error);
fail_unless (pipeline != NULL, "Error parsing pipeline: %s", bin_str,
error ? error->message : "(invalid error)");
loop = g_main_loop_new (NULL, FALSE);
bus = gst_element_get_bus (pipeline);
gst_bus_add_signal_watch (bus);
g_signal_connect (bus, "message::eos", (GCallback) eos_message_cb, NULL);
gst_object_unref (bus);
fail_unless (gst_element_set_state (pipeline, GST_STATE_PLAYING)
!= GST_STATE_CHANGE_FAILURE);
g_main_loop_run (loop);
g_main_loop_unref (loop);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
}
GST_END_TEST;
static Suite *
mimic_suite (void)
{
Suite *s = suite_create ("mimic");
TCase *tc_chain;
tc_chain = tcase_create ("mimic_pipeline");
tcase_add_test (tc_chain, test_mimic_pipeline);
suite_add_tcase (s, tc_chain);
return s;
}
GST_CHECK_MAIN (mimic)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment