1 #ifndef TEST_DERIVEDFROMAPPSINK_H_
2 #define TEST_DERIVEDFROMAPPSINK_H_
3 
4 #include <gst/app/gstappsink.h>
5 #include <gstreamermm.h>
6 #include <gstreamermm/private/appsink_p.h>
7 #include <assert.h>
8 
9 class DerivedFromAppSink : public Gst::AppSink
10 {
11 public:
class_init(Gst::ElementClass<DerivedFromAppSink> * klass)12   static void class_init(Gst::ElementClass<DerivedFromAppSink> *klass)
13   {
14     klass->set_metadata("derivedfromappsink_longname",
15             "derivedfromappsink_classification", "derivedfromappsink_detail_description", "derivedfromappsink_detail_author");
16   }
17 
DerivedFromAppSink(GstAppSink * gobj)18   explicit DerivedFromAppSink(GstAppSink *gobj)
19   : Glib::ObjectBase(typeid (DerivedFromAppSink)), // type must be registered before use
20     Gst::AppSink(gobj)
21   {
22   }
23 
register_element(Glib::RefPtr<Gst::Plugin> plugin)24   static bool register_element(Glib::RefPtr<Gst::Plugin> plugin)
25   {
26     return Gst::ElementFactory::register_element(plugin, "derivedfromappsink", 10, Gst::register_mm_type<DerivedFromAppSink>("derivedfromappsink"));
27   }
28 };
29 
30 #endif /* TEST_DERIVEDFROMAPPSINK_H_ */
31