Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.
https://bugzilla.gnome.org/show_bug.cgi?id=623698
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegrationFixes#603710.
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.
Also add some missing includes/pkgs where needed.
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
Original commit message from CVS:
Patch by: Wouter Cloetens <zombie at e2big dot org>
* gst-libs/gst/rtsp/Makefile.am:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_create), (md5_digest_to_hex_string),
(auth_digest_compute_hex_urp), (auth_digest_compute_response),
(add_auth_header), (gst_rtsp_connection_free),
(gst_rtsp_connection_set_auth), (str_case_hash), (str_case_equal),
(gst_rtsp_connection_set_auth_param),
(gst_rtsp_connection_clear_auth_params):
* gst-libs/gst/rtsp/gstrtspconnection.h:
Add Digest authorization support for RTSP connections. See #532065.
* gst-libs/gst/rtsp/md5.c:
* gst-libs/gst/rtsp/md5.h:
Yeap, another md5 implementation until we can depend on a glib that has
support for it.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/rtsp/Makefile.am:
Add test to see if hstrerror is available or if we need libresolv
(Solaris) for it, then use it in libgstrtsp.
Original commit message from CVS:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/interfaces/interfaces-marshal.list:
* gst-libs/gst/interfaces/rtspextension.c:
* gst-libs/gst/interfaces/rtspextension.h:
* gst-libs/gst/rtsp/Makefile.am:
* gst-libs/gst/rtsp/gstrtsp.h:
* gst-libs/gst/rtsp/gstrtspextension.c:
(gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init),
(gst_rtsp_extension_detect_server),
(gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send),
(gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media),
(gst_rtsp_extension_configure_stream),
(gst_rtsp_extension_get_transports),
(gst_rtsp_extension_stream_select), (gst_rtsp_extension_send):
* gst-libs/gst/rtsp/gstrtspextension.h:
* gst-libs/gst/rtsp/rtsp-marshal.list:
Move the rtspextension.h interface into gstrtspextension.h
as part of libgstrtsp instead of libgstinterfaces, because it's
only for use within plugins, not applications.
Add stuff to do the enum & marshal generation needed in libgstrtsp now.
Use the GST_TYPE_RTSP_RESULT enum type for the return value of the
signal that the GstRTSPExtension interface emits, since G_TYPE_ENUM
is abstract.