diff options
-rw-r--r-- | gst-libs/gst/app/Makefile.am | 4 | ||||
-rw-r--r-- | gst-libs/gst/app/gstappsink.c | 16 | ||||
-rw-r--r-- | gst-libs/gst/app/gstappsrc.c | 9 | ||||
-rw-r--r-- | win32/common/libgstapp.def | 28 |
4 files changed, 44 insertions, 13 deletions
diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am index bb4686d2..9a8ca612 100644 --- a/gst-libs/gst/app/Makefile.am +++ b/gst-libs/gst/app/Makefile.am @@ -1,7 +1,7 @@ lib_LTLIBRARIES = libgstapp-@GST_MAJORMINOR@.la glib_enum_define = GST_APP -glib_enum_prefix = gst_app +glib_enum_prefix = __gst_app include $(top_srcdir)/common/glib-gen.mak @@ -17,7 +17,7 @@ libgstapp_@GST_MAJORMINOR@_la_SOURCES = gstappsrc.c gstappbuffer.c gstappsink.c libgstapp_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \ $(GST_PLUGINS_BASE_CFLAGS) libgstapp_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -libgstapp_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_ALL_LDFLAGS) +libgstapp_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS) libgstapp_@GST_MAJORMINOR@_la_LIBTOOLFLAGS = --tag=disable-static libgstapp_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/app diff --git a/gst-libs/gst/app/gstappsink.c b/gst-libs/gst/app/gstappsink.c index 0b1f7d5b..183c7f0e 100644 --- a/gst-libs/gst/app/gstappsink.c +++ b/gst-libs/gst/app/gstappsink.c @@ -171,16 +171,18 @@ static guint gst_app_sink_signals[LAST_SIGNAL] = { 0 }; GST_BOILERPLATE (GstAppSink, gst_app_sink, GstBaseSink, GST_TYPE_BASE_SINK); -void -gst_app_marshal_OBJECT__VOID (GClosure * closure, +/* Can't use glib-genmarshal for this, as it doesn't know how to handle + * GstMiniObject-based types, which are a new fundamental type */ +static void +gst_app_marshal_BUFFER__VOID (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { - typedef GstBuffer *(*GMarshalFunc_OBJECT__VOID) (gpointer data1, + typedef GstBuffer *(*GMarshalFunc_BUFFER__VOID) (gpointer data1, gpointer data2); - register GMarshalFunc_OBJECT__VOID callback; + register GMarshalFunc_BUFFER__VOID callback; register GCClosure *cc = (GCClosure *) closure; register gpointer data1, data2; GstBuffer *v_return; @@ -196,7 +198,7 @@ gst_app_marshal_OBJECT__VOID (GClosure * closure, data2 = closure->data; } callback = - (GMarshalFunc_OBJECT__VOID) (marshal_data ? marshal_data : cc->callback); + (GMarshalFunc_BUFFER__VOID) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, data2); @@ -334,7 +336,7 @@ gst_app_sink_class_init (GstAppSinkClass * klass) gst_app_sink_signals[SIGNAL_PULL_PREROLL] = g_signal_new ("pull-preroll", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSinkClass, - pull_preroll), NULL, NULL, gst_app_marshal_OBJECT__VOID, + pull_preroll), NULL, NULL, gst_app_marshal_BUFFER__VOID, GST_TYPE_BUFFER, 0, G_TYPE_NONE); /** * GstAppSink::pull-buffer: @@ -360,7 +362,7 @@ gst_app_sink_class_init (GstAppSinkClass * klass) gst_app_sink_signals[SIGNAL_PULL_BUFFER] = g_signal_new ("pull-buffer", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSinkClass, - pull_buffer), NULL, NULL, gst_app_marshal_OBJECT__VOID, + pull_buffer), NULL, NULL, gst_app_marshal_BUFFER__VOID, GST_TYPE_BUFFER, 0, G_TYPE_NONE); basesink_class->unlock = gst_app_sink_unlock_start; diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c index 52b0b87b..69b37e64 100644 --- a/gst-libs/gst/app/gstappsrc.c +++ b/gst-libs/gst/app/gstappsrc.c @@ -393,7 +393,7 @@ gst_app_src_class_init (GstAppSrcClass * klass) gst_app_src_signals[SIGNAL_NEED_DATA] = g_signal_new ("need-data", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstAppSrcClass, need_data), - NULL, NULL, gst_app_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); + NULL, NULL, __gst_app_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); /** * GstAppSrc::enough-data: @@ -422,7 +422,7 @@ gst_app_src_class_init (GstAppSrcClass * klass) gst_app_src_signals[SIGNAL_SEEK_DATA] = g_signal_new ("seek-data", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstAppSrcClass, seek_data), - NULL, NULL, gst_app_marshal_BOOLEAN__UINT64, G_TYPE_BOOLEAN, 1, + NULL, NULL, __gst_app_marshal_BOOLEAN__UINT64, G_TYPE_BOOLEAN, 1, G_TYPE_UINT64); /** @@ -440,7 +440,7 @@ gst_app_src_class_init (GstAppSrcClass * klass) gst_app_src_signals[SIGNAL_PUSH_BUFFER] = g_signal_new ("push-buffer", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSrcClass, - push_buffer), NULL, NULL, gst_app_marshal_ENUM__OBJECT, + push_buffer), NULL, NULL, __gst_app_marshal_ENUM__OBJECT, GST_TYPE_FLOW_RETURN, 1, GST_TYPE_BUFFER); /** @@ -452,7 +452,7 @@ gst_app_src_class_init (GstAppSrcClass * klass) gst_app_src_signals[SIGNAL_END_OF_STREAM] = g_signal_new ("end-of-stream", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSrcClass, - end_of_stream), NULL, NULL, gst_app_marshal_ENUM__VOID, + end_of_stream), NULL, NULL, __gst_app_marshal_ENUM__VOID, GST_TYPE_FLOW_RETURN, 0, G_TYPE_NONE); basesrc_class->create = gst_app_src_create; @@ -1358,6 +1358,7 @@ gst_app_src_uri_get_protocols (void) return protocols; } + static const gchar * gst_app_src_uri_get_uri (GstURIHandler * handler) { diff --git a/win32/common/libgstapp.def b/win32/common/libgstapp.def new file mode 100644 index 00000000..36264937 --- /dev/null +++ b/win32/common/libgstapp.def @@ -0,0 +1,28 @@ +EXPORTS + gst_app_buffer_get_type + gst_app_buffer_new + gst_app_sink_get_caps + gst_app_sink_get_drop + gst_app_sink_get_emit_signals + gst_app_sink_get_max_buffers + gst_app_sink_get_type + gst_app_sink_is_eos + gst_app_sink_pull_buffer + gst_app_sink_pull_preroll + gst_app_sink_set_caps + gst_app_sink_set_drop + gst_app_sink_set_emit_signals + gst_app_sink_set_max_buffers + gst_app_src_end_of_stream + gst_app_src_get_caps + gst_app_src_get_latency + gst_app_src_get_max_bytes + gst_app_src_get_size + gst_app_src_get_stream_type + gst_app_src_get_type + gst_app_src_push_buffer + gst_app_src_set_caps + gst_app_src_set_latency + gst_app_src_set_max_bytes + gst_app_src_set_size + gst_app_src_set_stream_type |