예제 #1
0
void ApplicationSink::Priv::setCallbacks(ApplicationSink *self)
{
    if (m_appsink) {
        if (self) {
            static GstAppSinkCallbacks callbacks = { &eos, &new_preroll,
                                                     &new_buffer, &new_buffer_list };
            gst_app_sink_set_callbacks(appSink(), &callbacks, self, NULL);
        } else {
            static GstAppSinkCallbacks callbacks = { &eos_noop, &new_preroll_noop,
                                                     &new_buffer_noop, &new_buffer_list_noop };
            gst_app_sink_set_callbacks(appSink(), &callbacks, NULL, NULL);
        }
    }
}
예제 #2
0
파일: plugin.cpp 프로젝트: ALPHAMARIOX/pn
bool __stdcall pn_init_extension(int iface_version, extensions::IPN* pn)
{
	if(iface_version != PN_EXT_IFACE_VERSION)
		return false;

	g_pn = pn;

	// Do your initialisation stuff here...
	pn->GetGlobalOutputWindow()->AddToolOutput("Hello from the demo extension!");

	extensions::IAppEventSinkPtr appSink(new AppEventSink());
	pn->AddEventSink(appSink);

	Menu menu;
	pn->AddPluginMenuItems(&menu);

	return true;
}