Commit 9798f462 authored by Marcin Kolny's avatar Marcin Kolny

remove plugins-bad module

parent 179dde54
......@@ -526,15 +526,6 @@ gstreamer/src/ximagesink.hg
gstreamer/src/xvimagesink.ccg
gstreamer/src/xvimagesink.hg
#gst-plugins-bad/
gst-plugins-bad/gstreamermm-plugins-bad.h
gst-plugins-bad/gstreamermm-plugins-bad/glbasefilter.cc
gst-plugins-bad/gstreamermm-plugins-bad/glbasefilter.h
gst-plugins-bad/gstreamermm-plugins-bad/glfilter.cc
gst-plugins-bad/gstreamermm-plugins-bad/glfilter.h
gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.cc
gst-plugins-bad/gstreamermm-*.pc
#tests/ gtest files
tests/release-1.7.0.zip
tests/gtest
......
......@@ -41,15 +41,6 @@ else
doc_subdirs =
endif
if ENABLE_GSTREAMERMM_PLUGINS_BAD
if MAINTAINER_MODE
src_subdirs += gst-plugins-bad/src
endif # MAINTAINER_MODE
srcmm_subdirs += gst-plugins-bad/gstreamermm-plugins-bad
pkgconfig_files += gst-plugins-bad/$(GSTREAMERMM_PLUGINS_BAD_MODULE_NAME).pc
gstreamermm_include_HEADERS += gst-plugins-bad/gstreamermm-plugins-bad.h
endif #ENABLE_PLUGINS_BAD
SUBDIRS = tools $(src_subdirs) $(srcmm_subdirs) \
tests examples $(doc_subdirs)
......
......@@ -23,11 +23,10 @@ AC_PREREQ([2.59])
AC_CONFIG_SRCDIR([gstreamer/gstreamermm.h])
AC_CONFIG_AUX_DIR([build])
AC_CONFIG_MACRO_DIR([build])
AC_CONFIG_HEADERS([config.h gstreamer/gstreamermmconfig.h gst-plugins-bad/gstreamermm-plugins-bad.h])
AC_CONFIG_HEADERS([config.h gstreamer/gstreamermmconfig.h])
MM_PREREQ([0.9.8])
MM_INIT_MODULE([gstreamermm-1.0])
MM_INIT_MODULE([gstreamermm-plugins-bad-1.0])
# Copy the mm-common .pl scripts into docs/,
# and use them from there,
......@@ -57,7 +56,6 @@ AC_PROG_SED
AS_IF([test "x$enable_static" = xyes],
[
AC_DEFINE([GSTREAMERMM_STATIC_LIB], [1], [Define if gstreamermm is built as a static library])
AC_DEFINE([GSTREAMERMM_PLUGINS_BAD_STATIC_LIB], [1], [Define if gstreamermm-plugins-bad is built as a static library])
])
# The format below is used so that the requirements appear nicely in the .pc
......@@ -73,13 +71,6 @@ AC_SUBST([GSTREAMERMM_MODULES],
PKG_CHECK_MODULES([GSTREAMERMM], [$GSTREAMERMM_MODULES])
AC_SUBST([GSTREAMERMM_PLUGINS_BAD_MODULES],
["gstreamer-plugins-bad-1.0 >= GSTMM_VERSION gstreamermm-1.0 >= GSTMM_VERSION"])
FIND_GST_MODULE(GSTREAMERMM_PLUGINS_BAD, plugins-bad, plugins_bad)
FIND_GST_MODULE(GSTREAMERMM_GL, gl, gl, $gstmm_enable_plugins_bad)
ADD_MODULE_CONDITIONALLY([GSTREAMERMM_PLUGINS_BAD_MODULES], [gstreamer-gl-1.0], [$gstmm_enable_gl])
PKG_CHECK_MODULES([GUI_EXAMPLES], [$GSTREAMERMM_MODULES gtkmm-3.0 >= 3.0],
[gstmm_enable_gui_examples=yes], [gstmm_enable_gui_examples=no])
......@@ -217,10 +208,6 @@ AC_CONFIG_FILES([Makefile
gstreamer/${GSTREAMERMM_MODULE_NAME}-uninstalled.pc:gstreamer/gstreamermm-uninstalled.pc.in
gstreamer/src/Makefile
gstreamer/gstreamermm/Makefile
gst-plugins-bad/${GSTREAMERMM_PLUGINS_BAD_MODULE_NAME}.pc:gst-plugins-bad/gstreamermm-plugins-bad.pc.in
gst-plugins-bad/${GSTREAMERMM_PLUGINS_BAD_MODULE_NAME}-uninstalled.pc:gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in
gst-plugins-bad/src/Makefile
gst-plugins-bad/gstreamermm-plugins-bad/Makefile
examples/Makefile
tests/Makefile
docs/Makefile
......@@ -236,9 +223,6 @@ ${PACKAGE}-${VERSION}
Libraries
GStreamer Version: $(pkg-config --modversion gstreamer-1.0)
gstreamer-plugins-bad: ${gstmm_enable_plugins_bad} ${gstmm_plugins_bad_version}
gstreamer-gl: ${gstmm_enable_gl}
Extra features
Use deprecated API: ${mm_enable_deprecated_api}
......
......@@ -15,7 +15,7 @@
AUTOMAKE_OPTIONS = subdir-objects
examples_cppflags = $(GSTREAMERMM_CFLAGS) $(GSTREAMERMM_PLUGINS_BAD_CFLAGS) $(GSTREAMERMM_GL_CFLAGS)
examples_cppflags = $(GSTREAMERMM_CFLAGS) $(GSTREAMERMM_GL_CFLAGS)
gstreamermm_includes = -I$(top_builddir)/gstreamer $(if $(srcdir:.=),-I$(top_srcdir)/gstreamer)
local_libgstreamermm = $(top_builddir)/gstreamer/gstreamermm/libgstreamermm-$(GSTREAMERMM_API_VERSION).la
......@@ -34,16 +34,6 @@ ogg_player_gtkmm_example_SOURCES = ogg_player_gtkmm/main.cc \
ogg_player_gtkmm_example_LDADD = $(GUI_EXAMPLES_LIBS) $(local_libgstreamermm)
endif
if ENABLE_GSTREAMERMM_PLUGINS_BAD
gstreamermm_includes += -I$(top_builddir)/gst-plugins-bad $(if $(srcdir:.=),-I$(top_srcdir)/gst-plugins-bad)
local_libgstreamermm += $(top_builddir)/gst-plugins-bad/gstreamermm-plugins-bad/libgstreamermm-plugins-bad-$(GSTREAMERMM_API_VERSION).la
endif
if ENABLE_GSTREAMERMM_GL
gl_examples = opengl_filter/example
local_libgstreamermm += $(GSTREAMERMM_GL_LIBS)
endif
noinst_PROGRAMS = \
all_media_player/example \
audio_video_muxer/example \
......
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008-2015 The gstreamermm Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "sample_gl_filter.h"
#include <gstreamermm.h>
#include <glibmm/main.h>
#include <iostream>
Glib::RefPtr<Glib::MainLoop> mainloop;
bool on_bus_message(const Glib::RefPtr<Gst::Bus>& /* bus */, const Glib::RefPtr<Gst::Message>& message)
{
switch(message->get_message_type()) {
case Gst::MESSAGE_EOS:
std::cout << std::endl << "End of stream" << std::endl;
mainloop->quit();
return false;
case Gst::MESSAGE_ERROR:
{
Glib::RefPtr<Gst::MessageError> msgError = Glib::RefPtr<Gst::MessageError>::cast_static(message);
if(msgError)
{
Glib::Error err;
err = msgError->parse_error();
std::cerr << "Error: " << err.what() << std::endl;
}
else
std::cerr << "Error." << std::endl;
mainloop->quit();
return false;
}
default:
{
//std::cout << "debug: on_bus_message: unhandled message=" << G_OBJECT_TYPE_NAME(message->gobj()) << std::endl;
}
break;
}
return true;
}
int main(int argc, char** argv)
{
// Initialize Gstreamermm:
Gst::init(argc, argv);
mainloop = Glib::MainLoop::create();
Glib::RefPtr<Gst::Pipeline> pipeline = Gst::Pipeline::create("audio-player");
Glib::RefPtr<Gst::Element> source = Gst::ElementFactory::create_element("gltestsrc");
if(!source)
std::cerr << "gltestsrc element could not be created." << std::endl;
Gst::Plugin::register_static(GST_VERSION_MAJOR, GST_VERSION_MINOR, "sampleglfilter",
"sampleglfilter is an example of C++ element derived from Gst::GLFilter",
sigc::ptr_fun(&SampleGLFilter::register_element), "0.123",
"LGPL", "source?", "package?", "http://example.com");
Glib::RefPtr<Gst::Element> filter = Gst::ElementFactory::create_element("sampleglfilter");
if(!filter)
std::cerr << "sampleglfilter element could not be created." << std::endl;
Glib::RefPtr<Gst::Element> sink = Gst::ElementFactory::create_element("glimagesink");
if(!sink)
std::cerr << "glvideosink element could not be created." << std::endl;
if(!pipeline || !source || !filter || !sink)
{
std::cerr << "One element could not be created" << std::endl;
return 1;
}
Glib::RefPtr<Gst::Bus> bus = pipeline->get_bus();
bus->add_watch( sigc::ptr_fun(&on_bus_message) );
try
{
pipeline->add(source)->add(filter)->add(sink);
}
catch(const Glib::Error& ex)
{
std::cerr << "Error while adding elements to the pipeline: " << ex.what() << std::endl;
return 1;
}
// Link the elements together:
try
{
source->link(filter)->link(sink);
}
catch(const std::runtime_error& ex)
{
std::cout << "Exception while linking elements: " << ex.what() << std::endl;
}
// Now set the whole pipeline to playing and start the main loop:
std::cout << "Setting to PLAYING." << std::endl;
pipeline->set_state(Gst::STATE_PLAYING);
std::cout << "Running." << std::endl;
mainloop->run();
// Clean up nicely:
std::cout << "Returned. Stopping playback." << std::endl;
pipeline->set_state(Gst::STATE_NULL);
return 0;
}
#ifndef SAMPLE_GL_FILTER_H_
#define SAMPLE_GL_FILTER_H_
#define GST_USE_UNSTABLE_API
#include <gstreamermm.h>
#include <gstreamermm-plugins-bad/glfilter.h>
#include <gstreamermm-plugins-bad/private/glfilter_p.h>
class SampleGLFilter: public Gst::Bad::GLFilter
{
void callback (gint /* width */, gint /* height */, guint texture)
{
GstGLFuncs *gl = GST_GL_BASE_FILTER (gobj())->context->gl_vtable;
const GLfloat texcoords[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
const GLfloat quadVertices[] = {-1.0f, -1.0f, 1.0f, -1.0f, 1.0f,1.0f, -1.0f, 1.0f};
gl->MatrixMode (GL_PROJECTION);
gl->LoadIdentity ();
gl->Enable (GL_TEXTURE_2D);
gl->BindTexture (GL_TEXTURE_2D, texture);
gl->EnableClientState(GL_VERTEX_ARRAY);
gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords);
gl->VertexPointer(2, GL_FLOAT, 0, quadVertices);
gl->DrawArrays(GL_QUADS, 0, 4);
gl->DisableClientState(GL_TEXTURE_COORD_ARRAY);
gl->DisableClientState(GL_VERTEX_ARRAY);
}
public:
static void class_init(Gst::ElementClass<SampleGLFilter> *klass)
{
klass->set_metadata("sample gl filter",
"gstreamermm/examples",
"sample gl filter", "Marcin Kolny <marcin.kolny@flytronic.pl>");
}
explicit SampleGLFilter(GstGLFilter *gobj)
: Glib::ObjectBase(typeid (SampleGLFilter)),
Gst::Bad::GLFilter(gobj)
{
// To use filter_texture vfunc, we have to set filter vfunc to null
GST_GL_FILTER_GET_CLASS(gobj)->filter = NULL;
}
virtual ~SampleGLFilter() {}
static bool register_element(Glib::RefPtr<Gst::Plugin> plugin)
{
return Gst::ElementFactory::register_element(plugin, "sampleglfilter", 10, Gst::register_mm_type<SampleGLFilter>("sampleglfilter"));
}
virtual bool filter_texture_vfunc(guint in_tex, guint out_tex)
{
render_to_target(false, in_tex, out_tex, sigc::mem_fun(*this, &SampleGLFilter::callback));
return true;
}
};
#endif /* SAMPLE_GL_FILTER_H_ */
doxytagfile=${pc_top_builddir}/docs/reference/@GSTREAMERMM_MODULE_NAME@.tag
htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
Name: gstreamermm-plugins-bad
Description: C++ binding for GStreamer, not installed
Version: @GSTREAMERMM_VERSION@
URL: http://www.gtkmm.org/
Requires: @GSTREAMERMM_PLUGINS_BAD_MODULES@
Libs: ${pc_top_builddir}/${pcfiledir}/gstreamermm/libgstreamermm-plugins-bad-@GSTREAMERMM_API_VERSION@.la
Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
/* This is part of gstreamermm */
#ifndef _GSTREAMERMM_PLUGINS_BAD_H
#define _GSTREAMERMM_PLUGINS_BAD_H
/* Enable gstreamer-gl module */
#undef ENABLE_GSTREAMERMM_GL
#ifdef ENABLE_GSTREAMERMM_GL
#include <gstreamermm-plugins-bad/glbasefilter.h>
#include <gstreamermm-plugins-bad/glfilter.h>
#endif
#endif /* _GSTREAMERMM_PLUGINS_BAD_H */
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
datarootdir=@datarootdir@
datadir=@datadir@
includedir=@includedir@
docdir=${datarootdir}/doc/@GSTREAMERMM_MODULE_NAME@
doxytagfile=${docdir}/reference/@GSTREAMERMM_MODULE_NAME@.tag
htmlrefdir=${docdir}/reference/html
htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
Name: gstreamermm-plugins-bad
Description: C++ binding for gstreamer
Version: @GSTREAMERMM_VERSION@
URL: http://www.gtkmm.org/
Requires: @GSTREAMERMM_PLUGINS_BAD_MODULES@
Libs: -L${libdir} -lgstreamermm-plugins-bad-@GSTREAMERMM_API_VERSION@
Cflags: -I${includedir}/@GSTREAMERMM_MODULE_NAME@ -I${libdir}/@GSTREAMERMM_MODULE_NAME@/include
## Copyright 2015 The gstreamermm Development Team
##
## This library is free software: you can redistribute it and/or modify it
## under the terms of the GNU Lesser General Public License as published
## by the Free Software Foundation, either version 2.1 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
## Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
lib_LTLIBRARIES = libgstreamermm-plugins-bad-@GSTREAMERMM_API_VERSION@.la
binding_modulename = gstreamermm-@GSTREAMERMM_API_VERSION@
include $(srcdir)/../src/filelist.am
include $(srcdir)/filelist.am
include $(top_srcdir)/build/compile-binding.am
local_includes = -I$(top_builddir)/gstreamer $(if $(srcdir:.=),-I$(top_srcdir)/gstreamer)
local_cppflags = $(binding_includes) $(local_includes) $(binding_cppflags) -DGSTREAMERMM_PLUGINS_BAD_BUILD=1
AM_CPPFLAGS = $(local_cppflags) $(GSTREAMERMM_PLUGINS_BAD_CFLAGS) $(GSTREAMERMM_CFLAGS) $(GSTREAMERMM_GL_CFLAGS)
AM_CXXFLAGS = $(GSTREAMERMM_WXXFLAGS)
local_libadd = $(top_builddir)/gstreamer/gstreamermm/libgstreamermm-$(GSTREAMERMM_API_VERSION).la
libgstreamermm_plugins_bad_@GSTREAMERMM_API_VERSION@_la_SOURCES = $(binding_sources)
libgstreamermm_plugins_bad_@GSTREAMERMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(GSTREAMERMM_SO_VERSION)
libgstreamermm_plugins_bad_@GSTREAMERMM_API_VERSION@_la_LIBADD = $(GSTREAMERMM_PLUGINS_BAD_LIBS) $(GSTREAMERMM_GL_LIBS) $(local_libadd)
## Copyright 2009 The gstreamermm Development Team
files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
files_built_h = $(files_hg:.hg=.h)
files_built_ph = $(patsubst %.hg,private/%_p.h,$(files_hg))
files_extra_ph =
files_extra_h = \
wrap_init.h
// -*- c++ -*-
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008 The gstreamermm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _GSTREAMERMM_WRAP_INIT_H
#define _GSTREAMERMM_WRAP_INIT_H
// wrap_init.cc is generated by tools/generate_wrap_init.pl
#include <gstreamermmconfig.h>
namespace Gst
{
namespace Bad
{
/** Initializes the gstreamermm-plugins-bad wrapping system.
*/
void wrap_init();
} // Bad
} // Gst
#endif //_GSTREAMERMM_WRAP_INIT_H
## Copyright 2015 The gstreamermm Development Team
##
## This library is free software: you can redistribute it and/or modify it
## under the terms of the GNU Lesser General Public License as published
## by the Free Software Foundation, either version 2.1 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
## Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
binding_name = gstreamermm-plugins-bad
# generate_wrap_init.pl should support nested namespaces
wrap_init_flags = --namespace=Gst::Bad --parent_dir=gstreamermm-plugins-bad
codegen_srcdir = $(top_srcdir)/tools
include $(srcdir)/filelist.am
include $(top_srcdir)/tools/m4/filelist.am
include $(top_srcdir)/build/generate-binding.am
## Copyright 2015 The gstreamermm Development Team
files_defs = \
gst.defs \
gst_enums.defs \
gst_vfuncs.defs \
gst_docs.xml
gl_files_hg = \
glbasefilter.hg \
glfilter.hg
files_hg =
if ENABLE_GSTREAMERMM_GL
files_hg += $(gl_files_hg)
endif
files_ccg = $(files_hg:.hg=.ccg)
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008-2015 The gstreamermm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
_PINCLUDE(gstreamermm/private/basetransform_p.h)
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008-2015 The gstreamermm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
_DEFS(gstreamermm-plugins-bad,gst)
#define GST_USE_UNSTABLE_API
#include <gst/gl/gl.h>
#include <gstreamermm/basetransform.h>
namespace Gst
{
namespace Bad
{
class GLBaseFilter
: public BaseTransform
{
_CLASS_GOBJECT(GLBaseFilter, GstGLBaseFilter, GST_GL_BASE_FILTER, BaseTransform, GstBaseTransform)
public:
_WRAP_VFUNC(bool gl_start(), "gl_start", return_value true)
_WRAP_VFUNC(void gl_stop(), "gl_stop")
};
}
}
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008-2015 The gstreamermm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
_PINCLUDE(gstreamermm-plugins-bad/private/glbasefilter_p.h)
static void Slot_Texture_Operation_gstreamermm_callback(gint param1, gint param2, guint param3, gpointer stuff)
{
Gst::Bad::GLFilter::SlotTextureOperation* the_slot = static_cast<Gst::Bad::GLFilter::SlotTextureOperation*>(stuff);
(*the_slot)(param1, param2, param3);
delete the_slot;
}
namespace Gst
{
namespace Bad
{
void GLFilter::render_to_target(bool resize, GLuint input, GLuint target, const SlotTextureOperation& slot)
{
SlotTextureOperation* slot_copy = new SlotTextureOperation(slot);
gst_gl_filter_render_to_target(gobj(), resize, input, target, &Slot_Texture_Operation_gstreamermm_callback, slot_copy);
}
} // namespace Bad
} //namespace Gst
/* gstreamermm - a C++ wrapper for gstreamer
*
* Copyright 2008-2015 The gstreamermm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
_DEFS(gstreamermm-plugins-bad,gst)
#define GST_USE_UNSTABLE_API
#include <gst/gl/gl.h>
#include <gstreamermm-plugins-bad/glbasefilter.h>
#include <gstreamermm/videoinfo.h>
#include <gstreamermm/buffer.h>
namespace Gst
{
namespace Bad
{
class GLFilter
: public GLBaseFilter
{
_CLASS_GOBJECT(GLFilter, GstGLFilter, GST_GL_FILTER, GLBaseFilter, GstGLBaseFilter)
public:
_WRAP_VFUNC(bool filter(const Glib::RefPtr<Gst::Buffer>& inbuf, const Glib::RefPtr<Gst::Buffer>& outbuf), "filter")
_WRAP_VFUNC(bool filter_texture(guint in_tex, guint out_tex), "filter_texture")
_WRAP_VFUNC(bool init_fbo(), "init_fbo", return_value true)
_WRAP_VFUNC(Glib::RefPtr<Gst::Caps> transform_internal_caps(Gst::PadDirection direction, const Glib::RefPtr<Gst::Caps>& caps, const Glib::RefPtr<Gst::Caps>& filter_caps), "transform_internal_caps")
_WRAP_VFUNC(void display_init_cb(), "display_init_cb")
_WRAP_VFUNC(void display_reset_cb(), "display_reset_cb")
typedef sigc::slot<void, gint, gint, guint> SlotTextureOperation;
void render_to_target(bool resize, GLuint input, GLuint target, const SlotTextureOperation& slot);
_IGNORE(gst_gl_filter_render_to_target);
_MEMBER_GET(in_info, in_info, Gst::VideoInfo, GstVideoInfo)
_MEMBER_SET(in_info, in_info, Gst::VideoInfo, GstVideoInfo)
_MEMBER_GET(out_caps, out_caps, Glib::RefPtr<Gst::Caps>, GstCaps*)
_MEMBER_SET(out_caps, out_caps, Glib::RefPtr<Gst::Caps>, GstCaps*)
_MEMBER_GET(fbo, fbo, GLuint, GLuint)
_MEMBER_SET(fbo, fbo, GLuint, GLuint)
_MEMBER_GET(depthbuffer, depthbuffer, GLuint, GLuint)
_MEMBER_SET(depthbuffer, depthbuffer, GLuint, GLuint)
_MEMBER_GET(vao, vao, GLuint, GLuint)
_MEMBER_SET(vao, vao, GLuint, GLuint)
_MEMBER_GET(vbo_indices, vbo_indices, GLuint, GLuint)
_MEMBER_SET(vbo_indices, vbo_indices, GLuint, GLuint)
_MEMBER_GET(vertex_buffer, vertex_buffer, GLuint, GLuint)
_MEMBER_SET(vertex_buffer, vertex_buffer, GLuint, GLuint)
_MEMBER_GET(draw_attr_position_loc, draw_attr_position_loc, GLint, GLint)
_MEMBER_SET(draw_attr_position_loc, draw_attr_position_loc, GLint, GLint)
_MEMBER_GET(draw_attr_texture_loc, draw_attr_texture_loc, GLint, GLint)
_MEMBER_SET(draw_attr_texture_loc, draw_attr_texture_loc, GLint, GLint)
};
}
}
(include gst_methods.defs)
(include gst_enums.defs)
(include gst_vfuncs.defs)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
; GstGLBaseFilter
(define-vfunc gl_start
(of-object "GstGLBaseFilter")
(return-type "gboolean")
)
(define-vfunc gl_stop
(of-object "GstGLBaseFilter")
(return-type "void")
)
; GstGLFilter
(define-vfunc set_caps
(of-object "GstGLFilter")
(return-type "gboolean")
(parameters
'("GstCaps*" "incaps")
'("GstCaps*" "outcaps")
)
)
(define-vfunc filter
(of-object "GstGLFilter")
(return-type "gboolean")
(parameters
'("GstBuffer*" "inbuf")
'("GstBuffer*" "outbuf")
)
)
(define-vfunc filter_texture
(of-object "GstGLFilter")
(return-type "gboolean")
(parameters
'("guint" "in_tex")
'("guint" "out_tex")
)
)
(define-vfunc init_fbo
(of-object "GstGLFilter")
(return-type "gboolean")
)
......@@ -24,16 +24,3 @@ done
DOCEXTRACT_TO_XML_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/docextract_to_xml.py"
$DOCEXTRACT_TO_XML_PY --no-since $PARAMS > "$OUT_DIR/gst_docs.xml"
OUT_DIR="$ROOT_DIR/gst-plugins-bad/src"
PARAMS=""
for dir in "$PREFIX"/gst-plugins-bad/gst-libs/gst/{adaptivedemux,base,\
basecamerabinsrc,codecparsers,gl,insertbin,interfaces,mpegts,\
uridownloader,video,wayland}; do
PARAMS="$PARAMS -s $dir"
done
DOCEXTRACT_TO_XML_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/docextract_to_xml.py"
$DOCEXTRACT_TO_XML_PY --no-since $PARAMS > "$OUT_DIR/gst_docs.xml"
......@@ -27,10 +27,4 @@ interfaces,netbuffer,pbutils,riff,rtp,rtsp,sdp,tag,video}/*.h \