mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-01 14:11:15 +00:00
065f1603b0
Caps description and missing plugin code does not really need caps to be fixed, and indeed they may not be if giving encodebin unfixed caps that correspond to an unknown encoder or muxer. So we relax the check, and allow unfixed caps if all the structures refer to the same media type.
110 lines
2.5 KiB
C
110 lines
2.5 KiB
C
/* GStreamer
|
|
* Copyright (C) 2010 Edward Hervey <edward.hervey@collabora.co.uk>
|
|
* 2010 Nokia Corporation
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
struct _GstDiscovererStreamInfo {
|
|
GObject parent;
|
|
|
|
GstDiscovererStreamInfo *previous; /* NULL for starting points */
|
|
GstDiscovererStreamInfo *next; /* NULL for containers */
|
|
|
|
GstCaps *caps;
|
|
GstTagList *tags;
|
|
GstToc *toc;
|
|
gchar *stream_id;
|
|
GstStructure *misc;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
struct _GstDiscovererContainerInfo {
|
|
GstDiscovererStreamInfo parent;
|
|
|
|
GList *streams;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
struct _GstDiscovererAudioInfo {
|
|
GstDiscovererStreamInfo parent;
|
|
|
|
guint channels;
|
|
guint sample_rate;
|
|
guint depth;
|
|
|
|
guint bitrate;
|
|
guint max_bitrate;
|
|
|
|
gchar *language;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
struct _GstDiscovererVideoInfo {
|
|
GstDiscovererStreamInfo parent;
|
|
|
|
guint width;
|
|
guint height;
|
|
guint depth;
|
|
guint framerate_num;
|
|
guint framerate_denom;
|
|
guint par_num;
|
|
guint par_denom;
|
|
gboolean interlaced;
|
|
|
|
guint bitrate;
|
|
guint max_bitrate;
|
|
|
|
gboolean is_image;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
struct _GstDiscovererSubtitleInfo {
|
|
GstDiscovererStreamInfo parent;
|
|
|
|
gchar *language;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
struct _GstDiscovererInfo {
|
|
GObject parent;
|
|
|
|
gchar *uri;
|
|
GstDiscovererResult result;
|
|
|
|
/* Sub-streams */
|
|
GstDiscovererStreamInfo *stream_info;
|
|
GList *stream_list;
|
|
|
|
/* Stream global information */
|
|
GstClockTime duration;
|
|
GstStructure *misc;
|
|
GstTagList *tags;
|
|
GstToc *toc;
|
|
gboolean seekable;
|
|
|
|
gpointer _gst_reserved[GST_PADDING];
|
|
};
|
|
|
|
/* missing-plugins.c */
|
|
|
|
GstCaps *copy_and_clean_caps (const GstCaps * caps);
|
|
gboolean has_single_media_type (const GstCaps * caps);
|