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