mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
element-maker: Update somewhat for 1.0
Only converted basetransform for the moment. It's probably easier to write templates from scratch from the documentation.
This commit is contained in:
parent
250555a7de
commit
f790fcbfa6
5 changed files with 160 additions and 92 deletions
|
@ -6,79 +6,144 @@ GST_TYPE_BASE_TRANSFORM
|
||||||
% pads
|
% pads
|
||||||
sinkpad-simple srcpad-simple
|
sinkpad-simple srcpad-simple
|
||||||
% pkg-config
|
% pkg-config
|
||||||
gstreamer-base-0.10
|
gstreamer-base-1.0
|
||||||
% pads
|
% pads
|
||||||
sinkpad-simple srcpad-simple
|
sinkpad-simple srcpad-simple
|
||||||
% includes
|
% includes
|
||||||
#include <gst/base/gstbasetransform.h>
|
#include <gst/base/gstbasetransform.h>
|
||||||
% prototypes
|
% prototypes
|
||||||
static GstCaps *gst_replace_transform_caps (GstBaseTransform * trans,
|
static GstCaps *gst_replace_transform_caps (GstBaseTransform *trans,
|
||||||
GstPadDirection direction, GstCaps * caps);
|
GstPadDirection direction, GstCaps *caps, GstCaps *filter);
|
||||||
static void
|
static GstCaps *
|
||||||
gst_replace_fixate_caps (GstBaseTransform * trans,
|
gst_replace_fixate_caps (GstBaseTransform * trans,
|
||||||
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
|
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
|
||||||
static gboolean
|
static gboolean gst_replace_accept_caps (GstBaseTransform *trans,
|
||||||
gst_replace_transform_size (GstBaseTransform * trans,
|
GstPadDirection direction, GstCaps *caps);
|
||||||
|
static gboolean gst_replace_set_caps (GstBaseTransform *trans, GstCaps *incaps,
|
||||||
|
GstCaps *outcaps);
|
||||||
|
static gboolean gst_replace_query (GstBaseTransform *trans, GstPadDirection direction,
|
||||||
|
GstQuery *query);
|
||||||
|
static gboolean gst_replace_decide_allocation (GstBaseTransform *trans,
|
||||||
|
GstQuery *query);
|
||||||
|
static gboolean gst_replace_filter_meta (GstBaseTransform *trans, GstQuery *query,
|
||||||
|
GType api, const GstStructure *params);
|
||||||
|
static gboolean gst_replace_propose_allocation (GstBaseTransform *trans,
|
||||||
|
GstQuery *decide_query, GstQuery *query);
|
||||||
|
static gboolean gst_replace_transform_size (GstBaseTransform * trans,
|
||||||
GstPadDirection direction,
|
GstPadDirection direction,
|
||||||
GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize);
|
GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize);
|
||||||
static gboolean
|
static gboolean gst_replace_get_unit_size (GstBaseTransform * trans,
|
||||||
gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
|
GstCaps * caps, gsize * size);
|
||||||
guint * size);
|
|
||||||
static gboolean
|
|
||||||
gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
|
|
||||||
GstCaps * outcaps);
|
|
||||||
static gboolean gst_replace_start (GstBaseTransform * trans);
|
static gboolean gst_replace_start (GstBaseTransform * trans);
|
||||||
static gboolean gst_replace_stop (GstBaseTransform * trans);
|
static gboolean gst_replace_stop (GstBaseTransform * trans);
|
||||||
static gboolean gst_replace_event (GstBaseTransform * trans, GstEvent * event);
|
static gboolean gst_replace_sink_event (GstBaseTransform * trans,
|
||||||
|
GstEvent * event);
|
||||||
|
static gboolean gst_replace_src_event (GstBaseTransform * trans,
|
||||||
|
GstEvent * event);
|
||||||
|
static GstFlowReturn gst_replace_prepare_output_buffer (
|
||||||
|
GstBaseTransform * trans, GstBuffer *input, GstBuffer **outbuf);
|
||||||
|
static gboolean gst_replace_copy_metadata (GstBaseTransform *trans,
|
||||||
|
GstBuffer *input, GstBuffer *outbuf);
|
||||||
|
static gboolean gst_replace_transform_meta (GstBaseTransform *trans,
|
||||||
|
GstBuffer *outbuf, GstMeta *meta, GstBuffer *inbuf);
|
||||||
|
static void
|
||||||
|
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
|
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
|
||||||
GstBuffer * outbuf);
|
GstBuffer * outbuf);
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf);
|
gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf);
|
||||||
static GstFlowReturn
|
|
||||||
gst_replace_prepare_output_buffer (GstBaseTransform * trans,
|
|
||||||
GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf);
|
|
||||||
static gboolean
|
|
||||||
gst_replace_src_event (GstBaseTransform * trans, GstEvent * event);
|
|
||||||
static void
|
|
||||||
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
|
|
||||||
% declare-class
|
% declare-class
|
||||||
GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
|
GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
|
||||||
% set-methods
|
% set-methods
|
||||||
base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_replace_transform_caps);
|
base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_replace_transform_caps);
|
||||||
base_transform_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_replace_fixate_caps);
|
base_transform_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_replace_fixate_caps);
|
||||||
|
base_transform_class->accept_caps = GST_DEBUG_FUNCPTR (gst_replace_accept_caps);
|
||||||
|
base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
|
||||||
|
base_transform_class->query = GST_DEBUG_FUNCPTR (gst_replace_query);
|
||||||
|
base_transform_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_replace_decide_allocation);
|
||||||
|
base_transform_class->filter_meta = GST_DEBUG_FUNCPTR (gst_replace_filter_meta);
|
||||||
|
base_transform_class->propose_allocation = GST_DEBUG_FUNCPTR (gst_replace_propose_allocation);
|
||||||
base_transform_class->transform_size = GST_DEBUG_FUNCPTR (gst_replace_transform_size);
|
base_transform_class->transform_size = GST_DEBUG_FUNCPTR (gst_replace_transform_size);
|
||||||
base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_replace_get_unit_size);
|
base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_replace_get_unit_size);
|
||||||
base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
|
|
||||||
base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
|
base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
|
||||||
base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
|
base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
|
||||||
base_transform_class->event = GST_DEBUG_FUNCPTR (gst_replace_event);
|
base_transform_class->sink_event = GST_DEBUG_FUNCPTR (gst_replace_sink_event);
|
||||||
|
base_transform_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
|
||||||
|
base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
|
||||||
|
base_transform_class->copy_metadata = GST_DEBUG_FUNCPTR (gst_replace_copy_metadata);
|
||||||
|
base_transform_class->transform_meta = GST_DEBUG_FUNCPTR (gst_replace_transform_meta);
|
||||||
|
base_transform_class->before_transform = GST_DEBUG_FUNCPTR (gst_replace_before_transform);
|
||||||
base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
|
base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
|
||||||
base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
|
base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
|
||||||
base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
|
|
||||||
base_transform_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
|
|
||||||
base_transform_class->before_transform = GST_DEBUG_FUNCPTR (gst_replace_before_transform);
|
|
||||||
% methods
|
% methods
|
||||||
|
|
||||||
static GstCaps *
|
static GstCaps *
|
||||||
gst_replace_transform_caps (GstBaseTransform * trans,
|
gst_replace_transform_caps (GstBaseTransform *trans,
|
||||||
GstPadDirection direction, GstCaps * caps)
|
GstPadDirection direction, GstCaps *caps, GstCaps *filter)
|
||||||
{
|
{
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static GstCaps *
|
||||||
gst_replace_fixate_caps (GstBaseTransform * trans,
|
gst_replace_fixate_caps (GstBaseTransform * trans,
|
||||||
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
|
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_accept_caps (GstBaseTransform *trans,
|
||||||
|
GstPadDirection direction, GstCaps *caps)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
|
||||||
|
GstCaps * outcaps)
|
||||||
|
{
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_query (GstBaseTransform *trans, GstPadDirection direction,
|
||||||
|
GstQuery *query)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_decide_allocation (GstBaseTransform *trans, GstQuery *query)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_filter_meta (GstBaseTransform *trans, GstQuery *query,
|
||||||
|
GType api, const GstStructure *params)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_propose_allocation (GstBaseTransform *trans,
|
||||||
|
GstQuery *decide_query, GstQuery *query)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_replace_transform_size (GstBaseTransform * trans,
|
gst_replace_transform_size (GstBaseTransform * trans,
|
||||||
GstPadDirection direction,
|
GstPadDirection direction,
|
||||||
GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
|
GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize)
|
||||||
{
|
{
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -86,15 +151,7 @@ gst_replace_transform_size (GstBaseTransform * trans,
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
|
gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
|
||||||
guint * size)
|
gsize * size)
|
||||||
{
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
|
|
||||||
GstCaps * outcaps)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -115,12 +172,49 @@ gst_replace_stop (GstBaseTransform * trans)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_replace_event (GstBaseTransform * trans, GstEvent * event)
|
gst_replace_sink_event (GstBaseTransform * trans, GstEvent * event)
|
||||||
{
|
{
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
|
||||||
|
{
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GstFlowReturn
|
||||||
|
gst_replace_prepare_output_buffer (GstBaseTransform * trans,
|
||||||
|
GstBuffer * input, GstBuffer ** buf)
|
||||||
|
{
|
||||||
|
|
||||||
|
return GST_FLOW_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_copy_metadata (GstBaseTransform *trans,
|
||||||
|
GstBuffer *input, GstBuffer *outbuf)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_replace_transform_meta (GstBaseTransform *trans,
|
||||||
|
GstBuffer *outbuf, GstMeta *meta, GstBuffer *inbuf)
|
||||||
|
{
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
|
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
|
||||||
GstBuffer * outbuf)
|
GstBuffer * outbuf)
|
||||||
|
@ -136,24 +230,4 @@ gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
|
||||||
return GST_FLOW_ERROR;
|
return GST_FLOW_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
|
||||||
gst_replace_prepare_output_buffer (GstBaseTransform * trans,
|
|
||||||
GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf)
|
|
||||||
{
|
|
||||||
|
|
||||||
return GST_FLOW_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
|
|
||||||
{
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
% end
|
% end
|
||||||
|
|
|
@ -55,7 +55,7 @@ gst_replace_dispose (GObject * object)
|
||||||
|
|
||||||
/* clean up as possible. may be called multiple times */
|
/* clean up as possible. may be called multiple times */
|
||||||
|
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (gst_replace_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -65,7 +65,7 @@ gst_replace_finalize (GObject * object)
|
||||||
|
|
||||||
/* clean up object here */
|
/* clean up object here */
|
||||||
|
|
||||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
G_OBJECT_CLASS (gst_replace_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
% end
|
% end
|
||||||
|
|
|
@ -12,7 +12,7 @@ GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
);
|
);
|
||||||
|
|
||||||
% base-init
|
% base-init
|
||||||
gst_element_class_add_pad_template (element_class,
|
gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
|
||||||
gst_static_pad_template_get (&gst_replace_sink_template));
|
gst_static_pad_template_get (&gst_replace_sink_template));
|
||||||
% instance-init
|
% instance-init
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
);
|
);
|
||||||
|
|
||||||
% base-init
|
% base-init
|
||||||
gst_element_class_add_pad_template (element_class,
|
gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
|
||||||
gst_static_pad_template_get (&gst_replace_src_template));
|
gst_static_pad_template_get (&gst_replace_src_template));
|
||||||
% instance-init
|
% instance-init
|
||||||
|
|
||||||
|
|
|
@ -168,30 +168,9 @@ cat <<EOF
|
||||||
|
|
||||||
/* class initialization */
|
/* class initialization */
|
||||||
|
|
||||||
#define DEBUG_INIT(bla) \\
|
G_DEFINE_TYPE_WITH_CODE (GstReplace, gst_replace, GST_TYPE_BASE_REPLACE,
|
||||||
GST_DEBUG_CATEGORY_INIT (gst_replace_debug_category, "replace", 0, \\
|
GST_DEBUG_CATEGORY_INIT (gst_replace_debug_category, "replace", 0,
|
||||||
"debug category for replace element");
|
"debug category for replace element"));
|
||||||
|
|
||||||
GST_BOILERPLATE_FULL (GstReplace, gst_replace, GstBaseReplace,
|
|
||||||
GST_TYPE_BASE_REPLACE, DEBUG_INIT);
|
|
||||||
|
|
||||||
static void
|
|
||||||
gst_replace_base_init (gpointer g_class)
|
|
||||||
{
|
|
||||||
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
for each in $pads
|
|
||||||
do
|
|
||||||
grep -A 10000 '^% base-init' $templatedir/$each | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
|
||||||
done
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
gst_element_class_set_static_metadata (element_class, "FIXME Long name",
|
|
||||||
"Generic", "FIXME Description", "$REAL_NAME <$EMAIL_ADDRESS>");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_replace_class_init (GstReplaceClass * klass)
|
gst_replace_class_init (GstReplaceClass * klass)
|
||||||
|
@ -200,7 +179,22 @@ EOF
|
||||||
grep -A 10000 '^% declare-class' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
grep -A 10000 '^% declare-class' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
||||||
grep -A 10000 '^% declare-class' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
grep -A 10000 '^% declare-class' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
||||||
|
|
||||||
echo
|
cat <<EOF
|
||||||
|
|
||||||
|
/* Setting up pads and setting metadata should be moved to
|
||||||
|
base_class_init if you intend to subclass this class. */
|
||||||
|
EOF
|
||||||
|
for each in $pads
|
||||||
|
do
|
||||||
|
grep -A 10000 '^% base-init' $templatedir/$each | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
||||||
|
done
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
gst_element_class_set_static_metadata (GST_ELEMENT_CLASS(klass),
|
||||||
|
"FIXME Long name", "Generic", "FIXME Description",
|
||||||
|
"$REAL_NAME <$EMAIL_ADDRESS>");
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
grep -A 10000 '^% set-methods' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
grep -A 10000 '^% set-methods' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
||||||
grep -A 10000 '^% set-methods' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
grep -A 10000 '^% set-methods' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
|
||||||
|
@ -210,7 +204,7 @@ cat <<EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_replace_init (GstReplace * replace, GstReplaceClass * replace_class)
|
gst_replace_init (GstReplace *replace)
|
||||||
{
|
{
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -377,12 +371,12 @@ gst-indent $gstreplace.c
|
||||||
|
|
||||||
echo pkg is $pkg
|
echo pkg is $pkg
|
||||||
|
|
||||||
gcc -Wall -fPIC $CPPFLAGS $(pkg-config --cflags gstreamer-0.10 $pkg) -c -o $gstreplace.o $gstreplace.c
|
gcc -Wall -fPIC $CPPFLAGS $(pkg-config --cflags gstreamer-1.0 $pkg) -c -o $gstreplace.o $gstreplace.c
|
||||||
if test $? -ne 0; then
|
if test $? -ne 0; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
gcc -shared -o $gstreplace.so $gstreplace.o $(pkg-config --libs gstreamer-0.10 $pkg)
|
gcc -shared -o $gstreplace.so $gstreplace.o $(pkg-config --libs gstreamer-1.0 $pkg)
|
||||||
if test $? -ne 0; then
|
if test $? -ne 0; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue