Blame gst-libs/gst/pbutils/gstdiscoverer.h

Packit 971217
/* GStreamer
Packit 971217
 * Copyright (C) 2009 Edward Hervey <edward.hervey@collabora.co.uk>
Packit 971217
 *               2009 Nokia Corporation
Packit 971217
 *
Packit 971217
 * This library is free software; you can redistribute it and/or
Packit 971217
 * modify it under the terms of the GNU Library General Public
Packit 971217
 * License as published by the Free Software Foundation; either
Packit 971217
 * version 2 of the License, or (at your option) any later version.
Packit 971217
 *
Packit 971217
 * This library is distributed in the hope that it will be useful,
Packit 971217
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 971217
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 971217
 * Library General Public License for more details.
Packit 971217
 *
Packit 971217
 * You should have received a copy of the GNU Library General Public
Packit 971217
 * License along with this library; if not, write to the
Packit 971217
 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
Packit 971217
 * Boston, MA 02110-1301, USA.
Packit 971217
 */
Packit 971217
Packit 971217
#ifndef _GST_DISCOVERER_H_
Packit 971217
#define _GST_DISCOVERER_H_
Packit 971217
Packit 971217
#include <gst/gst.h>
Packit 971217
#include <gst/pbutils/pbutils-prelude.h>
Packit 971217
Packit 971217
G_BEGIN_DECLS
Packit 971217
Packit 971217
#define GST_TYPE_DISCOVERER_STREAM_INFO \
Packit 971217
  (gst_discoverer_stream_info_get_type ())
Packit 971217
#define GST_DISCOVERER_STREAM_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_STREAM_INFO, GstDiscovererStreamInfo))
Packit 971217
#define GST_IS_DISCOVERER_STREAM_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_STREAM_INFO))
Packit 971217
typedef struct _GstDiscovererStreamInfo GstDiscovererStreamInfo;
Packit 971217
typedef GObjectClass GstDiscovererStreamInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_stream_info_get_type (void);
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererStreamInfo:
Packit 971217
 *
Packit 971217
 * Base structure for information concerning a media stream. Depending on the
Packit 971217
 * stream type, one can find more media-specific information in
Packit 971217
 * #GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and
Packit 971217
 * #GstDiscovererContainerInfo.
Packit 971217
 *
Packit 971217
 * The #GstDiscovererStreamInfo represents the topology of the stream. Siblings
Packit 971217
 * can be iterated over with gst_discoverer_stream_info_get_next() and
Packit 971217
 * gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a
Packit 971217
 * stream can be accessed using the #GstDiscovererContainerInfo API.
Packit 971217
 *
Packit 971217
 * As a simple example, if you run #GstDiscoverer on an AVI file with one audio
Packit 971217
 * and one video stream, you will get a #GstDiscovererContainerInfo
Packit 971217
 * corresponding to the AVI container, which in turn will have a
Packit 971217
 * #GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream
Packit 971217
 * for the audio and video streams respectively.
Packit 971217
 */
Packit 971217
#define gst_discoverer_stream_info_ref(info) ((GstDiscovererStreamInfo*) g_object_ref((GObject*) info))
Packit 971217
#define gst_discoverer_stream_info_unref(info) (g_object_unref((GObject*) info))
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererStreamInfo* gst_discoverer_stream_info_get_previous(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererStreamInfo* gst_discoverer_stream_info_get_next(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstCaps*                 gst_discoverer_stream_info_get_caps(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstTagList*        gst_discoverer_stream_info_get_tags(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstToc*            gst_discoverer_stream_info_get_toc(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar*             gst_discoverer_stream_info_get_stream_id(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstStructure*      gst_discoverer_stream_info_get_misc(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar *            gst_discoverer_stream_info_get_stream_type_nick(GstDiscovererStreamInfo* info);
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererContainerInfo:
Packit 971217
 *
Packit 971217
 * #GstDiscovererStreamInfo specific to container streams.
Packit 971217
 */
Packit 971217
#define GST_TYPE_DISCOVERER_CONTAINER_INFO \
Packit 971217
  (gst_discoverer_container_info_get_type ())
Packit 971217
#define GST_DISCOVERER_CONTAINER_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_CONTAINER_INFO, GstDiscovererContainerInfo))
Packit 971217
#define GST_IS_DISCOVERER_CONTAINER_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_CONTAINER_INFO))
Packit 971217
typedef struct _GstDiscovererContainerInfo GstDiscovererContainerInfo;
Packit 971217
typedef GObjectClass GstDiscovererContainerInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_container_info_get_type (void);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *gst_discoverer_container_info_get_streams(GstDiscovererContainerInfo *info);
Packit 971217
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererAudioInfo:
Packit 971217
 *
Packit 971217
 * #GstDiscovererStreamInfo specific to audio streams.
Packit 971217
 */
Packit 971217
#define GST_TYPE_DISCOVERER_AUDIO_INFO \
Packit 971217
  (gst_discoverer_audio_info_get_type ())
Packit 971217
#define GST_DISCOVERER_AUDIO_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_AUDIO_INFO, GstDiscovererAudioInfo))
Packit 971217
#define GST_IS_DISCOVERER_AUDIO_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_AUDIO_INFO))
Packit 971217
typedef struct _GstDiscovererAudioInfo GstDiscovererAudioInfo;
Packit 971217
typedef GObjectClass GstDiscovererAudioInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_audio_info_get_type (void);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint gst_discoverer_audio_info_get_channels(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint64 gst_discoverer_audio_info_get_channel_mask(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint gst_discoverer_audio_info_get_sample_rate(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint gst_discoverer_audio_info_get_depth(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint gst_discoverer_audio_info_get_bitrate(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint gst_discoverer_audio_info_get_max_bitrate(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar * gst_discoverer_audio_info_get_language(const GstDiscovererAudioInfo* info);
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererVideoInfo:
Packit 971217
 *
Packit 971217
 * #GstDiscovererStreamInfo specific to video streams (this includes images).
Packit 971217
 */
Packit 971217
#define GST_TYPE_DISCOVERER_VIDEO_INFO \
Packit 971217
  (gst_discoverer_video_info_get_type ())
Packit 971217
#define GST_DISCOVERER_VIDEO_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_VIDEO_INFO, GstDiscovererVideoInfo))
Packit 971217
#define GST_IS_DISCOVERER_VIDEO_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_VIDEO_INFO))
Packit 971217
typedef struct _GstDiscovererVideoInfo GstDiscovererVideoInfo;
Packit 971217
typedef GObjectClass GstDiscovererVideoInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_video_info_get_type (void);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_width(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_height(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_depth(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_framerate_num(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_framerate_denom(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_par_num(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_par_denom(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
gboolean        gst_discoverer_video_info_is_interlaced(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_bitrate(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
guint           gst_discoverer_video_info_get_max_bitrate(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
gboolean        gst_discoverer_video_info_is_image(const GstDiscovererVideoInfo* info);
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererSubtitleInfo:
Packit 971217
 *
Packit 971217
 * #GstDiscovererStreamInfo specific to subtitle streams (this includes text and
Packit 971217
 * image based ones).
Packit 971217
 */
Packit 971217
#define GST_TYPE_DISCOVERER_SUBTITLE_INFO \
Packit 971217
  (gst_discoverer_subtitle_info_get_type ())
Packit 971217
#define GST_DISCOVERER_SUBTITLE_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_SUBTITLE_INFO, GstDiscovererSubtitleInfo))
Packit 971217
#define GST_IS_DISCOVERER_SUBTITLE_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_SUBTITLE_INFO))
Packit 971217
typedef struct _GstDiscovererSubtitleInfo GstDiscovererSubtitleInfo;
Packit 971217
typedef GObjectClass GstDiscovererSubtitleInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_subtitle_info_get_type (void);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar *   gst_discoverer_subtitle_info_get_language(const GstDiscovererSubtitleInfo* info);
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererResult:
Packit 971217
 * @GST_DISCOVERER_OK: The discovery was successful
Packit 971217
 * @GST_DISCOVERER_URI_INVALID: the URI is invalid
Packit 971217
 * @GST_DISCOVERER_ERROR: an error happened and the GError is set
Packit 971217
 * @GST_DISCOVERER_TIMEOUT: the discovery timed-out
Packit 971217
 * @GST_DISCOVERER_BUSY: the discoverer was already discovering a file
Packit 971217
 * @GST_DISCOVERER_MISSING_PLUGINS: Some plugins are missing for full discovery
Packit 971217
 *
Packit 971217
 * Result values for the discovery process.
Packit 971217
 */
Packit 971217
typedef enum {
Packit 971217
  GST_DISCOVERER_OK               = 0,
Packit 971217
  GST_DISCOVERER_URI_INVALID      = 1,
Packit 971217
  GST_DISCOVERER_ERROR            = 2,
Packit 971217
  GST_DISCOVERER_TIMEOUT          = 3,
Packit 971217
  GST_DISCOVERER_BUSY             = 4,
Packit 971217
  GST_DISCOVERER_MISSING_PLUGINS  = 5
Packit 971217
} GstDiscovererResult;
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererSerializeFlags:
Packit 971217
 * @GST_DISCOVERER_SERIALIZE_BASIC: Serialize only basic information, excluding
Packit 971217
 * caps, tags and miscellaneous information
Packit 971217
 * @GST_DISCOVERER_SERIALIZE_CAPS: Serialize the caps for each stream
Packit 971217
 * @GST_DISCOVERER_SERIALIZE_TAGS: Serialize the tags for each stream
Packit 971217
 * @GST_DISCOVERER_SERIALIZE_MISC: Serialize miscellaneous information for each stream
Packit 971217
 * @GST_DISCOVERER_SERIALIZE_ALL: Serialize all the available info, including
Packit 971217
 * caps, tags and miscellaneous information
Packit 971217
 *
Packit 971217
 * You can use these flags to control what is serialized by
Packit 971217
 * gst_discoverer_info_to_variant()
Packit 971217
 *
Packit 971217
 * Since: 1.6
Packit 971217
 */
Packit 971217
Packit 971217
typedef enum {
Packit 971217
  GST_DISCOVERER_SERIALIZE_BASIC = 0,
Packit 971217
  GST_DISCOVERER_SERIALIZE_CAPS  = 1 << 0,
Packit 971217
  GST_DISCOVERER_SERIALIZE_TAGS  = 1 << 1,
Packit 971217
  GST_DISCOVERER_SERIALIZE_MISC  = 1 << 2,
Packit 971217
  GST_DISCOVERER_SERIALIZE_ALL   = GST_DISCOVERER_SERIALIZE_CAPS | GST_DISCOVERER_SERIALIZE_TAGS | GST_DISCOVERER_SERIALIZE_MISC
Packit 971217
} GstDiscovererSerializeFlags;
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscovererInfo:
Packit 971217
 *
Packit 971217
 * Structure containing the information of a URI analyzed by #GstDiscoverer.
Packit 971217
 */
Packit 971217
typedef struct _GstDiscovererInfo GstDiscovererInfo;
Packit 971217
Packit 971217
#define GST_TYPE_DISCOVERER_INFO \
Packit 971217
  (gst_discoverer_info_get_type ())
Packit 971217
#define GST_DISCOVERER_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER_INFO, GstDiscovererInfo))
Packit 971217
#define GST_IS_DISCOVERER_INFO(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER_INFO))
Packit 971217
typedef GObjectClass GstDiscovererInfoClass;
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType gst_discoverer_info_get_type (void);
Packit 971217
Packit 971217
#define gst_discoverer_info_unref(info) (g_object_unref((GObject*)info))
Packit 971217
#define gst_discoverer_info_ref(info) (g_object_ref((GObject*)info))
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererInfo*        gst_discoverer_info_copy (GstDiscovererInfo * ptr);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar*              gst_discoverer_info_get_uri(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererResult       gst_discoverer_info_get_result(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererStreamInfo*  gst_discoverer_info_get_stream_info(GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList*                    gst_discoverer_info_get_stream_list(GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstClockTime              gst_discoverer_info_get_duration(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
gboolean                  gst_discoverer_info_get_seekable(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
gboolean                  gst_discoverer_info_get_live(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstStructure*       gst_discoverer_info_get_misc(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstTagList*         gst_discoverer_info_get_tags(const GstDiscovererInfo* info); 
Packit 971217
GST_PBUTILS_API
Packit 971217
const GstToc*             gst_discoverer_info_get_toc(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
const gchar**             gst_discoverer_info_get_missing_elements_installer_details(const GstDiscovererInfo* info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *                   gst_discoverer_info_get_streams (GstDiscovererInfo *info,
Packit 971217
							   GType streamtype);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *                   gst_discoverer_info_get_audio_streams (GstDiscovererInfo *info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *                   gst_discoverer_info_get_video_streams (GstDiscovererInfo *info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *                   gst_discoverer_info_get_subtitle_streams (GstDiscovererInfo *info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GList *                   gst_discoverer_info_get_container_streams (GstDiscovererInfo *info);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GVariant *                gst_discoverer_info_to_variant (GstDiscovererInfo *info,
Packit 971217
                                                          GstDiscovererSerializeFlags flags);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererInfo *       gst_discoverer_info_from_variant (GVariant *variant);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
void                      gst_discoverer_stream_info_list_free (GList *infos);
Packit 971217
Packit 971217
#define GST_TYPE_DISCOVERER \
Packit 971217
  (gst_discoverer_get_type())
Packit 971217
#define GST_DISCOVERER(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISCOVERER,GstDiscoverer))
Packit 971217
#define GST_DISCOVERER_CLASS(klass) \
Packit 971217
  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DISCOVERER,GstDiscovererClass))
Packit 971217
#define GST_IS_DISCOVERER(obj) \
Packit 971217
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISCOVERER))
Packit 971217
#define GST_IS_DISCOVERER_CLASS(klass) \
Packit 971217
  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DISCOVERER))
Packit 971217
Packit 971217
typedef struct _GstDiscoverer GstDiscoverer;
Packit 971217
typedef struct _GstDiscovererClass GstDiscovererClass;
Packit 971217
typedef struct _GstDiscovererPrivate GstDiscovererPrivate;
Packit 971217
Packit 971217
/**
Packit 971217
 * GstDiscoverer:
Packit 971217
 *
Packit 971217
 * The #GstDiscoverer structure.
Packit 971217
 **/
Packit 971217
struct _GstDiscoverer {
Packit 971217
  GObject parent;
Packit 971217
Packit 971217
  /*< private >*/
Packit 971217
  GstDiscovererPrivate *priv;
Packit 971217
Packit 971217
  gpointer _reserved[GST_PADDING];
Packit 971217
};
Packit 971217
Packit 971217
struct _GstDiscovererClass {
Packit 971217
  GObjectClass parentclass;
Packit 971217
Packit 971217
  /* signals */
Packit 971217
  void        (*finished)        (GstDiscoverer *discoverer);
Packit 971217
  void        (*starting)        (GstDiscoverer *discoverer);
Packit 971217
  void        (*discovered)      (GstDiscoverer *discoverer,
Packit 971217
                                  GstDiscovererInfo *info,
Packit 971217
				  const GError *err);
Packit 971217
  void        (*source_setup)    (GstDiscoverer *discoverer,
Packit 971217
                                  GstElement *source);
Packit 971217
Packit 971217
  gpointer _reserved[GST_PADDING];
Packit 971217
};
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GType          gst_discoverer_get_type (void);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscoverer *gst_discoverer_new (GstClockTime timeout, GError **err);
Packit 971217
Packit 971217
/* Asynchronous API */
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
void           gst_discoverer_start (GstDiscoverer *discoverer);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
void           gst_discoverer_stop (GstDiscoverer *discoverer);
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
gboolean       gst_discoverer_discover_uri_async (GstDiscoverer *discoverer,
Packit 971217
						  const gchar *uri);
Packit 971217
Packit 971217
/* Synchronous API */
Packit 971217
Packit 971217
GST_PBUTILS_API
Packit 971217
GstDiscovererInfo *
Packit 971217
gst_discoverer_discover_uri (GstDiscoverer * discoverer,
Packit 971217
			     const gchar * uri,
Packit 971217
			     GError ** err);
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscoverer, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererAudioInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererContainerInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererStreamInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererSubtitleInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
Packit 971217
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDiscovererVideoInfo, gst_object_unref)
Packit 971217
#endif
Packit 971217
Packit 971217
G_END_DECLS
Packit 971217
Packit 971217
#endif /* _GST_DISCOVERER_H */