gstreamermm
1.10.0
|
Discoverer - Utility for discovering information on URIs. More...
#include <gstreamermm/discoverer.h>
Inherits Object.
Public Member Functions | |
Discoverer (Discoverer&& src) noexcept | |
Discoverer& | operator= (Discoverer&& src) noexcept |
~Discoverer () noexcept override | |
GstDiscoverer* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstDiscoverer* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstDiscoverer* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
void | start () |
Allow asynchronous discovering of URIs to take place. More... | |
void | stop () |
Stop the discovery of any pending URIs and clears the list of pending URIS (if any). More... | |
Glib::RefPtr< Gst::DiscovererInfo > | discover_uri (const Glib::ustring& uri) |
Synchronously discovers the given uri. More... | |
bool | discover_uri_async (const Glib::ustring& uri) |
Appends the given uri to the list of URIs to discoverer. More... | |
Glib::PropertyProxy< guint64 > | property_timeout () |
Timeout. More... | |
Glib::PropertyProxy_ReadOnly< guint64 > | property_timeout () const |
Timeout. More... | |
Glib::SignalProxy< void, const Glib::RefPtr< Gst::DiscovererInfo >&, const Glib::Error&> | signal_discovered () |
Glib::SignalProxy< void > | signal_finished () |
Glib::SignalProxy< void > | signal_starting () |
Glib::SignalProxy< void, const Glib::RefPtr< Gst::Element >&> | signal_source_setup () |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static Glib::RefPtr< Discoverer > | create (ClockTime timeout) |
Creates a new Gst::Discoverer with the provided timeout. More... | |
Protected Member Functions | |
Discoverer (ClockTime timeout) | |
virtual void | on_discovered (const Glib::RefPtr< Gst::DiscovererInfo >& info, const Glib::Error& error) |
This is a default handler for the signal signal_discovered(). More... | |
virtual void | on_finished () |
This is a default handler for the signal signal_finished(). More... | |
virtual void | on_starting () |
This is a default handler for the signal signal_starting(). More... | |
virtual void | on_source_setup (const Glib::RefPtr< Gst::Element >& source) |
This is a default handler for the signal signal_source_setup(). More... | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr< Gst::Discoverer > | wrap (GstDiscoverer* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
Discoverer - Utility for discovering information on URIs.
The Discoverer is a utility object which allows to get as much information as possible from one or many URIs.
It provides two APIs, allowing usage in blocking or non-blocking mode.
The blocking mode just requires calling discover_uri() with the URI one wishes to discover.
The non-blocking mode requires a running Glib::MainLoop iterating a Glib::MainContext, where one connects to the various signals, appends the URIs to be processed (through discover_uri_async()) and then asks for the discovery to begin (through start()). By default this will use the GLib default main context unless you have set a custom context using Glib::MainContext::push_thread_default().
All the information is returned in a DiscovererInfo structure.
Last reviewed on 2016-05-18 (1.8.0)
|
noexcept |
|
overridenoexcept |
|
explicitprotected |
|
static |
Creates a new Gst::Discoverer with the provided timeout.
timeout | Timeout per file, in nanoseconds. Allowed are values between one second (Gst::SECOND) and one hour (3600* Gst::SECOND). |
err | A pointer to a Error. can be nullptr . |
nullptr
will be returned. If err is set, the caller must free it when no longer needed using Glib::error_free(). Glib::RefPtr<Gst::DiscovererInfo> Gst::Discoverer::discover_uri | ( | const Glib::ustring & | uri | ) |
Synchronously discovers the given uri.
uri | The URI to run on. |
If | an error occurred, this field will be filled in. |
nullptr
if an error occurred. bool Gst::Discoverer::discover_uri_async | ( | const Glib::ustring & | uri | ) |
Appends the given uri to the list of URIs to discoverer.
The actual discovery of the uri will only take place if start() has been called.
uri | The URI to add. |
true
if the uri was successfully appended to the list of pending uris, else false
.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
GstDiscoverer* Gst::Discoverer::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
|
protectedvirtual |
This is a default handler for the signal signal_discovered().
|
protectedvirtual |
This is a default handler for the signal signal_finished().
|
protectedvirtual |
This is a default handler for the signal signal_source_setup().
|
protectedvirtual |
This is a default handler for the signal signal_starting().
|
noexcept |
Glib::PropertyProxy< guint64 > Gst::Discoverer::property_timeout | ( | ) |
Timeout.
Glib::PropertyProxy_ReadOnly< guint64 > Gst::Discoverer::property_timeout | ( | ) | const |
Timeout.
Glib::SignalProxy< void,const Glib::RefPtr<Gst::DiscovererInfo>&,const Glib::Error& > Gst::Discoverer::signal_discovered | ( | ) |
void on_my_discovered(const Glib::RefPtr<Gst::DiscovererInfo>& info, const Glib::Error& error)
Will be emitted in async mode when all information on a URI could be discovered, or an error occurred.
When an error occurs, info might still contain some partial information, depending on the circumstances of the error.
info | The results Gst::DiscovererInfo. |
Glib::SignalProxy< void > Gst::Discoverer::signal_finished | ( | ) |
void on_my_finished()
Will be emitted in async mode when all pending URIs have been processed.
Glib::SignalProxy< void,const Glib::RefPtr<Gst::Element>& > Gst::Discoverer::signal_source_setup | ( | ) |
void on_my_source_setup(const Glib::RefPtr<Gst::Element>& source)
This signal is emitted after the source element has been created for, so the URI being discovered, so it can be configured by setting additional properties (e.g. set a proxy server for an http source, or set the device and read speed for an audio cd source).
This signal is usually emitted from the context of a GStreamer streaming thread.
source | Source element. |
Glib::SignalProxy< void > Gst::Discoverer::signal_starting | ( | ) |
void on_my_starting()
Will be emitted when the discover starts analyzing the pending URIs
void Gst::Discoverer::start | ( | ) |
Allow asynchronous discovering of URIs to take place.
A MainLoop must be available for Gst::Discoverer to properly work in asynchronous mode.
void Gst::Discoverer::stop | ( | ) |
Stop the discovery of any pending URIs and clears the list of pending URIS (if any).
|
related |
A Glib::wrap() method for this object.
object | The C instance. |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |